Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРИЯ-Архиваторы.doc
Скачиваний:
18
Добавлен:
03.11.2018
Размер:
1.31 Mб
Скачать

Лабораторная работа №8 Общие сведения об архивации файлов. Понятие процесса архивации файлов

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

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

Сжатие информации в файлах производится за счет устранения избыточности различными способами, например, за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде соответствующих символов и их коэффициента повторения (RLE алгоритм). Существует достаточно много обратимых методов сжатия данных, однако в их основе лежит сравнительно небольшое количество теоретических алгоритмов: алгоритм Хафмана, KWE (кодирование по ключевым словам), RLE (см. выше). На практике же применяются различные более сложные алгоритмы, основанные на комбинации нескольких теоретических методов. Общим принципом в работе таких «синтетических» алгоритмов является предварительный просмотр и анализ исходных данных для индивидуальной настройки алгоритма на особенности обрабатываемого материала.

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

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

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

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

Кс = Vс / V0 *100%

Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые фалы и файлы данных, для которых степень сжатия может достигать 5 – 40 %, меньше сжимаются файлы исполняемых программ и загрузочных модулей – 60 – 90%. Почти не сжимаются архивные фалы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.

Архивация (упаковка) – помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.

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

Программы, осуществляющие упаковку и распаковку файлов, называются архиваторами. «Классическими» форматами сжатия данных, широко используемыми в повседневной работе с компьютером, являются форматы ZIP и ARJ. В последнее время к ним добавился популярный формат RAR, возможно, благодаря программе архиватору WinRar, позволяющей создавать не только архивы RAR, но и ZIP.

К базовым функциям, которые выполняют большинство современных архиваторов, относятся:

  • извлечение файлов из архивов;

  • создание новых архивов;

  • добавление файлов в имеющийся архив;

  • создание самораспаковывающихся архивов;

  • создание многотомных архивов;

  • тестирование целостности структуры архивов;

  • полное или частичное восстановление поврежденных архивов;

  • защита архивов от просмотра и несанкционированной модификации.

К дополнительным функциям архиваторов относятся сервисные функции, делающие работу более удобной. Например:

  • просмотр файлов различных форматов без извлечения их из архива;

  • поиск файлов и данных внутри архива;

  • выбор и настройку коэффициента сжатия информации;

  • криптографическую защиту архивной информации.

Типы архивов

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

  • имя файла;

  • сведения о каталоге, в котором содержится файл;

  • дата и время последней модификации файла;

  • размер файла на диске и в архиве;

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

Самораспаковывающийся (SFX, от англ. SelF-eXtracting) архив — это архив, к которому присоединен исполнимый модуль, позволяющий извлекать файлы простым запуском архива как обычной программы. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. SFX-архивы, как и любые другие исполнимые файлы, обычно имеют расширение .EXE.

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

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

При создании многотомного архива в WinRar первый том в последовательности имеет обычное расширение .rar, а расширения последующих томов нумеруются как .r00, .r01, r02 и т.д. Тома могут быть также непрерывными и самораспаковывающимися. Первый самораспаковывающийся том имеет другое (т.е. не .rar) расширение, например, .exe для SFX-томов DOS или OS/2).

Для распаковки томов необходимо начинать извлечение с первого тома (с расширением .rar). Если тома находятся на несменном носителе (например, на жёстком диске), то сначала нужно записать все тома в одну папку.

Кроме создания вышеперечисленных типов архивов архиватор WinRar позволяет создавать еще и непрерывные (Solid) архивы.

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

  • обновление непрерывных архивов происходит медленнее, чем обычных;

  • зашифрованные непрерывные архивы невозможно изменять;

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

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

Непрерывные архивы лучше использовать в тех случаях, когда:

  • архив редко обновляется;

  • нет необходимости часто извлекать из архива один или несколько файлов;

  • степень сжатия важнее скорости сжатия.

Многотомные и самораспаковывающиеся архивы также могут быть непрерывными.