У кого меньше?

Если на данный момент у большинства пользователей на компьютерах установлены винчестеры объемом более 10 Гбайт (как правило, от 40 Гбайт), то в качестве носителя для переноски данных все еще часто используются такие средства как дискеты, или в лучшем случае, CD-болванки или flash-накопители. Теперь, когда экономить место на HDD уже не стоит, как раньше, когда боролись за каждый Мегабайт (было долгое время, когда объем HDD не превышал 240 Мбайт), все же приходится экономить место при переноске данных. Ведь еще мало у кого в распоряжении DVD±RW, с помощью которого на болванку можно записать до 8 Гбайт на сторону, так что большинству пользователей приходится обходиться «дедовскими» средствами.

Кончено, все большее число пользователей делают выбор в пользу flash-накопителей, которые являются отличной заменой дискетам, имея больший объем, большую скорость и, при том, гораздо более надежны. Но они имеют свой минус: USB Flash Drive корректно определяется как USB Mass Storage только на компьютерах с ОС Windows ME, 2000 или XP, а носить с собой драйвер для Windows 98 на диске как-то «не очень удобно». С другой стороны, несмотря на то, что CD-RW болванки имеют больший (пока) объем, чем USB Flash Drive, но они читаются не на всех CD-приводах, долги для записи и требуют наличия CD-RW привода. В связи с этими проблемами на старых компьютерах данные все еще хранят и переносят с помощью весьма ненадежных дискет. Использование CD-R болванок разумно только с целью создания backup-архивов.

В любом случае, пока DVD±RW и USB Flash Drive объемом более 512 Мбайт (уже появились объемом 4 Гбайт) не появились в каждом доме, остается уповать на вышеперечисленные средства. Зачастую, пытаясь впихнуть очень важную информацию, которую нежелательно разрывать на несколько дисков, нет иного выхода как архивировать информацию.

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

Архивирование – уникальное средство, позволяющие не только во много раз уменьшить объем хранимой информации, но и поместить ее для хранения в единый файл, соответствующий вашим требованиям. Вот например, многие забывают о том, что CD-диск записывается корректно только при соблюдении формата ISO 9660 и дескрипторов Joliet. Эти форматы ограничивают длину пути файла не более чем 255 символами и глубиной вложения не более 8 каталогов. Чтобы обойти это ограничение все файлы можно заархивировать, и тогда программа для записи не «увидит» отклонений от стандарта ISO.

Форматы сжатия

Издавна в нашей стране шла борьба стандартов архивов и архиваторов для них. Главными конкурентами всегда оставались форматы zip и rar. И борьба эта шла со времен DOS. Если в DOS-е лидером в итоге был признан формат zip и PKZIP – лучший архиватор для него, то 32-разрядных ОС все оставалось неопределенно до недавних пор. Не так давно стандартом де-факто в России стал RAR, который существенно превосходил все остальные форматы по многим параметрам, особенно по сжатию, а заграницей – ZIP. Основными программами архивирования оставались WinRAR, WinZIP и PowerArchiever. И так бы все и оставалось, если бы на этом небосклоне не появился малоизвестный доселе формат ACE.

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

Формат архивов RAR на данный момент – один из самых прогрессивных форматов, позволяющих наиболее эффективно сжать файлы. Он в большинстве случаев обеспечивает существенно лучшее сжатие, чем ZIP, особенно в режиме создания непрерывных архивов. Другая важная возможность RAR — поддержка многотомных архивов. Они намного удобнее и проще в использовании, чем так называемые "разделенные по дискам" ("span disks") архивы ZIP. WinRAR не поддерживает такие архивы ZIP — многотомные архивы можно создавать только в формате RAR.

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

Формат RAR позволяет обрабатывать файлы практически неограниченного размера (до 8 эксабайт, что равносильно 8 589 934 591 Гбайт), тогда как размер одного файла в архиве ZIP не может превышать 2 Гбайт. Необходимо помнить, что старые файловые системы не поддерживают файлы размером более 4 Гбайт, поэтому при работе с такими файлами вы должны использовать файловую систему NTFS.

Основное преимущество формата ZIP — его популярность. Так, большинство архивов в Интернете имеют формат ZIP. Если вы хотите кому-то отправить архив, но не уверены, что у адресата есть программа WinRAR для распаковки архива, то имеет смысл использовать формат ZIP. Впрочем, в этом случае лучше отправить самораспаковывающийся (SFX) архив. Такие архивы чуть больше обычных, но для их распаковки не требуются дополнительные программы.

Другое преимущество ZIP — скорость. Архивы ZIP обычно создаются быстрее архивов RAR за счет меньшей степени сжатия.

Формат ACE имеет все преимущества RAR, но в отличие от RAR, он, как и ZIP, создает не многотомные архивы, а «разделение по дискам». Также он позволяет создавать непрерывные архивы, назначать размер словаря архива и зашифровывать их, а также добавлять информацию для восстановления в архивы. Различия лишь в алгоритме сжатия этих архивов.

Возможности архиваторов

Для поддержки формата RAR создан соответствующий архиватор – WinRAR. 18 сентября 2004 года вышла последняя на данный момент финальная версия программы – 3.40 release. Надо сказать, что версии этой программы выходят с завидным постоянством, почти как процессоры – раз в полгода.

Этот архиватор создан украинским программистом Евгением Рошалем при содействии Рона Двайта. Существует несколько версий RAR для разных операционных систем, в частности, RAR для Windows, Linux, FreeBSD, DOS, OS/2, Mac OS X.

RAR для Windows поставляется в двух вариантах:

·         версия с графическим интерфейсом пользователя (GUI) – WinRAR.exe;

·         консольная версия – Rar.exe, запускаемая из командной строки и работающая в текстовом режиме.

Консольная версия, при этом, является 32-разрядной, т.е. работает из-под Windows и является полностью бесплатной. Если у вас закончится лицензия или 40-дневный пробный срок работы GUI-версии, то вы всегда можете воспользоваться консольным вариантом. Вот общий синтаксис командной строки RAR:

WinRAR  <команда>  –<ключ1>  –<ключN>  <архив>  <файлы…>  <@файл-список…>  <путь для извлечения\>

Список всех команд и ключей для них подробно описан в справке WinRAR.

Некоторые отличительные особенности WinRAR:

·         полная поддержка архивов RAR и ZIP. WinRAR выполняет все возможные действия в архивами этих типов, но изначально он, конечно, предназначается для работы с форматом RAR;

·         управление архивами других форматов (CAB, ARJ, LZH, TAR, GZ, ACE, UUE, BZ2, JAR, ISO). WinRAR способен распаковывать такие архивы, просматривать их содержимое, показывать комментарии и информацию об архиве;

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

·         возможность использования интерфейса командной строки;

·         поддержка метода непрерывного (solid) архивирования, при котором может быть достигнута на 10 – 50% более высокая степень сжатия, чем дают обычные методы, особенно если упаковывается значительное количество небольших файлов однотипного содержания;

·         поддержка многотомных архивов;

·         создание самораспаковывающихся (SFX) обычных и многотомных архивов с помощью стандартного или дополнительных модулей SFX;

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

·         возможность создания и использования томов для восстановления, позволяющих воссоздавать недостающие части многотомных архивов;

·         наличие графической оболочки с поддержкой технологии перетаскивания (drag & drop);

·         поддержка кодировки Unicode в именах файлов;

·         наличие других дополнительных функций, например, шифрования данных и имён файлов в архиве, добавления архивных комментариев, ведения протокола ошибок и пр.

Для работы с архивами ZIP в WinRAR применяется программный код, разработанный группой Info-ZIP и используемый с её разрешения. Этот код бесплатен, его исходные тексты доступны в Интернете по адресу http://www.info-zip.org/pub/infozip/.

Алгоритм сжатия текстов основан на общедоступном исходном коде PPMII (автор Дмитрий Шкарин). Применяемое в WinRAR шифрование данных использует части кода алгоритма AES (авторы Szymon Stefanek и Brian Gladman), а также исходный код SHA-1 (автор Steve Reid).

Входящие в дистрибутив WinRAR SFX-модули для Win32 сжаты с помощью лучшей программы упаковки исполняемых файлов UPX (авторы Markus F.X.J., Oberhumer и Laszlo Molnar). SFX-модуль для DOS создан с помощью компилятора DJGPP C++ (автор DJ Delorie, http://www.delorie.com/djgpp), и расширителя PMODE/DJ (авторы Thomas Pytel и Matthias Grimrath).

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

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

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

При создании архива можно выбрать размер используемого им словаря. Такая функция влияет на степень сжатия. Чем больше используемый архив, тем больше степень  сжатия, но действует это, как правило, при общем объеме файлов 640 Кбайт. Большой словарь выбирать при архивировании 2 файлов по 50 Кбайт неразумно. Чем больше используемый словарь, тем больше свободного места в оперативной памяти потребуется для распаковки архива. По умолчанию WinRAR использует максимальный размер словаря – 4096 Кбайт, что в общем-то хорошо, но при том, он может автоматически подстраивать необходимый размер словаря. Более того, WinRAR оптимизирован как для работы с 32-битными процессорами Pentium, так и с 64-разрядными Itanium.

Тома — это фрагменты архива, состоящего из нескольких частей. Тома поддерживаются только в формате RAR, для ZIP используется другая схема. Обычно тома используются для сохранения большого архива на нескольких дискетах или других сменных носителях. Скажем больлшой архив можно разбить на тома по 1,44 Мбайта для помещения его на дискеты. В таком случае тома RAR получают имена вида 'имя_тома.partNNN.rar', где NNN — номер тома.

Тома могут быть также непрерывными и самораспаковывающимися. Первый самораспаковывающийся том имеет другое (т.е. не .rar) расширение, например, для SFX-томов DOS это будет .exe. Уже созданные многотомные архивы не допускают изменения, т.е. в них нельзя добавлять, обновлять или удалять файлы. Для распаковки томов необходимо начинать извлечение с первого тома. Если тома находятся на несменном носителе (например, на винчестере), то сначала нужно переписать все тома в одну папку.

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

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

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

Самораспаковывающийся (SFX, от англ. SelF-eXtracting) архив — это архив, к которому присоединен исполняемый модуль. Этот модуль позволяет извлекать файлы простым запуском архива как обычной программы *.exe. Таким образом, для извлечения содержимого SFX-архива не требуется дополнительных внешних программ. Тем не менее, WinRAR может работать с SFX-архивом так же, как и с любым другим, поэтому если вы не хотите запускать SFX-архив (например, когда не можете гарантировать, что в нем нет вирусов), то для просмотра или извлечения его содержимого можно использовать WinRAR.

SFX-архивы удобны в тех случаях, когда нужно передать кому-то архив, но вы не уверены, что у адресата есть соответствующий архиватор для его распаковки. Также можно использовать SFX-архивы для создания инсталляторов своих собственных программ. Причем, возможности по созданию инсталляторов очень широкие: от включения лицензионного соглашения, окна описания и создания иконок для интерфейса инсталлятора до паролирования дистрибутивов (установить программу может только то, кто знает пароль-ключ). Например, инсталлятор дистрибутива WinRAR базируется на GUI SFX-модуле RAR Default.sfx.

Обычные архивы также можно зашифровать. Оба формата — RAR и ZIP — поддерживают шифрование.  Чтобы зашифровать файлы, нужно до начала архивации указать пароль — в командной строке, в меню или непосредственно на вкладке "Дополнительно" диалога "Имя и параметры архива".  В командной строке это делается с помощью ключа –p<pwd>. В отличие от ZIP, формат RAR позволяет шифровать не только данные файлов, но и другие важные области архива: имена файлов, размеры, атрибуты, комментарии и другие блоки.  Чтобы задействовать эту функцию, необходимо включить опцию "Шифровать имена файлов" в диалоге задания пароля.  Чтобы включить общее шифрование в режиме командной строки, вместо ключа –p[пароль] нужно указать ключ – hp[пароль].  Зашифрованный в таком режиме архив нельзя без пароля не только распаковать, но даже просмотреть список находящихся в нём файлов. Также есть возможность блокировки архива от изменения.

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

В последней доступной на момент написания версии WinRAR 3.30 было сделано множество усовершенствований в отличие от предыдущих версий. Добавлена новая команда "Тест быстродействия и надёжности аппаратуры", позволяющая сравнивать производительность алгоритма сжатия RAR на разных компьютерах и обнаруживать возможные ошибки, вызванные сбоями в аппаратной части ПК. В принципе, тестировать «железо» (особенно стабильность разогнанных процессоров и памяти) с помощью архиваторов можно было и ранее, запустив и разархивировав архив размером около 1 Гбайта не менее 5 раз, но сейчас это стало профессиональнее и удобнее. Также в меню добавлены новые команды, такие как печать файлов прямо из архива, создание отчета, проверка файлов в архиве на вирусы (это особенно полезно, если вы не знаете происхождение архива и не хотите его открывать). Улучшена совместимость и работа с архивами ZIP, tar и CAB. Повышена точность работы модуля анализа данных для более аккуратного определения исполняемых и звуковых данных. Ошибочный выбор алгоритмов сжатия исполняемого кода и аудио в некоторых случаях мог приводить к ухудшению степени сжатия, оптимизирована работа с файловой системой NTFS.

Что касается WinAce, то эта программа очень похожа по своим возможностям на WinRAR, правда она поддерживает чуть больше форматов архивов, чем WinRAR (16 против 12). Этот архиватор создан прежде всего для работы с форматом ACE, но также может создавать архивы форматов ZIP, CAB (MS-Cabinet) и LHA, в отличие от WinRAR, который умеет создавать только архивы форматов RAR и ZIP. Особенно полезно его использовать для создания CAB-архивов для системных целей.

Надо сказать, что по умолчанию в WinAce размер словаря выставлен 1024 К, что не всегда является оптимальной величиной. WinAce не умеет автоматически уменьшать размер словаря. Также в обоих архиваторах степень сжатия по умолчанию выставлена на Normal. Это значение следует изменить на Best. Архивирование с лучшим сжатием чуть более долгое, но значительно более качественное. Тем более, что разница в скорости на современных процессорах мало заметна. Не рекомендуется ставить максимальное сжатие только на очень слабых компьютерах с процессорами без поддержки MMX и малым объемом оперативной памяти.

Интерфейс у WinAce очень приятный и понятный, современный сделанный в стиле XP. Единственный минус замеченный на данным этапе – отсутствие поддержки русского языка, поскольку программа сама немецкого происхождения, хотя русификатор стороннего производителя (MSILab) существует. Последний ее релиз v. 2.5 вышел достаточно давно – еще в августе 2003 года – и был конкурентом WinRAR 3.20. И только 7 июля этого года вышла 1-я бета-версия winAce 2.60. Эта первая версия, которая выйдет на английском, а не на немецком языке. Она, как и WinRAR 3.30 отличается улучшенной поддержкой различных форматов, в том числе ZIP64.

Еще один забавный момент связанный с WinAce – распознавание некоторыми антивирусами файла WinAce.exe как трояна, естественно каковым он не является. Связано это с тем, что для упаковки исполняемого файла разработчик использует специальный метод сжатия. Правда размер инсталлятора WinAce заметно больше WinRAR – почти на 3 Мбайта. Все остальные опции у WinAce примерно такие же как и у WinRAR. Что ж, перейдем к тестированию архиваторов.

Тестируем

Для тестирования использовались WinAce версии 2.5 и WinRAR 3.30. Целью тестирования было выявление лучшей степени сжатия файлов разными архиваторами, проверка влияния размера словаря на степень сжатия и загруженность процессора различными архиваторами. Для этого было решено проводить тестирование с лучшей степенью сжатия. Тестирование специально проводилось не на самом мощном компьютере с целью выяснить, насколько различные архиваторы влияют на производительность системы. Тестировались как режимы создания непрерывного архива (solid), так и обычного архива.

[Архиваторы.xls]

Итак, по результатам тестирования победителем оказался WinRAR. Этот архиватор как быстрее, так и лучше сжимает данные. Причем как в режимах создания непрерывного (solid) архива, так и простого. Справедливости ради, стоит отметить, что разница в размере получившихся в ходе тестирования архивов не превышает 3%, а большинстве тестов архиваторы шли вровень. Отрыв WinRAR был сильно заметен только при создании обычных (non-solid) архивов. Зато вот оказалось, что WinRAR быстрее своего конкурента. Особенно это было заметно при сжатии больших объемов данных, где разница достигала нескольких минут. Также выяснилось, что использование WinAce разумно только при сжатии очень малых объемов информации.

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

Также выяснилось, что лучше всего сжимаются интернет-файлы htm, графические файлы несжатого формата tiff и bmp (до 1-10%), текстовые файлы и файлы различных проектов (от 5 до 15%), затем офисные файлы (от 15 до 30%), рисунки jpg и почти не сжимаются gif файлы. Причем, WinRAR лучше сжимает офисные файлы, а WinAce – графические изображения.

По поводу загрузки процессором системных ресурсов. Оба архиватора требуют примерно одинаковое количество процессорного времени и мощности: они загружают процессор примерно на 95%. Это проверялось на различных конфигурациях, и везде архиваторы занимали почти все доступные им ресурсы системы. Из этого можно сделать вывод о том, что любой процесс, требующий математического просчета (например, mp3 или DivX-конвертация, работа с несколькими приложениями) требуют достаточно мощного процессора. Большим подспорьем в такой ситуации оказывается технология Hyper-Treading в процессорах Pentium 4. Также особенно важным фактором в такой ситуации становится количество оперативной памяти и объем КЭШа процессора. Чем больше кэш, тем большая часть словаря может поместиться в нем при архивации. Примерно такой же схемы работы придерживаются и другие мультимедийные программы. Что касается архиваторов, то исполняющий модуль WinAce занимает в оперативной памяти 10 Мбайт, а WinRAR – 7 Мбайт.

Мы сделали еще одно интересное наблюдение: кроме тестирования форматов ace и rar, мы тестировали и старый-добрый zip. Конечно, архивы zip оказались намного больше по размеру своих конкурентов. Зато выявилась лучшая программа, работающая с форматом zip. Это достаточно популярный архиватор PowerArchiever, а вот WinZip показал себя с худшей стороны. Правда, совсем недавно вышла новая версия WinZip – 9.0. К сожалению, протестировать мы ее не успели, но на многое там надеяться все равно не приходится.

Рекомендуем

Если вам требуется архивировать графические изображения, то берите WinAce, документы – WinRAR. Эти архиваторы идут почти вровень, с тем лишь отличием, что WinRAR имеет официальную русскую версию. У WinAce чуть больше настроек, и он мультиформатен по сравнению с WinRAR – это его главное преимущество. Особенно WinAce хорош для создания cab–архивов и работы с ними. Так что лучше всего держать эти оба архиватора на своем компьютере.

Автор: Александр Дудкин
dudkin@hwworld.ru

01.09.2004


© Авторские права и копия защищены законом: Дудкин Александр Константинович, 2002 г.
Копирование любых материалов только с письменного разрешения автора сайта
URL сайта: www.hwworld.ru
Ваши замечания и предложения присылайте по e-mail: admin@hwworld.ru