Как происходит сжатие диска

Утилиты сжатия диска упаковывают все данные из раздела жесткого диска и хранят их в большом файле, именуемом файлом сжатого диска (compressed volume file, CVF).

CVF обычно хранится на отдельном виртуальном диске, который называется хост-диском (host drive). Драйвер, загружаемый до начала выполнения CONFIG.SYS, заставляет операционную систему воспринимать CVF в качестве жесткого диска.
Утилиты сжатия диска, как правило, используют метод сжатия LZW, в котором используется однопроходный алгоритм, пригодный для функционирования в реальном времени. Сжатие осуществляется путем кодирования информации таким образом, что файлы наиболее распространенных типов, встречающихся на жестком диске, удается разместить в меньшем пространстве. В процессе как сжатия, так и восстановления данных LZW динамически создает кодировочный справочник и корректирует свой алгоритм в процессе его выполнения, добиваясь максимального коэффициента сжатия.

На дисках, не подвергавшихся сжатию, минимальным выделяемым блоком является кластер. Размер кластера — число входящих в него 512-байт секторов — зависит от объема жесткого диска. Чем больше емкость жесткого диска, тем больше должен быть размер кластера. Это объясняется тем, что таблица распределения файлов (FAT) может содержать лишь 65 536 элементов, каждому из которых соответствует один кластер. 4-Кбайт кластер состоит из восьми секторов и может адресовать дисковое пространство, равное произведению чисел 4096 (4 Кбайт) и 65 536, или 256 Мбайт. Таким образом, для диска объемом до 512 Мбайт требуются 8-Кбайт кластеры; для 1-Гбайт диска — 16-Кбайт кластеры; а для 2-Гбайт диска — 32-Кбайт кластеры. Даже если файл не заполняет весь последний кластер, выделяется целый кластер, а незанятое пространство пропадает впустую.

Другой способ, применяемый в утилитах сжатия для уплотнения данных на диске, состоит в распределении дискового пространства не кластерами, а секторами или более мелкими блоками. Благодаря этому уменьшается объем неиспользуемого дискового пространства между файлами. В программе Stacker используются 16-байт блоки, в DriveSpace 2 — секторы (512-байт элементы), в DriveSpace 3 — 32-Кбайт кластеры. В дополнение к таблице распределения файлов CVF имеет некоторые специальные структуры для адресации блоков выделения, имеющих меньшие размеры, нежели кластеры.

www.derstein.ru

Январь 16, 2008 — Рубрика: Файлы
Метки: , ,
Реклама: управленческий консалтинг

Реклама: Важно! Мгмсу ординатура стоматология. Тут