Работа архиваторов

2



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

Сжатие данных используется очень широко. Можно сказать, почти везде. Например, документы PDF, как правило, содержат сжатую информацию. Довольно много исполняемых файлов EXE сжаты специальными упаковщиками. Всевозможные мультимедийные файлы (GIF, JPG, MP3, MPG) являются своеобразными архивами.

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

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


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



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

Кодирование длин серий (RLE - сокращение от run-length encoding - кодирование длин серий)

Очень простой метод. Последовательная серия одинаковых элементов данных заменяется на два символа: элемент и число его повторений. Широко используется как дополнительный, так и промежуточный метод. В качестве самостоятельного метода применяется, например, в графическом формате BMP.

Словарный метод (LZ - сокращение от Lempel Ziv - имена авторов)

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

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

Энтропийный метод (Huffman - кодирование Хаффмена, Arithmetic coding - арифметическое кодирование).

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

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

Метод контекстного моделирования (CM - сокращение от context modeling - контекстное моделирование)

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

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

PPM (PPM - Prediction by Partial Matching - предсказание по частичному совпадению)

Это особый подвид контекстного моделирования. Предсказание выполняется на основании определенного количества предыдущих элементов данных. Основным параметром является порядок модели, который задает это количество элементов. Чем больше порядок модели, тем выше степень сжатия, но требуется больше оперативной памяти для хранения данных модели. Если оперативной памяти недостаточно, то такая модель с большим порядком показывает низкие результаты. Метод PPM особенно эффективен для сжатия текстовых данных.

Предварительные преобразования или фильтрация.

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

Метод сортировки блока данных (BWT - сокращение от Burrows Wheeler Transform - по имени авторов).

Это особый вид или группа преобразований, в основе которых лежит сортировка. Такому преобразованию можно подвергать почти любые данные. Сортировка производится над блоками, поэтому данные предварительно разбиваются на части. Основным параметром является размер блока, который подвергается сортировке. Для распаковки данных необходимо проделать почти те же действия, что и при упаковке. Поэтому скорость и требования к оперативной памяти почти одинаковы. Архиваторы, которые используют данный метод, обычно показывают высокую скорость и степень сжатия для текстовых данных.

Непрерывные блоки или непрерывный режим (Solid mode - непрерывный режим).

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

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

Сегментирование.

Во всех методах сжатия при изменении типа данных собственно сам переход кодируется очень плохо. Словарь становится не актуальным, модель настроена на другие данные. В этих случаях применяется сегментирование. Это предварительная разбивка на однородные части. Затем эти части кодируются по отдельности или группами.

Особо хочется подчеркнуть, что существует большое количество методов сжатия. Каждый метод обычно ориентирован на один вид или группу реальных данных. Хорошие результаты показывает комплексное использование методов. Более подробно с методами сжатия можно ознакомиться, например, на www.compression.ru.

На сегодняшний день программа WinRAR является признанным лидером среди архиваторов. Представляет собой 32-битную версию архиватора RAR для Windows. Программа WinRAR позволяет работу с файлами практически неограниченного размера. По заявлению разработчиков, поддерживаются файлы размером до 8,5 млн терабайт.

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

Архиватор WinRAR поддерживает работу практически со всеми типами популярных сегодня архивов (7Z, ACE, ARJ, BZ2, CAB, GZ, JAR, LZH, TAR, UUE, Z и ISO), создание архивов типа RAR и ZIP. Умеет создавать самораспаковывающиеся архивы типа SFX. Положительным моментом является также автоматическое распознавание формата и выбор оптимального метода сжатия. При создании многотомных архивов, размеры томов определяются не только автоматически, но и вручную. Это позволяет оптимальным образом использовать свободное место на носителе. Поддержка непрерывных архивов позволяет повысить степень сжатия на 10-50%.

Благодаря удобному интерфейсу, программа является легкой в использовании. Она доступна не только на традиционных русском, английском, украинском, но и на других языках мира. Используя 128-битный алгоритм кодирования и технологии заверения сигнатур, WinRAR надежно защищает ваши архивы при работе с ними в сети Интернет. В дополнение к перечисленным выше преимуществам, WinRAR имеет дополнительные возможности управления готовыми архивами. Разработаны версии WinRAR для различных операционных платформ: Windows Vista, другие версии Windows (32-разрядные), Pocket PC, Linux, FreeBSD, Mac OS X, MS DOS и OS/2.

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

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

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

Если на Вашем компьютере установлен упаковщик WinRAR и Вы откроете нажатием Enter архивный файл, то для обработки архива запустится программа WinRAR и раскроется её окно.

Курсор при этом попадёт в большое окно типа Просмотр списка, в котором будет отражено содержимое архива. Вы увидите все файлы и папки, упакованные в архиве. Перемещаться по архиву можно по правилам работы с Моим компьютером. Более того, мы можем выйти из текущего архива в родительскую папку и войти в любой другой архив, имеющийся на компьютере.

WinRAR имеет меню, в котором содержатся команды для работы с архивами. Но мы подробнее остановимся на более простом способе работы с упаковщиком WinRAR.

Работа с упаковщиком WinRAR через контекстное меню.

Когда мы устанавливаем на компьютере WinRAR, в контекстное меню внедряются некоторые команды этой программы. Это как раз и есть самые необходимые нам для обычной работы команды по созданию и распаковке архива.


Распаковка файлов



Допустим, курсор выделяет архив под названием Литература. rar, и мы вызываем контекстное меню нажатием комбинации Shift+F10. Мы найдём в контекстном меню 3 команды:

Извлечь файлы,

Извлечь в текущую папку,

Извлечь в Литература.

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

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

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

В любом случае, после извлечения файлов сам архив остаётся в неизменном виде.

Если у Вас установлена англоязычная версия программы WinRAR, то все команды и диалоговые окна будут представлены на английском языке.



Упаковка файлов и папок в общий архив



Если Вы хотите упаковать несколько файлов и папок в один общий архив, то предварительно их нужно выделить. Затем нужно вызвать контекстное меню комбинацией Shift+F10. Среди пунктов контекстного меню Вы найдёте две интересные нам команды архивации.

Вторая из команд автоматически создаст rar-архив и занесёт в него выделенные Вами файлы и папки. Если был выделен один файл или одна папка, то rar-архив получит имя этого файла или этой папки. Если было выделено несколько файлов и папок, то rar-архив получит имя текущей папки, в которой расположены все выделенные только что Вами объекты.

Первая же из команд в контекстном меню называется Добавить в архив. Она вызывает многостраничный диалог под названием Имя и параметры архива. Рассмотрим его чуть подробнее.

Всё самое главное находится в этом диалоге на вкладке Общие, куда мы сразу и попадём.

При открытии диалога курсор находится в строке редактирования с памятью под названием Имя архива. Понятно, что здесь мы можем сменить имя создаваемого архива.

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

Дальше мы попадём на группу радиокнопок под названием Формат архива. Здесь есть два варианта: rar-архив и zip-архив.

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

Следующим расположен очень интересный список под названием Разделить на тома размером (в байтах). Мы можем задать размер тома вручную или выбрать его из заготовленного списка. Здесь отражается очень важное свойство программы WinRAR. Она умеет разбивать архивный файл на несколько архивных файлов одинакового размера. Это позволяет разбить архив на куски, которые умещаются на дискете. Тогда Вы сможете унести в коробке дискет большой архивный файл. Честно говоря, с появлением Сидирайтеров и блоков флэш-памяти это свойство rar-архивов понемногу начинает утрачивать своё значение.

Из остальных флажков выделим только один. Он называется Создать SFX-архив. Вот это действительно важный флажок. Если его установить, WinRAR создаст самораспаковывающийся архив. Это значит, что вместо файла с расширением. RAR будет создан файл с расширением. EXE. А фактически в rar-архив встраивается программа по его распаковке. Запуск самораспаковывающегося архива на выполнение приводит к его распаковке. Это позволяет нам без труда распаковывать архив на компьютере, на котором не установлен соответствующий архиватор. По принципу самораспаковывающихся архивов устроены инсталляционные пакеты большинства приложений.

Если мы выберем создание самораспаковывающегося SFX-архива, то на вкладке Дополнительно активизируется кнопка Параметры SFX. Эта кнопка вызывает диалог, в котором можно задать путь для распаковки архива и установить, какие программы должны выполниться до и после распаковки архива. Практически - это возможность создать полноценный инсталляционный пакет. Представьте себе. Запущенный с компакт-диска самораспаковывающийся архив распаковывается на диск C:. После этого из вновь созданной папки запускается на выполнение программа, которая выполняет установку и настройку нашего пакета программ.

Пожалуй, это - всё, что нужно знать, чтобы начать уверенно и быстро работать с архивными данными.

Обзор урока.

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

Разные типы данных сжимаются разными программами по разным алгоритмам.

Универсальная программа для сжатия текстовых файлов и файлов программ - это WinRar. WinRAR умеет создавать самораспаковывающиеся и многотомные rar-архивы, а также обычные zip-архивы. Можно задавать путь для распаковки самораспаковывающегося архива.

Кроме того, WinRAR умеет распаковывать архивы многих других архиваторов.

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

Самый популярный формат сжатых графических изображений - это. GPEG. Для звука - это формат. MP3, а для видео - MP4.

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

Задания к уроку.

Установите на своём компьютере упаковщик данных WinRAR.

Создайте в корне диска D: или в каком-нибудь другом месте временную папку. Назовите её Литература. Скопируйте в эту папку несколько файлов и папок по Вашему усмотрению.

Выделите курсором папку Литература. Вызовите контекстное меню. Создайте архив Литература. rar, воспользовавшись командой Добавить в Литература. rar". Воспользовавшись диалогом свойств, сравните размеры папки Литература и архива Литература. rar.

Вызовите диалог создания архива для папки Литература, воспользовавшись командой Добавить в архив из контекстного меню. Исправьте имя архива с Литература на Библиотека. Измените формат архива с RAR на ZIP. После создания архива Библиотека. zip сравните его размер и размер архива Литература. rar.

Вызовите диалог свойств папки Литература. Запомните размер этой папки. Для папки Литература воспользуйтесь командой Добавить в архив из контекстного меню. В диалоге создания архива задайте размер тома так, чтобы архив состоял из двух или трёх частей. Не забывайте, что размер тома задаётся в байтах, а не в килобайтах. Установите флажок создания самораспаковывающегося архива. Особо любознательные могут в Свойствах SFX архива установить в качестве пути для распаковки корень диска C: \. Создайте многотомный самораспаковывающийся архив. Определите размер и название каждой из его частей. Сравните общий размер самораспаковывающегося архива и обычного rar-архива.

Создайте Новую папку и перенесите туда путём вырезания и вставки все созданные Вами архивы. Распакуйте архив Литература. rar командой Извлечь в Литература из контекстного меню. Распакуйте архив Библиотека. zip командой Извлечь в Библиотека из контекстного меню. Распакуйте самораспаковывающийся многотомный архив, запустив на выполнение файл Литература,part1. exe. Обследуйте Новую папку. Найдите три варианта восстановления папки Литература из трёх различных архивов.

Вызовите в явном виде программу WinRAR, открыв архив Литература. rar. Просмотрите содержимое архива при помощи курсорных клавиш. Оставаясь в окне программы WinRAR, выйдите за пределы архива Литература. rar при помощи клавиши BackSpace. Скопируйте в буфер обмена какой-нибудь файл или папку. Войдите вновь в архив Литература. rar, как входят в папку (Нажатием Enter), и вставьте вовнутрь архива скопированный файл или папку. Проверьте, что архив пополнился новым содержимым. Таким же образом вставьте в архив Литература. rar файл из какого-нибудь другого архива. Удалите какой-нибудь файл из архива Литература. rar, воспользовавшись меню Файл программы WinRAR или клавишей Del.



Список горячих клавиш к уроку



Горячие клавиши Windows

Shift+F10 - вызвать контекстное меню

Alt+Enter - вызвать диалог свойств

Горячие клавиши JAWS

Insert+Серый минус - Перейти к JAWS-курсору и совместить его с системным курсором.

Серый плюс - вернуться к системному курсору

Горячие клавиши WinRAR.

Control+C - скопировать объект в буфер обмена

Control+V - вставить объекты из буфера обмена в архив

WinRAR - это один из самых мощных и удобных архиваторов для Windows. Программа позволяет создавать архивы RAR практически любых размеров, содержащие неограниченное число файлов, поддерживает форматы RAR и ZIP, может выполнять все основные операции с форматами: 7Z, ACE, ARJ, BZ2, CAB, GZ, JAR, LZH, TAR, UUE, Z и ISO (CD-имиджи), а также умеет создавать самораспаковывающиеся архивы типа SFX. Архиватор WinRAR автоматически распознаёт формат данных и выбирает лучший метод сжатия.

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



Ключевые возможности WinRAR



WinRAR - это мощная утилита сжатия данных с дополнительными возможностями управления готовыми архивами.

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

WinRAR поддерживает все популярные форматы: RAR, ZIP, CAB, ARJ, LZH, ACE, TAR, GZip, UUE, ISO, BZIP2, Z и 7-Zip.

WinRAR идеально подходит для мультимедиа-данных, способен автоматически определять тип файлов и выбирать оптимальный метод компрессии.

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

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

WinRAR является условно-бесплатной программой (shareware), поэтому всегда есть возможность узнать преимущества WinRAR на практике (в течение 40 дней).

Лицензии WinRAR действительны для всех языков и операционных платформ.

Став пользователем WinRAR, в будущем вы получаете все обновления программы абсолютно бесплатно.