Реферат: Архивация данных в Windows

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

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

Архивы: форматы и инструменты.

Для начала несколько слов о терминологии. Принято различать архивацию и упаковку (компрессию, сжатие) данных. В первом случае речь идет о слиянии нескольких файлов и даже каталогов в единый файл — архив (примером использования такой технологии в чистом виде может служить формат TAR), во втором — о сокращении объема исходных файлов путем устранения избыточности (в данной работе рассматривается упаковка без потерь информации, т. е. с возможностью точного восстановления исходных файлов). Как правило, современные архиваторы обеспечивают также сжатие данных, являясь таким образом еще и упаковщиками, однако существуют и чисто “упаковочные” утилиты типа Gzip, сжимающие отдельные файлы, преобразуя их в формат Z или GZ.

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

Действие большинства средств упаковки основано на использовании алгоритмов сжатия, предложенных в 80-х гг. Абрахамом Лемпелем и Якобом Зивом. Многие популярные архивные форматы (ZIP, LZH, ARJ, ARC, ICE и т. п.) появились в эпоху господства DOS. Для работы с ними использовались специализированные архиваторы-упаковщики (утилиты PKZip/PKUnzip, LHA, Arj), которые позволяли архивировать целые каталоги и обеспечивали высокую степень сжатия для текстовых, графических и прочих типов файлов. Эти программы вызывались командной строкой с многочисленными параметрами, довольно громоздкими, хотя и обеспечивавшими богатые возможности. Вскоре стали появляться интегрирующие надстройки, с помощью которых можно было работать с различными форматами архивов не из командной строки, а с помощью меню.

По-настоящему прижились в мире персональных компьютеров, став сегодня фактическими стандартами, лишь немногие из старых архивных форматов — ZIP, ARJ и, пожалуй, еще LZH. Помимо этих традиционных форматов некоторые современные архиваторы позволяют работать с новым межплатформным форматом JAR (Java ARchive), который был создан специально для пересылки многокомпонентных Java-апплет, но может применяться и для работы с упакованными архивами общего назначения (в JAR применяются те же методы сжатия, что и в ZIP). Еще один формат, CAB, был предложен фирмой Microsoft, средства для работы с ним входят в состав Windows 9x; многие архиваторы, ориентированные на форматы ZIP и ARJ, позволяют также распаковывать CAB-архивы.

В настоящее время растет популярность формата RAR и соответствующих программ, созданных нашим соотечественником, челябинцем Евгением Рошалем. Но, хотя технология RAR обеспечивает высокую степень сжатия, стандартом она так и не стала, отчасти из-за не очень гибкого механизма работы с большими архивами. Во многих случаях удачным решением проблемы совместимости является создание архивов в виде самораспаковывающихся программ (EXE-файлов). Многие программы, ориентированные на какой-либо из традиционных типов архивов, способны создавать и EXE-архивы на базе своего “родного” формата. Но это решение не всегда обеспечивает достаточную гибкость (например, не позволяет без специальных инструментов выборочно извлекать файлы из архива).

С приходом Windows архиваторы обзавелись графическим интерфейсом. В некоторых случаях этот интерфейс лишь прикрывал собой ту или иную старую утилиту командной строки, но появились и полноценные, в том числе 32-разрядные, программы со встроенным механизмом для манипулирования архивами (как правило, какого-нибудь одного типа; самая известная ZIP-ориентированная программа такого рода — WinZip фирмы Nico Mak Computing).

В удобном виде манипуляции с командной строкой были “спрятаны” за интерфейсом популярных в России файловых оболочек типа DISCo Commander, FAR и особенно Windows Commander начиная с версий 4.хх. Эти оболочки позволяют путем настройки файлов конфигурации подключать любые внешние DOS-архиваторы командной строки (Arj, PKZip, ARC, LZH и т. п.) и организовывать прозрачное манипулирование архивами, представляя их в виде обычных каталогов. К сожалению, многие утилиты командной строки неспособны полноценно работать с длинными именами файлов (такая возможность появилась в программе PKZip лишь начиная с версии 2.5 для Windows, в Arj — начиная с версии 3.0), а организовать обмен файлами с архивом можно только в пределах окна оболочки. Кроме того, и сами программные оболочки, и вызываемые из их среды архиваторы командной строки — коммерческие продукты (как правило, условно-бесплатные), каждую приходится приобретать отдельно. В отличие от утилит командной строки, рассчитанных на работу с одним типом архивов, Windows-программы более универсальны с точки зрения совместимости по форматам и к тому же используют такие преимущества новой ОС, как возможность давать объектам длинные имена и переносить файлы из одного приложения в другое.

Рассмотренные программы по большей части ориентированы на работу с архивами в формате ARJ или ZIP, но, как правило, содержат встроенные средства (или допускают подключение внешних модулей) для распаковки и просмотра и архивов других типов. В общем, тесты показывают, что программы, ориентированные на формат ARJ (их, кстати, не так много), в среднем работают чуть быстрее аналогичных ZIP-архиваторов и к тому же обеспечивают больший коэффициент сжатия, однако архиватор, несовместимый с форматом ZIP, вряд ли можно сегодня считать полноценным инструментом. Все программы обладают удобными инсталляторами и стандартными средствами деинсталляции. Как правило, архиваторы могут выборочно регистрироваться в качестве средства для обработки распознаваемых ими типов файлов. Практически все архиваторы предусматривают работу с длинными именами объектов, однако если эти имена содержат русские буквы, то 16-разрядные программы их неузнаваемо искажают при упаковке. Наиболее удобные утилиты интегрируются в систему Windows 9x: позволяют упаковывать и распаковывать файлы с помощью перетаскивания, представлять архивы в виде обычных папок, вызывать контекстные меню для упакованных объектов, как для объектов “Рабочего стола” Windows. На архивирование 20-Мбайт массива данных программы тратили (в режиме с параметрами по умолчанию) от 1,5 (ArjFolder) до 4 мин (Q Cab). Наилучшую степень сжатия показала программа Q Cab: созданный ею EXE-архив оказался почти на 10% компактнее остальных архивов, которые, в свою очередь, различались по объему на 1—5%.

Лучшие из рассмотренных программ относятся к категории условно-бесплатных, некоммерческие разработки уступают им в разнообразии функций, совместимости и удобстве (хотя и не в эффективности сжатия). Лидером обзора являются Zip-ориентированные утилиты ZipMagic фирмы Mijenix, Zip Explorer Pro компании Aeco Systems и уже упомянутая WinZip фирмы Nico Mak Computing. Все они обеспечивают совместимость с большим числом форматов, удобны в использовании. Первые две программы, правда, выгодно отличаются от WinZip возможностью работы с архивами как с папками. Практически не уступает лидерам по удобству и возможностям программа Е. Рошаля WinRAR, но она ориентирована прежде всего на не очень распространенный формат RAR, хотя и обеспечивает большинство необходимых функций для манипулирования Zip-архивами. Тем, кто предпочитает бесплатные утилиты, можно рекомендовать для работы с Zip-архивами программу Eazy Zip 98, а для работы с ARJ-архивами — ArjFolder.

ArjFolder 2.85

Бесплатный архиватор ArjFolder, созданный независимым французским программистом Рафаэлем Мунье, предназначен, как нетрудно догадаться по названию, для работы с ARJ-файлами. Фактически ArjFolder с помощью функций “Проводника” Windows 9x строит программную оболочку для DOS-утилиты Arj (эта вызываемая из командной строки утилита входит в состав дистрибутива; вообще говоря, она распространяется условно-бесплатно, так что называть ArjFolder бесплатным пакетом не совсем правильно). Дистрибутив ArjFolder представляет собой самораспаковывающийся EXE-модуль объемом 730 Кбайт. В ходе инсталляции пользователю предлагается установить ArjFolder вместе с утилитой Arj или без нее. Для полноценной работы с архивами следует выбрать первую возможность, в противном случае программа не сможет формировать и пополнять архивы, а ограничится только просмотром содержимого архивов и их распаковкой.

После инсталляции архиватор встраивается в “Проводник” Windows 9x. В системном меню “Пуск| Программы” появляется раздел с программой настройки ArjFolder, предназначенной для управления привязкой архиватора к файлам распознаваемых им типов (программа позволяет создавать, пополнять и распаковывать ARJ-файлы, а также просматривать и распаковывать сжатые файлы и архивы в форматах ACE, ZIP, GZIP, TAR, CAB и RAR). Кроме того, в контекстное меню объектов Windows добавляется команда Add to Arj (“Включить в Arj-архив”). С ее помощью можно создавать или пополнять ARJ-архивы и самораспаковывающиеся EXE-файлы.

В случае если с программой связан какой-нибудь из распознаваемых ею типов файлов, щелчок на таком файле вызывает двухпанельное окно, похожее на “Проводник” (к сожалению, это единственный и не очень удобный способ вызвать ArjFolder). Упакованные в архиве объекты изображаются в правой панели окна подобно содержимому обычной папки. Контекстные меню позволяют открывать, распаковывать, удалять или просматривать эти файлы. Добавлять файлы в ARJ-архив и распаковывать их можно с помощью перетаскивания, для остальных типов архивов перетаскиванием можно только распаковывать файлы.

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

К сожалению, интеграция архиватора с Windows недостаточно полна: если в программах типа ZIP Magic или WinRAR (да и в файловых оболочках типа DISCo Commander) архивы по своему “поведению” практически неотличимы от обычных каталогов, то оснащенный средствами ArjFolder “Проводник” в левой панели показывает вместо дерева дисков и каталогов только один архив, не имеющий контекстного меню, а в практически бесполезной строке адреса может содержаться только имя текущего архива. На панели инструментов при этом отсутствует кнопка перехода к родительскому каталогу, и, что самое неприятное, — в меню “Файл” нет команды “Открыть”. Все операции с архивами производятся в текстовом окне DOS, что тоже не очень удобно. Еще один недостаток — программа не показывает структуру упакованных каталогов, изображая содержимое архива в виде единого “плоского” списка (впрочем, это свойственно большинству рассмотренных программ). Следует также заметить, что отдельные элементы интерфейса (в целом англоязычного) остались не переведенными с французского (так, вместо привычного обозначения MB вы увидите Mo).

Для пользователей Windows, имеющих дело с несложными ARJ-архивами и избегающих командных строк, данная программа может стать простым бесплатным решением, остальные, скорее всего, предпочтут что-нибудь более совершенное, например программу WinRAR с подключенным внешним модулем Arj.

Программа распространяется бесплатно. Рафаэль Мунье, home.worldnet.fr/mounierr.

BKZip 1.1.56

Автор этой бесплатной утилиты для создания и распаковки ZIP-архивов — независимый программист из Германии Бернд Кеммлер. Дистрибутив программы хранится в EXE-файле объемом около 2 Мбайт, примерно столько же занимают файлы BKZip после инсталляции.

Контекстное меню упакованных объектов позволяет копировать их на дискету, удалять, открывать в ассоциированном приложении или программе “Блокнот”. Длинные имена обрабатываются, но при наличии в них русских букв — искажаются. В окне программы содержимое архива изображается в виде “плоского” списка, не позволяющего просматривать структуру каталогов. Задействовать функцию парольной защиты нам не удалось. Имеющиеся в меню программы команды для работы с самораспаковывающимися EXE-архивами не действуют. Программа предусматривает перетаскивание для упаковки отдельных файлов и (после установки соответствующей опции) каталогов, но не для распаковки архивов.

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

Программа распространяется бесплатно. Бернд Кеммлер, bks.simplenet.com.

Easy Zip 98

Бесплатная программа Easy Zip 98, созданная независимым программистом из Индии Дипу Чэнди Томасом, предназначена для работы с ZIP-файлами и создания самораспаковывающихся EXE-архивов. Дистрибутив распространяется в виде EXE-файла объемом 880 Кбайт; поcле инсталляции в каталог программы записываются файлы общим объемом около 360 Кбайт; кроме того, несколько DLL-файлов устанавливается в системный каталог Windows. Для работы архиватора необходима библиотека VB5 времени исполнения, отсутствующая в дистрибутиве (ее можно загрузить, воспользовавшись ссылкой на Web-узле разработчика).

Программа позволяет добавлять файлы в архив и извлекать их оттуда с помощью перетаскивания (правда, при упаковке каталогов с большой глубиной вложенности иногда выдается сообщение об ошибке), для архивируемых файлов предусмотрены регулировка степени сжатия, парольная защита. Easy Zip 98 без проблем работает с длинными именами (кириллические символы при этом не искажаются), имеется также опция принудительного приведения имен к стандартному для DOS виду (формула “8+3”). С помощью меню настроек можно включать и отключать привязку ZIP-файлов к программе, манипулировать параметрами архивирования и распаковки.

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

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

Mimar Sinan Q Utilities 98 (Q Cab)

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 322
Бесплатно скачать Реферат: Архивация данных в Windows