Архиватор


Архиватор — программа, предназначенная для упаковки без потерь одного и более файлов в единый файл-архив или в серию архивов для удобства переноса и/или хранения данных. Распаковка архивов выполняется с помощью того же архиватора либо посредством сторонних совместимых утилит. Большинство современных архиваторов также выполняет сжатие упаковываемых в архив данных.

Простейшие архиваторы просто последовательно объединяют (упаковывают) содержимое файлов в архив, который, помимо файловых данных, содержит информацию об именах и размерах исходных файлов, чтобы можно было точно восстанавливать файлы в их первозданном виде. Поэтому большинство архиваторов также сохраняет метаданные файлов, предоставляемые операционной системой, такие как время создания и права доступа. Такую функциональность реализует tar — стандартный архиватор систем типа UNIX. Если необходимо уменьшить размер tar-архива, к нему применяют сжатие без потерь программами gzip, bzip2 и т. д. Большинство современных прикладных архиваторов использует сжатие при работе с настройками по умолчанию[1].

Многие архиваторы позволяют указывать дополнительные параметры, наиболее важные из которых влияют на степень и скорость сжатия. Эти характеристики — обратно зависимые величины. То есть, чем выше скорость упаковки, тем меньше степень сжатия, и наоборот. Что касается скорости распаковки, то в большинстве современных архиваторов применяются так называемые асимметричные алгоритмы сжатия, при которых скорость (и степень) упаковки практически не влияет на скорость распаковки, которая обычно гораздо выше.

Большинство архиваторов имеет функцию проверки целостности хранящихся в архиве данных. Для этого в архив при добавлении туда файлов вносится информация об их контрольных суммах. При распаковке (или тестировании) архива обязательно вычисляется контрольная сумма каждого извлекаемого файла, и, если она не совпадает с суммой, хранящейся в архиве, то выводится сообщение об ошибке. Таким образом, архиваторы предоставляют очень важную возможность, о которой многие даже не задумываются: гарантию целостности данных. Кроме того, некоторые архиваторы (например, RAR) имеют функции защиты архивов от физических повреждений или даже полной утери отдельных томов многотомных архивов, благодаря чему архив можно рассматривать не только как средство для хранения данных, но и для их восстановления в исходном виде в случае повреждений.