Архивация данных в Win9xРефераты >> Программирование и компьютеры >> Архивация данных в Win9x
Содержание.
Архивация данных в Windows 9x.
Архивы: форматы и инструменты.
ArjFolder 2.85
BKZip 1.1.56
Easy Zip 98
Mimar Sinan Q Utilities 98 (Q Cab)
PowerZip 4.5
WinArj98
WinRAR 2.5
WinZip 7.0
ZIP Explorer Pro 98 V2.54
ZipMagic 98
Лабораторные испытания. Средства архивации для Windows 9x. По материалам PC-magazine.
Литература.
Архивация данных в Windows 9x.
В системе 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%.