Kategoriak: All - алгоритм - место - данные - файлы

arabera Дмитрий Кузнецов 5 years ago

463

Архиваторы

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

Архиваторы

Архивация и архиваторы

Цели архивации

Распаковка сжатых файлов
Размещение 1 объемного файла на нескольких носителях, когда он не помещается на 1 носитель
Размещение данных на едином носителе
Сокращения объема файлов, пересылаемых по электронной почте
Высвобождения места на жестком диске компьютера

Архивация файлов

Сжатие информации
происходит за счет устранения избыточности различными способами
процесс преобразования информации, хранящийся в файле, к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения
Степень сжатия файлов

характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vо, выраженное в процентах

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

Программы – архиваторы

Примеры
WinAce 2.0

свежая версия старого архиватора, пополнившаяся очень интересными функциями и новым алгоритмом сжатия. Этот архиватор использует самый большой размер словаря для архивирования (4 Мб), что во многом объясняет его высокие результаты

WinRar

Обладая лучшими характеристиками он постепенно теснит другие форматы, но с авторитетом WinZip пока сладить не может. Удобный (русифицированный) интерфейс и достаточно высокая скорость работы в сочетании с низкими системными требованиями обещают WinRar хорошее будущее

WinZip

наиболее популярный архиватор, используемый в Интернете. Часто является бесплатным или входит еще в какую – нибудь программу в качестве бесплатного бонуса

Программы, осуществляющие упаковку и распаковку файлов

Типы архивов

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

Методы архивирования

Алгоритм Лемпеля-Зива
Классический алгоритм Лемпеля-Зива – LZ77, названный так по году своего опубликования. Он формулируется следующим образом : «если в более раннем тексте уже встречалась подобная последовательность байт, то в архивный файл записывается только ссылка на эту последовательность (смещение, длина), а не сам текст». Так фраза “КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ” [24] закодируется в последовательность “КОЛО(-4,3)_О(-6,4)_(-7,7)ЬНИ” [13]. Коэффициент сжатия - 54%. Аналогично сжимается изображение. Большие области одного цвета заменяются на ссылку: (цвет, длина)
Алгоритм Хаффмана
Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 1 байта, а для записи редких символов – более длинные, то суммарный объем файла уменьшится. Например буквы а,о,е,и – встречаются очень часто в русском тексте, объем каждой буквы равен 1 байт (8 бит), их можно заменить на цифры 0,1,2,3, которые можно разместить в 2-х битах. Т.е. коэффициент сжатия будет равен 25%