Архиватор - программа для архивирования файлов и создания архивов меньшего размера по отношению к исходному для более удобного хранения и переноса данных. Большинство архиваторов позволяют уменьшать размер файлов без потерь сжатия.
Для чего нужен архив?
Архив нужен, прежде всего, для экономии места на жестком диске и других носителях. При сжатии файлов архиватором происходит уменьшение размера файлов. Процент сжатия зависит от типа файлов. Архивы нужны для передачи по Интернету, тем самым экономя трафик и время передачи файла.
Что такое архиватор и зачем он нужен?
Архиватор - это программа для создания
архивов. Архивы предназначены для хранения данных в удобном и компактном виде. В качестве данных обычно выступают файлы и папки. Как правило, данные предварительно подвергаются процедуре сжатия или упаковки. Поэтому почти каждый архиватор одновременно является программой для сжатия данных. С другой стороны, любая программа для сжатия данных может рассматриваться как архиватор. Эффективность сжатия является важнейшей характеристикой архиваторов. От неё зависит размер создаваемых архивов. Чем меньше архив, тем меньше места требуется для хранения архива. Для передачи требуется меньшая пропускная способность канала передачи или затрачивается меньшее время. Преимущества архивов очевидны, если учесть, что данные уменьшаются в размере в несколько раз.
Сжатие данных используется очень широко. Можно сказать, почти везде. Например, документы PDF, как правило, содержат сжатую информацию. Довольно много исполняемых файлов EXE сжаты специальными упаковщиками. Всевозможные мультимедийные файлы (GIF, JPG, MP3, MPG) являются своеобразными архивами.
Основным недостатком архивов является невозможность прямого доступа к данным. Данные сначала необходимо извлечь из архива или распаковать. Операция распаковки, впрочем, как и упаковки, требует некоторых системных ресурсов. Это не мгновенная операция. Поэтому архивы в основном применяют со сравнительно редко используемыми данными. Например, для хранения резервных копий или установочных файлов.
В данный момент существует много архиваторов. Они имеют разную распространённость и эффективность. Некоторые интересные архиваторы не известны широкому кругу потенциальных пользователей. Особый интерес представляет оценка и сравнение эффективности сжатия популярных архиваторов: winrar, архиватор winzip и 7-zip.
Какие существуют архиваторы, и чем они отличаются?
Следует различать собственно программу-архиватор, формат архивов и методы сжатия. Даже один и тот же метод сжатия может иметь варианты реализации. Например, существует более десятка программ-архиваторов, которые могут создавать архивы в формате ZIP. В свою очередь, данные в формате ZIP могут быть сжаты различными методами: Deflate, Deflate64, BZip2. Метод Deflate имеет несколько реализаций с разной скоростью и степенью сжатия (разница порядка 5%). С помощью этого метода архиватор 7-zip позволяет создавать архивы в формате ZIP и 7Z.
Обычно архиваторы позволяют создавать архивы
в собственном эксклюзивном формате с использованием собственных оригинальных методов. Например, архиватор winrar позволяет создавать
архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора.
В простейшем случае архиватор позволяет только упаковать или распаковать один файл. Кроме собственно сжатия данных современные архиваторы обеспечивают некоторые дополнительные функции. Можно выделить некоторые основные:
Сжатие несколько файлов и целых директорий.
Создание самораспаковывающихся (SFX) архивов. То есть для распаковки архива программа-архиватор не требуется.
Изменение содержимого архива.
Шифрование содержимого архива.
Информация для восстановления архива при частичном повреждении и возможность восстановления повреждённых архивов.
Разбивка архива на несколько частей или томов.
Консольная версия программы для работы из командной строки.
Графическая (GUI) версия программы.
Стоит отметить что, несмотря на формальное наличие, реализация каждой дополнительной функции может быть выполнена на совершенно разном уровне.
Кроме различий в функциональности можно разбить архиваторы на две группы: асимметричные и симметричные. Асимметричные архиваторы требуют для операции распаковки значительно меньше времени и оперативной памяти, чем для операции упаковки. Это позволяет быстро получать содержимое архива на маломощных компьютерах. Симметричные архиваторы требуют для операций упаковки и распаковки одинаковое время и объём оперативной памяти. Использование таких архиваторов на широком парке компьютеров или для оперативного доступа к содержимому архива ограничено. Такой известный архиватор RAR в качестве основного использует асимметричный словарный метод сжатия, а для текстов может использовать симметричный PPM метод. Таким образом, распаковка архивов RAR, сжатых с максимальной степенью сжатия, может быть невозможна на компьютерах с ограниченным объёмом оперативной памяти. Все или почти все передовые архиваторы с высокой степенью сжатия являются симметричными.
Точной статистики по распространённости архиваторов у меня нет. Я выскажу свою субъективную точку зрения на основе личного опыта. Безусловно, самым распространённым архиватором является ZIP и его модификации. По своей распространённости он значительно превосходит ближайших конкурентов. Следом идут RAR и ACE. В последние годы встречается архиватор 7-zip. Других архиваторов и архивов лично я не встречал. Исключение составляют некогда популярные ARJ и LHA. В данный момент они не актуальны из-за очень низкой степени сжатия.
Несмотря на очень скромные данные о распространённости архиваторов их существует большое множество. Основная масса относится к категории экспериментальных и архиваторов с ограниченной функциональностью. Тем не менее, каждый их них позволяет выполнять собственно процедуру сжатия данных. Меньшая распространённость увеличивает вероятность ошибок в программе. К ним стоит относиться с некоторой осторожностью. Например, при проведении тестирования была найдена ошибка в архиваторе WinRK (PWCM), которую, однако, оперативно исправили.