- •Лабораторная работа № 2
- •Целевая установка лабораторной работы:
- •Содержание лабораторного занятия Вводная часть
- •Учебные вопросы Краткие теоретические или справочно-информационные материалы
- •1. Архивация файлов
- •Общие сведения об архивации
- •Обзор и характеристика архиваторов
- •Интерфейс программы-архиватора WinRar 4.00 ru
- •Интерфейс программы-архиватора 7-Zip File Manager 9.20
- •Содержание практической работы, выполняемой студентами в ходе занятия
- •3. Порядок выполнения работы
- •3.1. Исследование принципов работы архиватора WinRar
- •3.1.1. Запуск программы архиватора WinRar
- •3.1.2. Настройка параметров архивации программы WinRar
- •3.1.3. Архивация файлов в выбранной папке с помощью программы WinRar
- •3.1.4. Установка параметров защиты архива в WinRar
- •3.1.5. Изучение свойств файла-архива в WinRar
- •3.1.5. Восстановление архивированной информации в WinRar
- •4. Задания студентам для выполнения на занятии
- •5. Порядок оформления отчета о проделанной лабораторной работе
- •6. Контрольные вопросы для подготовки к защите отчета:
Учебные вопросы Краткие теоретические или справочно-информационные материалы
1. Архивация файлов
Общие сведения об архивации
Архивация файлов основана на сжатие данных (data compression), т.е. на алгоритмическом преобразовании данных, производимом с целью уменьшения их объёма путем устранения избыточности, содержащейся в исходных данных.
Простейшим примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности ссылкой на уже закодированный фрагмент с указанием его длины. Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других. Сокращение объёма данных достигается за счёт замены часто встречающихся данных короткими кодовыми словами, а редких – длинными (энтропийное кодирование).
Сжатие данных применяется для более рационального использования устройств хранения и передачи данных. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).
Архивный файл представляет собой набор из нескольких файлов (одного файла), помещенных в сжатом виде в единый файл, из которого их можно при необходимости извлечь в первоначальном виде. Архивный файл содержит оглавление, позволяющее узнать, какие файлы содержатся в архиве.
В оглавлении архива для каждого содержащегося в нем файла хранится следующая информация:
имя файла;
размер файла на диске и в архиве;
сведения о местонахождения файла на диске;
дата и время последней модификации файла;
код циклического контроля для файла, используемый для проверки целостности архива;
степень сжатия.
Для оценки степени сжатия информации используют количественный показатель коэффициент (процент) сжатия.
Коэффициент сжатия – основная характеристика алгоритма сжатия. Она определяется как отношение объёма исходных несжатых данных к объёму сжатых, то есть:
K = So / Sc,
где k – коэффициент сжатия, So – объём исходных данных, а Sс – объём сжатых данных. Таким образом, чем выше коэффициент сжатия, тем алгоритм эффективнее. Следует отметить:
если k = 1, то алгоритм не производит сжатия, то есть выходное сообщение оказывается по объёму равным входному;
если k < 1, то алгоритм порождает сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.
Любой из архивов имеет свою шкалу степени сжатия. Чаще всего можно встретить следующую градацию методов сжатия:
без сжатия (соответствует обычному копированию файлов в архив без сжатия)
скоростной;
быстрый (характеризуется самым быстрым, но наименее плотным сжатием);
обычный;
хороший;
максимальный (максимально возможное сжатие является одновременно и самым медленным методом сжатия).
Обзор и характеристика архиваторов
Архиваторы – это программы (комплекс программ) выполняющие сжатие и восстановление сжатых файлов в первоначальном виде. Процесс сжатия файлов называется архивированием. Процесс восстановления сжатых файлов – разархивированием.
Современные архиваторы (WinZip 10.0, WinAce 3.х, PowerArchiver v.9.х, 7-Zip 9.20, WinRAR 4.00 RU) отличаются используемыми алгоритмами, скоростью работы, степенью сжатия.
Другие названия архиваторов: утилиты – упаковщики, программы – упаковщики, служебные программы, позволяющие помещать копии файлов в сжатом виде в архивный файл.
При
богатом выборе программ-архиваторов
далеко не все из них работают действительно
эффективно. Рассмотрим наиболее
популярные архиваторы и дадим рекомендации
по их выбору.
Вначале расмотрим насколько эффективно сжимаются файлы различных форматов.
Очень хорошо архивируются графические файлы в формате *.bmp (на 80 – 85%) и документы MS Office (в среднем на 60%), немного хуже – Web-страницы (40--50%). Для исполняемых файлов этот показатель варьируется (~50% в зависимости от архиватора) и в большинстве случаев довольно низкий, так как они обычно уже сжаты программистами с помощью специальных утилит вроде UPX или ASPack. Архивирование практически не влияет на размер сжатых файлов (графические файлы в формате *.gif и*.jpg, DivX-фильмы, образы CD и т. д.).
Итак, реальный интерес для пользователя представляет компрессирование только офисных документов и сохраненных Web-страниц, а фильмы и фотоальбомы намного проще записать на CD/DVD – экономия времени и места на винчестере будет на два порядка выше, чем при попытке их заархивировать. Что же касается игровых демо-версий/программ, то лучший способ их хранения – в виде созданных разработчиками инсталляционных файлов, которые намного удобнее и практичнее, нежели самодельный архив, пусть даже и на 20% меньший по размеру.
Характеристика WinZip 10.0 Beta
Классический пример несоответствия "дутой" популярности и результативности работы. Несмотря на то что WinZip уже который год подряд – один из лидеров по количеству загрузок на сайте Download.com, программа архивирует хуже некуда и по всем параметрам является несомненным аутсайдером. Из немногочисленных плюсов этого архиватора следует отметить лишь довольно высокую скорость работы да просто невероятную популярность формата *.zip среди пользователей. Именно благодаря последнему WinZip де-факто стал стандартом в данной области, и на него равняются все другие архиваторы.
Новая, девятая по счету версия WinZip, находящаяся в состоянии перманентной беты, наконец-то обзавелась улучшенным алгоритмом сжатия enhanced deflate и новой, 128- и 256-битной технологией шифрования архивов. И если толку от первого маловато (выигрыш составляет считанные доли процента), то второе нововведение является огромным шагом вперед – предыдущая защита архивов Zip 2.0 "взламывалась" буквально с полпинка. Естественно, в обоих случаях на ПК адресата должна быть установлена 9-я версия WinZip либо последние обновления альтернативных архиваторов – ни о какой обратной совместимости речь уже не идет.
WinZip весьма ограничен в поддержке других форматов: кроме самого Zip, программа может распаковывать CAB, Microsoft Compress, GZip, TAR, UUencode, XXencode, BinHex и MIME, а после подключения внешних программ – еще и ARC, ARJ и LZH. Полностью (чтение и компрессия) поддерживается лишь Zip.
Великолепная интеграция этого архиватора с Windows заслуживает высших оценок, равно как и множество других функций вроде автоматической инсталляции ПО из архивов, проверки их на наличие вирусов с помощью любого установленного в системе антивируса и т. д. Однако все это не может "перекрыть" его недостатки - в частности, неэффективный алгоритм работы. Чего уж тут говорить, если даже программы от сторонних разработчиков, для которых Zip является отнюдь не основным форматом, зачастую архивируют в него лучше, чем сам WinZip!
Параметры, влияющие на качество сжатия. Для самого эффективного сжатия данных недостаточно выбрать в архиваторе лишь пункт меню "Максимальное". Существует еще много дополнительных параметров, которые иногда обеспечивают двукратный выигрыш в компрессии. Здесь мы рассмотрим их на примере одного из самых эффективных архиваторов - WinRar.
Характеристика WinAce 3.х
До выхода третьей версии WinRAR именно WinAce удерживал пальму первенства среди архиваторов по качеству сжатия данных. Набор функций в программе очень и очень неплох: полная поддержка ACE, ZIP, LHA, MS CAB, Java JAR, GZip, TAR, GZipped TAR и частичная (только распаковка) RAR, ARC, ARJ, BZip2 и ISO-образов. Кроме того, WinAce позволяет создавать многотомные архивы в форматах ACE, ZIP и CAB. Для улучшения сжатия графических и звуковых, равно как и исполняемых (*.ехе) файлов, в архиваторе реализованы дополнительные алгоритмы мультимедиакомпрессии, а для всех остальных типов данных – дельта-сжатие. Изюминкой этого архиватора является встроенный просмотрщик множества популярных форматов графических файлов, HTML-страниц и ASCII-файлов (в кодировке DOS). Естественно, поддерживаются и создание непрерывных архивов, что проявляется в дополнительной (до 50%!) экономии места, большой размер словаря (до 4 MB), проверка на целостность всех знакомых программе форматов, "ремонт" ACE и ZIP-архивов и многое другое. Кроме того, можно конвертировать архивы различных форматов в АСЕ для уменьшения их размера, а с помощью внешнего модуля SFX-Factory даже создавать инсталляции на их основе. Добавьте к этому отличную интеграцию WinAce с оболочкой Windows, автоматическую инсталляцию программ из архивов – и этот архиватор получает заслуженные 5 баллов. К сожалению, формат ACE мало распространен среди пользователей, и в ближайшее время ему не грозит стать "убийцей" ZIP, но у него еще все впереди.
Характеристика PowerArchiver v.9.х
Первое, что приходит в голову при знакомстве с этой программой: "Вот так и должен выглядеть WinZip!". PowerArchiver "знает" 17 различных форматов архивов, причем полностью (упаковка/распаковка) поддерживаются Zip, BH (BlackHole), Tar, Lha и Cab, распространенные в Internet форматы файлов UUencode, XXencode, Base64(MIME) и yENC, а остальные (RAR, Arj. Arc, Ace, Zoo, GZip, BZip2) могут только читаться/распаковываться. Встроенный вьювер позволяет "на лету" просматривать TXT, RTF и все популярные форматы графических файлов прямо в архиве, а менеджер FTP-соединений – тут же загружать скомпрессированные данные на FTP-серверы. Кроме того, Power-Archiver предлагает пользователю 5 различных методов шифрования особо секретных данных и новый алгоритм сжатия Deflate64, которым недавно обзавелся и WinZip 10.0.
Остальной набор функций стандартен: конвертирование различных архивов в Zip, Cab, Lha, BH и Tar (т. е. те, которые полностью поддерживаются программой), отличная интеграция с Windows, возможность создания многотомных Zip-архивов и множество других. Особой гордостью авторов программы является то, что она получила сертификат от Microsoft как ПО, оптимизированное под Windows XP, со всеми вытекающими отсюда "последствиями", а именно – поддержкой тем Windows XP и оболочки популярной программы для переделки интерфейса этой ОС, WindowBlinds. Да и сам PowerArchiver может похвастаться массой собственных скинов, призванных полностью изменить его внешний вид. Таким образом, программа оставляет приятное впечатление, но если бы ей еще поддержкой RAR обзавестись.
Характеристика WinRAR 4.00
Лучший архиватор для Windows не нуждается в особой рекламе – с такими потрясающими результатами работы популярность ему обеспечена. Итак, WinRAR позволяет распаковывать архивы CAB, ARJ, LZH, TAR, GZip, ACE, UUE, BZ2, JAR и ISO-образы, а компрессия данных возможна в форматы ZIP и RAR. Размер архивов практически не ограничен и составляет на сегодня 9000 петабайт (1018 байт) – напомним, что в WinZip он до недавнего времени был равен 4 GB. Кроме того, поддерживаются права доступа и потоки данных в файловой системе NTFS, что дополнительно улучшает процессы создания и распаковки архивов. Очень высокий выигрыш в размере (10 – 50%), особенно при архивировании большого количества малых файлов, получается при использовании опции создания непрерывных (solid) архивов; не последнюю роль в компрессии данных играет и большой размер словаря. Разумеется, присутствует и возможность создания многотомных, а также самораспаковывающихся архивов, защита их паролями, блокировка архивов для предотвращения их изменений в будущем и т. д. В новой версии программы появилась опция "проверить архив на вирусы". Ну а для новичков, делающих первые шаги в ознакомлении с программным обеспечением своего ПК, предназначен режим Wizard, с помощью которого буквально в одно касание производятся все операции над архивами.
Но этим отнюдь не ограничиваются все возможности WinRAR. За кадром остались конвертирование не-RAR архивов в RAR, проверка их на вероятные ошибки, широчайшие возможности консольной версии, местные аналоги папки Избранное, удобный интерфейс.
Характеристика 7-Zip 9.20
Этот малоизвестный архиватор от российских разработчиков стал самой приятной неожиданностью данного теста. Качество архивирования данных у собственного формата *.7z просто поражает: 7-Zip опережает даже WinRAR, что уж говорить о WinZip. Причиной тому – более совершенный алгоритм сжатия и практически неограниченный объем словаря (до 192 MB), которые благотворно влияют на эффективность компрессии данных. То же касается и архивирования в Zip, где 7-Zip снова проявил себя с лучшей стороны, иногда даже выигрывая у эталона (WinZip 9.0) на пару процентов. Неудивительно, что встроенный в программу бенчмарк (компьютерная программа, которая служит для сравнения производительности компьютеров или операционных систем) успешно используется многими независимыми тестовыми лабораториями для измерения производительности новых процессоров.
Правда, есть и обратная сторона медали – невероятно медленная работа 7-Zip, которая наверняка отпугнет от него многих пользователей. Не в последнюю очередь это обусловлено величиной словаря – чем он больше, тем выше требования программы к оперативной памяти ПК и процессору. Интерфейс у 7-Zip аскетичный, но особых нареканий не вызывает. Кроме Zip и 7z, полностью поддерживаются Tar, GZip, BZip2, а частично (только распаковка) -- RAR, Cab, Arj и др. К сожалению, данный архиватор пока не научился работать с многотомными архивами, да и с популярностью среди пользователей у него пока некоторые проблемы. С другой стороны, все это никак не мешает использовать программу по ее прямому назначению – сжатию больших объемов малоиспользуемых данных. И надо сказать, трудно найти архиватор, который лучше справится с этой задачей. Вот еще бы скорость работы увеличить.
Таблица 1.
Тип данных |
Скорость и процент сжатия в *.rar при различных параметрах компрессии* |
|||||||||
Непрерывный архив, словарь 4096 КБ |
Непрерывный архив, словарь 1024 KB |
Словарь 4096 KB |
Словарь 1024 KB |
Непрерывный архив, словарь 4096 KB, мультимедиасжатие отключено |
||||||
Графические файлы *.BMP |
1 мин 9 с |
13,3% |
1 мин 6 с |
13,5% |
50с |
13,4% |
52с |
13,4% |
1 мин 32 с |
15,6% |
Документы Word, *.DOC |
54 с |
38,7% |
55 с |
42,8% |
55с |
44,2% |
45с |
45,2% |
1 мин 2 с |
39,2% |
Сохраненные целиком Web-страницы, HTML |
45 с |
52,3% |
1 мин 40 с |
52,3% |
30с |
71,3% |
30с |
71,3% |
1 мин 42 с |
52,8% |
Все вышеперечисленные данные |
2 мин 52 с |
24,9% |
3 мин 20 с |
26,1% |
2 мин |
29,2% |
2 мин 10 с |
29,8% |
4 мин 10 с |
26,5% |
*Для тестирования использовались каталоги с графическими файлами ВМР (155 МB), документами Word (55,4 МB) и с Web-страницами, сохраненными целиком (38,6 МB). |
||||||||||
Непрерывный (solid) архив. В этом случае все данные будут архивироваться в виде одного большого файла. Это значительно (теоретически до 50%) увеличивает эффективность сжатия информации, но данный метод имеет и свои недостатки. Так, распаковка одного или нескольких файлов из такого архива займет значительно больше времени, чем из обычного. Например, если архив состоит из 100 файлов, а требуемый файл является 90м по списку, то программа вынуждена открыть все 89 предыдущих. Бесплатный сыр бывает только в мышеловке.
Большой размер словаря. Его влияние на эффективность компрессии значительно меньше, чем в случае с непрерывным архивом – в лучшем случае 5-10%, и во многом зависит от типа сжимаемых данных. Как видно из таблицы, размер словаря (4 MB или 1 MB) никак не повлиял на эффективность компрессии картинок в формате *.вмр и Web-страниц, а вот в случае с документами Word результат имел место быть. Разумеется, подобные эффекты проявляются гораздо сильнее при архивировании больших массивов данных (сотни мегабайт и гигабайты), здесь лишь можно констатировать, что они присутствуют в той или иной степени. Из недостатков большого словаря следует отметить увеличение системных требований к оперативной памяти и процессору, и на слабом ПК (ниже 600 MHz/128 RAM) это может привести к значительному увеличению времени упаковки и распаковки архивов. То же касается и непрерывных архивов, так что либо отключайте данные опции, либо делайте апгрейд.
Мультимедиасжатие. А вот здесь наблюдается прямо противоположная ситуация. Отключение данной опции, наоборот, приводит к замедлению работы программы – естественно, вместе с ухудшением коэффициента компрессии. Комментарии здесь излишни.
Таким образом, наиболее оптимальная конфигурация архиватора следующая: опция "непрерывный архив" включена, размер словаря 4096 KB, мультимедиасжатие включено (автоматически). Кроме того, можно включить опцию "протестировать архив сразу же после его создания" – это застрахует вас от возможных ЧП в будущем.
Пример объективных данных тестирования программ-архиваторов приведены в таблице 2.
Результаты тестирования различных архиваторов проводились с помощью следующей тестовой системы:
процессор AMD Barton 2500@3200+;
материнская плата Shuttle AN35(N) 400 (NVidia nForce 2400 chipset);
память 512 MB DDR PC 3200 PQI;
видеокарта GeForce 4 Ti4200 128 MB AGP 8x Inno3D;
жесткий дискHDD 80 GB Western Digital WB800JB 7200 rpm, 8 MB cache;
операционная система -- Windows XP SP1 Rus;
набор файлов: Mozilla Firefox 1.0.7 для Windows и Google Earth 3.0.0616 для Windows после полной архивации.
Таблица 2.
Архиватор |
Mozilla Firefox |
Google Earth |
||
161 файлов15,684,168 байт |
115 файлов23,530,652 байт |
|||
Размер архива |
Коэффициент |
Размер архива |
Коэффициент |
|
7-Zip 9.20 (формат 7z) |
4621135 |
100% |
6109183 |
100% |
WinRAR 3.50 |
5021556 |
109% |
6824892 |
112% |
CABARC 5.1 |
5131393 |
111% |
7434325 |
122% |
WinZip 10.0 beta (максимум-PPMd) |
5277118 |
114% |
8200708 |
134% |
7-Zip 9.20 (формат zip) |
6222627 |
135% |
8909446 |
146% |
WinZip 10.0 beta (максимум-портативный) |
6448666 |
140% |
9153898 |
150% |
Результаты коэффициента компрессии очень зависят от данных использованных для испытаний. Обычно, 7-Zip сжимает (в формате 7z) на 30-70% лучше,чем в формате zip. Также 7-Zip сжимает в формат zip на 2-10% лучше чем большинство других программ-архиваторов работающих с форматом zip.
Очевидно, неоспоримое преимущество WinRAR и 7Zip абсолютно во всех категориях. Причем 7-Zip опережает WinRAR буквально на доли процента, в лучшем случае - на процент-два, зато разница в затраченном времени у них просто огромная - в два-три раза. По степени сжатия WinAce соблюдает почти полный паритет с WinRAR, но затраты времени на архивирование у него, как и у 7-Zip, больше в 2-3 раза. Аутсайдерами теста являются WinZip и PowerArchiver, и это неудивительно, ведь они оба используют один и тот же алгоритм компрессии данных. Как видите, разницы между обычным алгоритмом сжатия Zipфайлов и enhanced deflate практически нет, зато в последнем случае время создания архива увеличивается в среднем на 20-30%. Такая же картина наблюдается и у PowerArchiver (на таблице показаны только данные для enhanced deflate, так как результаты компрессии с помощью обычного алгоритма ничем не отличаются от таковых в WinZip). А вот 7-Zip снова приятно удивил, на этот раз в Zipкомпрессии. Действительно, выигрыш при архивировании в Zip с помощью этого архиватора составляет 2-3% по сравнению с собственно WinZip.
