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

Автор работы: Пользователь скрыл имя, 27 Мая 2013 в 17:39, лекция

Краткое описание

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

Прикрепленные файлы: 1 файл

лекция по информатика.doc

— 67.00 Кб (Скачать документ)

ОБЩИЕ СВЕДЕНИЯ ОБ АРХИВАЦИИ ФАЙЛОВ

Понятие процесса архивации файлов

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

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

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

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

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

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

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

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

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

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

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

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

Основные  виды программ-архиваторов

В настоящее  время применяется несколько  десятков программ-архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить: ARJ, РКРАК, LHA, ICE, HYPER, ZIP, РАК, ZOO, EXPAND, разработанные за рубежом, а также AIN и RAR, разработанные в России. Обычно упаковка и распаковка файлов выполняются одной и той же программой, но в некоторых случаях это осуществляется разными программами, например, программа PKZIP производит упаковку файлов, a PKUNZIP — распаковку файлов.

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

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

Самораспаковывающийся архив получил название SFX-архив (SelF-eXtracting). Архивы такого типа в MS DOS обычно создаются в форме .ЕХЕ-файла.

Многие программы-архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые  предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы PKLITE, LZEXE, UNP.

Программа EXPAND, входящая в состав утилит операционной системы MS DOS и оболочки Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой Microsoft.

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

Способы управления программой-архиватором

Управление  программой-архиватором осуществляется одним из двух способов:

•              с помощью командной строки MS DOS, в которой формируется команда запуска, содержащая имя программы-архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов; подобное управление характерно для архиваторов ARJ, AIN, ZIP, РАК, LHA и др.;

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

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

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

1. Архиваторы MS DOS

1.1 Архиватор  ARJ

 

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

Получить справку  по ключам архиватора arj с помощью команд:

arj(обычная справка) 

arj /?(подробная  справка)

Arj имеет очень  большое число ключей. Можно автоматизировать  много действий -- создание резервной копии диска, архивирование начиная с какой-то даты, добавление к имени архива текущей даты (arh970821.arj), архивирование файла с конкретного места, несколько уровней сжатия и так далее. В версии 2.55 возможна работа с длинными именами.

Достоинства: очень  большое колличество ключей, что  дает возможность автоматизировать большое число функций. Защита архива от повреждений.

Недостатки: отсутствие диалогового режима, некоторое неудобства работы при наличии какого-то ключа в переменной окружения (ARJ_SW) и строке запуска - взаимное уничтожение.

1.2 PKZIP

 

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

pkzip - помещение  файлов в архив

pkunzip - извлечение  файлов из архива

zip2exe - создание  самораспаковывающегося архива

pkzipfix - восстановление  поврежденного архива.

Изучить справку по работе с архиватором pkzip с помощью команд:

pkzip /h

pkunzip /h

zip2exe /h

1.3 RAR

 

Архиватор RAR v2.50 для DOS - Интегрированная программа  управления архивами

RAR - это очень  мощное средство для создания  архивов и управления ими. Возможности  RAR:

Полноэкранный интерактивный интерфейс (отключаемый);

Поддержка мыши и меню;

Поддержка не-RAR архивов;

Стандартный интерфейс  командной строки;

Оригинальный  высокоэффективный алгоритм сжатия данных;

Специальный алгоритм для сжатия мультимедийных файлов;

Лучшая степень  упаковки, чем у аналогичных продуктов, за счет использования режима "непрерывного" сжатия;

Информация  об авторе архива (только в зарегистрированной версии);

Самораспаковывающиеся (SFX) обычные и многотомные архивы;

Восстановление  физически поврежденных архивов;

Язык программирования для инсталляционных SFX-архивов;

Блокировка, шифрование, список порядка файлов, метки томов  и др.

1.4 QUARK

 

Quark является архиватором  классического типа, использующим LZ77-алгоритм  для уплотнения исходных данных путем кодирования повторяющихся последовательностей байт (RSE-алгоритм) с последующим вторичным уплотнением сжатого потока кодами Хаффмана. Подобные методы используют все три лидера в области упаковки данных - архиваторы ARJ, LHA, PkZIP.

Тем не менее, Quark добивается лучших результатов в компактности данных при скорости лучшей чем LHA, не меньшей чем у ARJ и не сильно отличающейся от скорости PkZIP, при использовании им т.н. максимальной компрессии данных. Это обусловлено несколькими причинами:

1) Quark работает с плавающим размером окна от 32Kb до 64Kb (против фиксированных 16Kb у LHA, и 32Kb у PkZIP и ARJ).

2) Quark выполняет  оптимизацию Первого рода (оптимальность  адресов ссылок LZ77) и оптимизацию Второго рода (оптимальность ссылочного покрытия потока).

3) Quark использует  текстовую редукцию для текстовых  файлов.

4) Quark заносит  в архив минимум служебной  информации, не претендуя на иные аппаратные платформы и операционные системы.

1.5 GZIP

 

Gzip сокращает  размер заданных файлов используя  кодирование Зива-Лемеля (LZ77). Когда  возможно, каждый файл замещается  файлом с расширением '.gz', при этом сохраняются владелец, режимы, доступ и времена модификации (Другие расширения '-gz' для VMS, 'z' для MSDOS, OS/2, FAT и Atari). Если никаких файлов не указано или имя файла '-', то пакуется стандартный ввод и выдается на стандартный вывод. Gzip пытается паковать только обычные файлы, в частности GZip игнорирует символические ссылки.

Gzip использует  алгоритм Зива-Лемеля также как  Zip, PKZIP. Итоговый размер, полученного файла после сжатия, зависит от размера исходного файла и наличия в нем общих подстрок. Обычно, такой текст, как исходный код или английский текст сокращается на 60-70%. Паковка с использованием этого алгоритма обычно лучше, чем при использовании LZW (его использует Compress), кодирование Хаффмана (его использует Pack) или адаптированное кодирование Хаффмана (Compact).

Упаковка происходит независимо от того увеличился ли размер упакованного файл в сравнении с оригиналом или нет. Причина расширения - несколько байтов для заголовка Gzip файла, плюс 5 байтов для каждого 32К блока, или отношение расширения 0.015% от длины файла. Заметим, что фактическое число занятых на диске блоков уже никогда не возрастает. Gzip сохраняет режимы доступа, владельцев и время модификации файлов при упаковке и распаковке.

1.6 ARJZ

 

ARJZ (по воле  автора программы произносится  как "арж-зет") - это архиватор, основанный на известной программе ARJ Роберта Юнга. В отличие от таких современных средств архивирования, как RAR и UC2, ARJZ использует формат файлов, командную строку и опции, совместимые с одной из самых популярных программ сжатия данных, а это имеет свои преимущества. В частности:

1) Практически всё программное обеспечение, рассчитанное на вызов ARJ, будет работать так же и с программой ARJZ без всякой модификации. Например, не надо будет переписывать ни ARCVIEW, ни NC 4.0, ни DN, ни тех .BAT файлов, которые вы могли создать за время пользования ARJ'ем.

2) Для того, чтобы  использовать возможности ARJZ'а  при работе с вашими старыми архивами, вам совсем не нужно переархивировать их заново.

3) Вы так же  почти избавляетесь от необходимости  изучать новый архиватор. Зная, как запускается ARJ, вы знаете, как запускается ARJZ.

Информация о работе Архивация файлов