stringtranslate.com

Архиватор файлов

Архиватор файлов — это компьютерная программа, которая объединяет несколько файлов в один архивный файл или серию архивных файлов для более легкой транспортировки или хранения. Архиваторы файлов могут использовать сжатие данных без потерь в своих форматах архива для уменьшения размера архива.

Базовые архиваторы просто берут список файлов и последовательно объединяют их содержимое в архивы. Архивные файлы должны хранить метаданные, по крайней мере имена и длины исходных файлов, если возможна правильная реконструкция. Более продвинутые архиваторы хранят дополнительные метаданные, такие как исходные временные метки , атрибуты файлов или списки контроля доступа.

Процесс создания архивного файла называется архивированием или упаковкой . Восстановление исходных файлов из архива называется разархивированием , распаковкой или извлечением .

История

Ранним архиватором была команда Multics archive , произошедшая от команды CTSS с тем же названием, которая была базовым архиватором и не выполняла сжатия. У Multics также была команда "tape_archiver", сокращенно ta , которая, возможно, была предшественником команды Unix tar . [1]

Архиваторы Unix

Инструменты Unix ar , tar и cpio действуют как архиваторы, но не компрессоры. Пользователи инструментов Unix используют дополнительные инструменты сжатия, такие как gzip , bzip2 или xz , для сжатия файла архива после упаковки или снятия сжатия перед распаковкой файла архива. Расширения имен файлов последовательно добавляются на каждом этапе этого процесса. Например, архивация набора файлов с помощью tar и последующее сжатие полученного файла архива с помощью gzip приводит к созданию файла с .tar.gzрасширением.

Такой подход преследует две цели:

  1. Он следует философии Unix , что каждая программа должна выполнять одну задачу в совершенстве, а не пытаться выполнить все с помощью одного инструмента. По мере развития технологий сжатия пользователи могут использовать различные программы сжатия без необходимости изменять или отказываться от своего архиватора.
  2. Архивы используют сплошное сжатие . Когда файлы объединяются, компрессор может использовать избыточность в нескольких архивированных файлах и достигать лучшего сжатия, чем компрессор, который сжимает каждый файл по отдельности.

Однако этот подход имеет и недостатки:

  1. Извлечение или изменение одного файла — сложная задача. Извлечение одного файла требует распаковки всего архива, что может занять много времени и места. Изменение одного файла означает, что файл необходимо поместить обратно в архив, а архив снова сжать. Эта операция требует дополнительного времени и дискового пространства.
  2. Архив становится уязвимым к повреждениям. Если область, содержащая общие данные для нескольких файлов, повреждена, все эти файлы будут потеряны.
  3. Невозможно воспользоваться избыточностью между файлами, если окно сжатия не больше размера отдельного файла. Например, gzip использует DEFLATE , который обычно работает с окном размером 32768 байт, тогда как bzip2 использует преобразование Барроуза–Уиллера примерно в 27 раз больше. xz по умолчанию имеет размер 8 МБ, но поддерживает значительно большие окна.

Архиваторы Windows

Встроенный архиватор Microsoft Windows , а также стороннее программное обеспечение для архивации, такое как WinRAR и 7-zip , часто используют графический пользовательский интерфейс . Они также предлагают дополнительный интерфейс командной строки , в то время как сама Windows его не предлагает. Архиваторы Windows выполняют как архивацию, так и сжатие. Сплошное сжатие может быть предложено или нет, в зависимости от продукта: сама Windows его не поддерживает; WinRAR и 7-zip предлагают его как опцию, которую можно включить или выключить.

Смотрите также

Ссылки

  1. ^ Ван Флек, Том. "Multics Glossary - A". multicians.org . Получено 6 января 2016 г. .