Одним из наиболее широко распространенных видов сервисных программ являются программы, предназначенные для архивации, упаковки файлов путем сжатия хранимой в них информации.
Сжатие информации– это процесс преобразования информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения.
Сжатие информации в файлах производится за счет устранения избыточности различными способами, например, за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде соответствующих символов и их коэффициента повторения (RLE алгоритм). Существует достаточно много обратимых методов сжатия данных, однако в их основе лежит сравнительно небольшое количество теоретических алгоритмов: алгоритм Хафмана, KWE (кодирование по ключевым словам), RLE (см. выше). На практике же применяются различные более сложные алгоритмы, основанные на комбинации нескольких теоретических методов. Общим принципом в работе таких «синтетических» алгоритмов является предварительный просмотр и анализ исходных данных для индивидуальной настройки алгоритма на особенности обрабатываемого материала.
Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.
Архивный файл– это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде, из которого их можно извлечь в первоначальном виде. Архивный файл содержит оглавление, позволяющее узнать, какие файлы содержаться в архиве. В оглавлении архива для каждого содержащегося в нем файла хранится следующая информация: имя файла; сведения о каталоге, в котором содержится файл; дата и время создания или последней модификации файла; размер файла исходный и в архиве; код циклического контроля, используемый для проверки целостности архива.
Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа, способствует защите от заражения компьютерными вирусами.
Степень сжатия файлов характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vс к объему исходного файла V0, выраженное в процентах:
Кс = Vс / V0 *100%
Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые фалы и файлы данных, для которых степень сжатия может достигать 5 – 40 %, меньше сжимаются файлы исполняемых программ и загрузочных модулей – 60 – 90%. Почти не сжимаются архивные фалы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.
Архивация (упаковка) – помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.
Разархивация (распаковка) – процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помещаются на диск или в оперативную память.
Программы, осуществляющие упаковку и распаковку файлов, называются архиваторами. «Классическими» форматами сжатия данных, широко используемыми в повседневной работе с компьютером, являются форматы ZIP и ARJ. В последнее время к ним добавился популярный формат RAR, возможно, благодаря программе архиватору WinRar, позволяющей создавать не только архивы RAR, но и ZIP.
К базовым функциям, которые выполняют большинство современных архиваторов, относятся:
- извлечение файлов из архивов;
- создание новых архивов;
- добавление файлов в имеющийся архив;
- создание самораспаковывающихся архивов;
- создание многотомных архивов;
- тестирование целостности структуры архивов;
- полное или частичное восстановление поврежденных архивов;
- защита архивов от просмотра и несанкционированной модификации.
К дополнительным функциям архиваторов относятся сервисные функции, делающие работу более удобной. Например:
- просмотр файлов различных форматов без извлечения их из архива;
- поиск файлов и данных внутри архива;
- выбор и настройку коэффициента сжатия информации;