Открыть сервис

Архивация

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

История

Понятие архивации возникло задолго до появления электронно-вычислительных машин. В традиционном делопроизводстве архивация означала систематизацию, описание и перемещение бумажных документов в архивное хранилище. С развитием компьютерных технологий в середине XX века возникла необходимость в цифровой архивации.

Первые программы для сжатия данных появились в 1970-х годах. Одним из пионеров стал алгоритм LZ77 (1977), разработанный Абрахамом Лемпелем и Якобом Зивом. На его основе были созданы многие последующие форматы. В 1985 году Филом Кацем был выпущен архиватор PKARC, а в 1987 году — PKZIP, который популяризировал формат ZIP. В 1990-х годах широкое распространение получил формат RAR, созданный российским программистом Евгением Рошалем. В 2000-х годах появились форматы 7z (с открытым исходным кодом) и TAR (преимущественно в Unix-системах).

Основные принципы

Архивация основывается на двух ключевых процессах: сжатие данных и упаковка.

Сжатие данных

Сжатие данных — это преобразование исходной последовательности битов в более короткую последовательность. Существуют два основных типа сжатия:

Упаковка

Упаковка — это объединение нескольких файлов и папок в один файл-архив с сохранением структуры каталогов, атрибутов файлов (дата создания, права доступа) и метаданных. Упаковка может происходить как со сжатием, так и без него (например, формат TAR).

Форматы архивов

Существует множество форматов архивов, различающихся алгоритмами сжатия, поддерживаемыми функциями и распространённостью.

ФорматАлгоритм сжатияОсобенностиРаспространение
ZIPDeflate, BZIP2, LZMAНаиболее распространённый; поддержка шифрования AES; совместимость со всеми ОСУниверсальный
RARRAR (собственный)Поддержка многотомных архивов; восстановление повреждённых данных; шифрование AES-256Windows, macOS, Linux (через сторонние утилиты)
7zLZMA, LZMA2, PPMd, BZIP2Высокая степень сжатия; открытый исходный код; поддержка шифрования AES-256Кроссплатформенный
TARНет (только упаковка)Сохраняет права доступа и метаданные Unix; часто используется с gzip (tar.gz) или bzip2 (tar.bz2)Unix-подобные системы
GZIPDeflateОднопоточное сжатие одного файла; часто используется с TARUnix-подобные системы
BZIP2BWT (Burrows-Wheeler)Более высокая степень сжатия, чем GZIP, но медленнееUnix-подобные системы
LZMALZMAВысокая степень сжатия; используется в 7z, XZКроссплатформенный
XZLZMA2Высокая степень сжатия; поддержка многопоточностиUnix-подобные системы
ISOНетОбраз оптического диска; может содержать сжатиеУниверсальный
CABMicrosoftИспользуется в установщиках WindowsWindows

Программное обеспечение

Для создания и распаковки архивов используются специализированные программы — архиваторы. Они делятся на два основных типа: файловые менеджеры с функциями архивации и отдельные утилиты.

Популярные архиваторы

Применение

Архивация широко используется в различных сферах:

Методы сжатия

Алгоритмы без потерь

Коэффициент сжатия

Коэффициент сжатия — отношение размера исходных данных к размеру сжатых. Зависит от типа данных и алгоритма. Текстовые файлы сжимаются в 2–5 раз, программы — в 1,5–3 раза, изображения в формате BMP — в 5–10 раз, мультимедийные файлы (JPEG, MP3) практически не сжимаются без потерь.

Безопасность и шифрование

Многие современные архиваторы поддерживают шифрование архивов с использованием симметричных алгоритмов, таких как AES (Advanced Encryption Standard) с длиной ключа 128, 192 или 256 бит. Шифрование позволяет защитить содержимое архива от несанкционированного доступа. Однако стойкость защиты зависит от сложности пароля.

Критика и ограничения

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →