Доклад: Архивация данных в MS DOS
Архивацияданных для MSDOS.
Историяразвития теориисжатия информации
История развитияMS DOS весьмапохожа на историюразвития всехинформационныхтехнологий.Более того, концепция MSDOS непосредственнозаимствованаиз операционнойсистемы UNIX.UNIX, в свою очередь, базируетсяна самых первыхоперационныхсистемах типаOS/360и даже IBM704.Основныеалгоритмыархивацииданных вначалебыли опробованына UNIX, а затем (иногдапроцесс развитиятех или иныхалгоритмовосуществлялсяпараллельно)в MSDOS. В принципе, большинствоиспользуемыхв настоящеевремя утилитдля архивацииначали своюжизнь начинаяс MS DOS2.0.
Итак, в сороковыхгодах ученые, работающиев областиинформационныхтехнологий, ясно поняли, что можно разработатьтакой способхранения данных, при которомпространствобудет расходоватьсяболее экономно.Клод Шеннон, изучая нюансыразличий междусемантикой(semantics) (что некаясущность значит)и синтаксисом(syntax) (как некаясущность выражается), разработалбольшинствобазовых понятийэтой теории.Понимание того, что одно и тоже значение(семантика)может бытьреализованоразличнымиспособами(синтаксис), приводит кзакономерномувопросу: «Какойспособ выражениячего-либо являетсянаиболееэкономичным?»Поиск ответана этот вопроспривел Шеннонак мысли об энтропии, которая, прощеговоря, соотноситсяс количеством, содержащейсяв файле полезнойинформации.Методы сжатияпытаются увеличиватьэнтропию файла, то есть уменьшатьдлину файла, сохраняя приэтом всю информацию.
Однако, Шеннонне был первым, кто задумывалсяо сущностиинформациии определенииее количества.Первый шаг наэтом пути сделалв 1928 г. Хартли.Основной полученныйим результатможно сформулироватьпримерно так: если в заданноммножестве, содержащемN элементов, выделен некоторыйэлемент x, о которомизвестно лишь, что он принадлежитэтому множеству, то, чтобы найтиx, необходимополучить количествоинформации, равное log2 N. Этуформулу обычноназывают формулойХартли.
ФормулаХартли являетсячастным случаемболее общейформулы Шеннона, позволяющейнайти количествоинформациив случайномсообщениификсированногоалфавита. ПустьX1, ..., Xn — символы этогоалфавита, P1, ..., Pn- вероятностиих появленияв тексте сообщения, тогда формулаШеннона принимаетвид:
H = P1*log2(1 / P1) +… + Pn*log2(1 / Pn),
где H — количествобит информациив одном символесообщения, илиэнтропия символасообщения. Эточисло показываетминимальноесреднее числобит, необходимыхдля представленияодного символаалфавита данногосообщения.
В некоторыхслучаях алфавитсообщения можетбыть неизвестен, тогда выдвигаютсягипотезы обалфавите сообщения.Имея разныеалфавиты, можнодостичь разныхкоэффициентовсжатия. Например, текстовый файл, если его рассматриватькак последовательностьбитов, имеетэнтропию порядка0.7 — 0.9, если какпоследовательностьбайтов, — 0.5 — 0.7, хотяпопулярныепрограммысжатия уменьшаютразмеры текстовыхфайлов до 0.3 — 0.4от исходногоразмера.
ДоказательствоШеннона не былоконструктивным, т.е. не содержалоспособа построенияэтих оптимальныхкодов, а лишьпоказывалоих существование.До появленияработы Шеннона, кодированиесимволов алфавитапри передачесообщения поканалам связиосуществлялосьодинаковымколичествомбит, получаемымпо формулеХартли. С появлениемэтой работыначали появлятьсяспособы, кодирующиесимволы разнымчислом бит взависимостиот вероятностипоявления ихв тексте. Например, часто в файлахнекоторыезначения байтавстречаютсячаще других.Таким образом, за счет использованиядля каждогозначения байтакода различнойдлины можнозначительноуменьшить общийразмер данных.Эта базоваяидея лежит воснове алгоритмовсжатия Шеннона-Фано(Shannon-Fano) и Хаффмана(Huffman). Подобныеалгоритмывыбирают болеекороткие кодыдля частовстречающихсяи более длинныедля редковстречающихсязначений байта.Обычно текстовыефайлы (в которыходни значениябайтов повторяютсягораздо чащедругих) онисжимают довольнохорошо.
Более тридцатилет алгоритмсжатия Хаффманаи его вариантыоставалисьнаиболее популярнымиметодами. Однаков 1977 два исследователяиз Израиляпредложилисовершеннодругой подходк этой проблеме.Абрахам Лемпели Якоб Зив выдвинулиидею формирования«словаря» общихпоследовательностейданных. Приэтом сжатиеданных осуществляетсяза счет заменызаписей соответствующимикодами из словаря.Существуютдва алгоритма, в настоящеевремя известныекак LZ77 и LZ78. Они ужене требуютвключениясловаря данныхв архив, таккак если выформируетеваш словарьопределеннымспособом, программадекодированияможет еговосстанавливатьнепосредственноиз ваших данных.К сожалению,LZ77 и LZ78 тратят многовремени насоздание эффективногословаря. Лемпелбыл приглашенфирмой Sperry дляоказания импомощи в разработкеспособа наиболееэффективнойупаковки данныхна компьютерныхлентах. В этойже фирме ТерриВелч (Terry Welch) расширилалгоритм LZ78, создавновый вариант, широко известный, как LZW.
На работу Велчаобратила вниманиегруппа программистовUnix и использовалаего алгоритмв их приложенииLZW, получившемвполне естественноеназвание comdivss.Они добавилинесколькоусовершенствованийи опубликовалиобщедоступнуюверсию этойпрограммы втелеконференцииInternet, благодарячему многиепользователисмогли начатьс ней работать.
Популярностьалгоритма LZWв значительнойстепени связанас успехом программыcomdivss. Исходныйтекст последнейверсии программы, осуществляющейкак сжатие, таки декомпрессию, занимает всего1200 строк. Ядрокода сжатиязанимает неболее сотнистрок, а коддекомпрессиине намногобольше. Программистысчитают, чтоэто облегчаетчтение и пониманиеалгоритма, атакже позволяетадаптироватьего для самыхразных целей.
АлгоритмыLZ-стиля (включаяLZW, LZ77, LZ78 и многиедругие варианты)очень популярнывезде, где требуетсяуниверсальноесжатие. LZWиспользуетсяв стандартемодема V.42bis, протоколепередачи данныхZModem, форматах GIF,TIFF, ARC и другихприкладныхпрограммах.Другие алгоритмыLZ используютсяв дисковыхутилитах сжатиятипа DoubleSpace и Stacker, графическихформатах типаPNG, а также вуниверсальныхутилитахархивированияи сжатия, включаяZIP, GZIPи LHA.
Помимопользующихсябольшим вниманиемалгоритмов, базирующихсяна словаре, существуюти другие подходы.Алгоритм сжатияХаффмана (Huffman), основанныйна статистическихколебанияхраспределениянекоторыхзначений байтов, лег в основунесколькихочень эффективныхметодов сжатия, известных, какарифметическоекодирование(arithmetic encoding), энтропийноекодирование(entropy coding) или Q-кодирование(Q-coding). Арифметическоекодированиеулучшает сжатиеХаффмана двумяпутями. Первоеусовершенствованиезаключаетсяв том, что ононе требует, чтобы выбранныекоды были целымчислом бит. Вто время каксжатие Хаффманамогло выбиратьдвух- и четырехбитовыекоды, программаарифметическогокодированияможет использоватькод длиной 6,23бит. (Что такое0,23 бит — чистофилософскийвопрос, еслиВас это заинтересовало, то в отдельномразделе Вынайдете другоеобъяснениеарифметическогокодирования.)Второе усовершенствование(которое можеттакже использоватьсяв сжатии Хаффмана)заключаетсяв том, что арифметическоекодированиеиспользуетболее сложнуюстатистику.Она не простоследит за частотойпоявления байтав файле, а оцениваетчастоту егопоявления вопределенномконтексте.Например, прииспользованииисходногоалгоритмасжатия Хаффманасимвол «u», встречающийсяне слишкомчасто, мог быполучать довольнодлинный код.Но в сложнойпрограммеарифметическогокодированиясимвол «u», следующийза «q», будетзакодированочень компактно, так как высокавероятностьтого, что «u»следует сразуза «q». Комбинацияэтих двухусовершенствованийприводит оченьк эффективномусжатию.
Другие методысжатия предназначеныдля данныхопределенноготипа, а потомуони плохо подходятдля архивирования.Многие усовершенствованныеметоды, появлявшиесяв последнеевремя, основывалисьна синтезе этихтрех методов(например, использованиекодов Хаффманадля записейсловаря) иливыполнениясложной предварительнойобработкиданных, увеличивающейэффективностьсжатия однимиз этих методов.
Возможно, однимиз наиболеесущественныхсобытий запоследниенесколькодесятилетийв области алгоритмовсжатия сталопоявлениепатентов напрограммноеобеспечение.С 1981 United States Patent and Trademark Office (USPTO) началприниматьзаявки напатентованиеалгоритмовпрограммногообеспечения.Многие изпредставленныхпатентов былипо методамсжатия. Наиболееизвестные изних — патентыфирмы Unisys на алгоритмсжатия LZWи патенты фирмыIBM на арифметическоекодирование.К сожалению, первоначальноработа по обработкезаявок в USPTO былапоставленаневажно. В результатечего разнымлюдям предоставлялисьразличныепатенты на одини тот же алгоритм(причем иногдас почти идентичнойформулировкой).Некоторые изэтих патентовоспаривалисьв судебномпорядке, новысокая стоимостьсудебногоразбирательстваисков резкоснижает количествотаких претендентов.
Одинположительныйрезультатвведения патентованиявряд ли приходитсяоспаривать.Патентованиепрограммногообеспеченияспровоцировалопоявлениеогромногоколичестваработ по разработкеновых алгоритмовсжатия (большаячасть которыхбыстро патентуетсяих изобретателями).Однако другойэффект былабсолютноотрицательный.Многие из алгоритмовсжатия использовалисьспецифическимобразом, например, как частьмеждународныхстандартов(V.42bis и JPEG).Кроме того, отдельныекомпании ипользователископировалиобщедоступныйкод (так, реализацияcomdivss LZW широко копироваласьдля самых разныхцелей). Финансовыештрафы заиспользованиеэтих алгоритмов(в форме авторскихотчисленийк владельцампатента) отвращалиот поддержкиэтих стандартовавторов условно-бесплатногои бесплатногопрограммногообеспеченияили бесплатныхбиблиотек.Некоторыекомпании публичнообъявили о том, что они не будуттребоватьавторскихотчисленийза использованиеих запатентованныхалгоритмовв бесплатномпрограммномобеспечении.Однако такпоступилидалеко не все.Пока неясно, как этот конфликтотразится наиндустриибесплатногопрограммногообеспеченияи на патентномзаконодательстве.По крайнеймере, однаорганизация,League for Programming Freedom, боретсяс патентамипрограммногообеспеченияи предпринимаетактивные шагипо их отмене.
В данной работебудут рассмотренытолько современныеспособы архивацииданных, а именноспециализированныепрограммыархиваторы.Устаревшиепрограммырезервногокопированиятипа BACKUP-RESTOREрассматриватсяне будут, ввидуих отсутствияв новых версияхMS DOS, начиная MSDOS 6.22.
АрхиваторыMS DOS.
С развитиемкомпьютерастали увеличиватьсяи объемы информациихранимой в нем, что в свою очередьпривело к развитиютехнологийпо хранениюэтой информациив сжатом виде, то есть в архивах.Для этого былопридуманомножествопрограммосуществляющихархивациюинформации.
Однако в работес этой информациейиногда нежелательнораскрыватьполный архив, чтобы взятьодин или дватребуемых файлаили же простопосмотреть, что в архивеза информация.
Программы-архиваторы, за исключениемединиц, непредоставляютудобных оболочекпозволяющихпросто, быстрои в нагляднойформе разобратьсяс содержимымархивов.
Архиваторы — это программы, позволяющиесоздавать иобрабатыватьархивные копиифайлов. Приэтом из архивныекопии имеютменьший размер, чем оригиналы.С помощью специальныхалгоритмовсжатия из файловудаляется всяизбыточнаяинформация, а при примененияобратных алгоритмовраспаковкиархивная копиявосстанавливаетсяв первоначальномвиде.
Наиболее известныепрограммы-архиваторыдля MS-DOS: ARJ(разработчик-- Robert K. Jung), pkzip
(компания PKWAREInc.), lha (Haruyasu Yoshizaki), zoo (Rahul Dhesi).Безусловнымлидером во всеммире за последние5 лет стал архиваторRAR.В настоящеевремя RARактивновытесняет ZIPкак основнуюутилиту сжатияFTP архивовв сети INTERNET.RAR я являетсяединственнойвсемирно используемойпрограммой, созданнойрусским программистом(за исключениемTETRIS).Все архиваторыотличаютсяиспользуемымиалгоритмамисжатия, форматамиархивных файлов, скоростьюработы и т.д.
Термины, используемыев архивации
Add file Добавление(копировние)файла в архив.Если архив несуществует, то он создается.
CRC Код циклическогоконтроля. Специальнаяфункция отвсего содержимогофайла. Составляетсятаким образом, что изменитьфайл так, чтобыего CRC осталсянеизменным, практическиневозможно.
Exclude selected files При архивацииНЕ добавлятьв архив определенныефайлы.
Extract files Извлечениефайлов из архивабез сохраненияструктурыподкаталогов.
Extract files with pathnames Извлечениефайлов из архивас сохранениемструктурыподкаталогов.
Fresh files Добавлениев архив новыхверсий ужеимеющихся тамфайлов.
Garble (или scramble) files with passwordАрхивацияфайлов с паролем.Извлечь файлыиз такого архиваможно, лишьправильноуказав пароль.
Move files Перемещениефайлов в архив.
Multiple volumes Многотомныеархивы — состоящиеиз несколькихфайлов (томов).Удобны приархивациибольших комплексовфайлов, когдатома архиваможно помещатьна отдельныедискеты.
Ratio Степень сжатияфайла. Определяетсяпо-разному вразличныхархиваторах(отношениеисходного ксжатому либонаоборот).
Recurse subdirectories Архивацияфайлов из заданногокаталога и всехего подкаталогов.В архиве сохраняетсяинформацияо пути к файлам, и при извлеченииих можно выводитьне в один каталог, а в соответствующиеподкаталоги.
Self-extract (sfx)archive Самораспаковывающийсяархив. Архивныйфайл имеетрасширение.exe.или com, и послеего запускапроисходитавтоматическоеизвлечениефайлов из архива.
Test integrity Проверкацелостностиархива, т.е. проверкаCRCфайлов архива.
Update files Добавлениев архив новыхфайлов.
АрхиваторARJ
Работает изкоманднойстроки. Выполняетвсе функциипо обслуживаниюархивов .arj, в т.ч.поддержкумноготомныхархивов.
Получить справкупо ключам архиватораarj с помощьюкоманд:
arj(обычнаясправка)
arj /?(подробнаясправка)
Arj имеет оченьбольшое числоключей. Можноавтоматизироватьмного действий-- создание резервнойкопии диска, архивированиеначиная с какой-тодаты, добавлениек имени архиватекущей даты(arh970821.arj), архивированиефайла с конкретногоместа, несколькоуровней сжатияи так далее. Вверсии 2.55 возможнаработа с длиннымиименами.
Достоинства:очень большоеколличествоключей, чтодает возможностьавтоматизироватьбольшое числофункций. Защитаархива отповреждений.
Недостатки:отсутствиедиалоговогорежима, некотороенеудобстваработы приналичии какого-тоключа в переменнойокружения(ARJ_SW) и строке запуска-- взаимноеуничтожение.
Работает изкоманднойстроки. Различныефункции пообслуживаниюархивов .zip выполняютсяразными программами:
pkzip- помещениефайлов в архив
pkunzip — извлечениефайлов из архива
zip2exe — созданиесамораспаковывающегосяархива
pkzipfix — восстановлениеповрежденногоархива.
Изучить справкупо работе сархиваторомpkzip с помощьюкоманд:
pkzip /h
pkunzip /h
zip2exe /h
RAR
Архиватор RARv2.50 для DOS — Интегрированнаяпрограммауправленияархивами
RAR — это оченьмощное средстводля созданияархивов и управленияими. ВозможностиRAR:
Полноэкранный интерактивный интерфейс (отключаемый);
Поддержка мыши и меню;
Поддержка не-RAR архивов;
'Стандартный' интерфейс командной строки;
Оригинальный высокоэффективный алгоритм сжатия данных;
Специальный алгоритм для сжатия мультимедийных файлов;
Лучшая степень упаковки, чем у аналогичных продуктов, за счет использования режима «непрерывного» сжатия;
Информация об авторе архива (только в зарегистрированной версии);
Самораспаковывающиеся (SFX) обычные и многотомные архивы;
Восстановление физически поврежденных архивов;
Язык программирования для инсталляционных SFX-архивов;
Блокировка, шифрование, список порядка файлов, метки томов и др.
QUARK
Quark являетсяархиваторомклассическоготипа, использующимLZ77-алгоритм дляуплотненияисходных данныхпутем кодированияповторяющихсяпоследовательностейбайт (RSE-алгоритм)с последующимвторичнымуплотнениемсжатого потокакодами Хаффмана.Подобные методыиспользуютвсе три лидерав области упаковкиданных — архиваторыARJ,LHA,PkZIP.
Тем не менее,Quark добиваетсялучших результатовв компактностиданных прискорости лучшейчем LHA, не меньшей чему ARJи не сильноотличающейсяот скоростиPkZIP, при использованииим т.н. максимальнойкомпрессииданных. Этообусловленонесколькимипричинами:
1)Quark работает сплавающимразмером окнаот 32Kb до 64Kb (противфиксированных16Kb у LHA, и 32Kb у PkZIP и ARJ).
2)Quark выполняетоптимизациюПервого рода(оптимальностьадресов ссылокLZ77) и оптимизациюВторого рода(оптимальностьссылочногопокрытия потока).
3)Quark используеттекстовуюредукцию длятекстовыхфайлов.
4) Quark заноситв архив минимумслужебнойинформации, не претендуяна иные аппаратныеплатформы иоперационныесистемы.
GZIP
Gzip сокращаетразмер заданныхфайлов используякодированиеЗива-Лемеля(LZ77). Когда возможно, каждый файлзамещаетсяфайлом с расширением'.gz', при этом сохраняютсявладелец, режимы, доступ и временамодификации(Другие расширения'-gz' для VMS, 'z' для MSDOS,OS/2, FAT и Atari). Если никакихфайлов не указаноили имя файла'-', то пакуетсястандартныйввод и выдаетсяна стандартныйвывод. Gzip пытаетсяпаковать толькообычные файлы, в частностиGZip игнорируетсимволическиессылки.
Gzip используеталгоритм Зива-Лемелятакже как Zip, PKZIP.Итоговый размер, полученногофайла послесжатия, зависитот размераисходного файлаи наличия в немобщих подстрок.Обычно, такойтекст, как исходныйкод или английскийтекст сокращаетсяна 60-70%. Паковкас использованиемэтого алгоритмаобычно лучше, чем при использованииLZW(его используетComdivss), кодированиеХаффмана (егоиспользуетPack) или адаптированноекодированиеХаффмана (Compact).
Упаковка происходитнезависимоот того увеличилсяли размерупакованногофайл в сравнениис оригиналомили нет. Причинарасширения- несколькобайтов длязаголовка Gzipфайла, плюс 5байтов длякаждого 32К блока, или отношениерасширения0.015% от длины файла.Заметим, чтофактическоечисло занятыхна диске блоковуже никогдане возрастает.Gzip сохраняетрежимы доступа, владельцеви время модификациифайлов приупаковке ираспаковке...
ARJZARJZ (по воле авторапрограммыпроизноситсякак «арж-зет»)- это архиватор, основанныйна известнойпрограмме ARJРоберта Юнга.В отличие оттаких современныхсредств архивирования, как RARи UC2,ARJZ используетформат файлов, команднуюстроку и опции, совместимыес одной из самыхпопулярныхпрограмм сжатияданных, а этоимеет своипреимущества.В частности:
1)Практическивсё программноеобеспечение, рассчитанноена вызов ARJ, будетработать также и с программойARJZ без всякоймодификации.Например, ненадо будетпереписыватьни ARCVIEW, ни NC 4.0, ни DN, ни тех.BAT файлов, которыевы могли создатьза время пользованияARJ'ем.
2) Для того, чтобыиспользоватьвозможностиARJZ'а при работес вашими старымиархивами, вамсовсем не нужнопереархивироватьих заново.
3) Вы так же почтиизбавляетесьот необходимостиизучать новыйархиватор.Зная, как запускаетсяARJ, вы знаете, какзапускаетсяARJZ.
Однако, следуетиметь в виду, что:
1) ARJZ позволяетсжимать файлы, используя болеемощные методы, чем оригинальнаяпрограмма. Вэтом случаеARJ НЕ СМОЖЕТПРОВОДИТЬОБРАБОТКУПОЛУЧЕННЫХАРХИВОВ, СВЯЗАННУЮС РАСПАКОВКОЙ, т.е. деархивирование, тестированиеи т.д. В любомслучае вы сохранитевозможностьобновлять исливать архивы, переименовыватьили удалятьфайлы в них, атак же получатьсписок файловв архивах.
2) ARJZ/UNARJZ с однойстороны, поддерживаютне все командыи опции ARJ'а, а сдругой — вводятновые и этоможет создаватьпроблемы приработе. В действительноститакие проблемывстречаютсячрезвычайноредко и легкоразрешимы.
Достоинстваи недостатки
К достоинствамARJZ можно отнести:
1) Версии подDOS (реальный/расширенныйрежимы), OS/2 и NT. Впрограмму длярасширенногорежима DOS встроенрасширитель, поэтому онаработает накомпьютерах386+ без какого-либодополнительногопрограммногообеспечения.
2) Высокую скоростьсжатия: ARJZ сжимаетфайлы с тем жекачеством, чтои ARJ примернов полтора разабыстрее последнего(кроме версии, работающейв реальномрежиме).
3) Высокую степеньсжатия (в этомслучае полученныеархивы не будутраспаковыватьсяARJ'ем). По этомупараметру ARJZнаходится науровне RAR/UC2 (в этомвы можете убедитсясами — you see too ;-).
4) Так называемый«полуэкранныйинтерфейс».ARJZ может во времяработы выводитьна экран окошкос двумя индикаторамипроцесса, именемархива и именемпакуемого файла- это замечательнаяособенностьпредназначенаспециальнодля таких программ, как ARC- или ARJVIEW, SHEZ,ARJMENU, NC 4.0+, DN и др.
5) Здесь, конечноне место дляописания преимуществUNARJZ'а, но тем неменее… Высокаяскорость распаковки.Даже на XT UNARJZ работаетв среднем в1.5-2 раза быстрее, чем ARJ, а прииспользованииспециальнойопции (см. UNARJZ.DOC)разница возрастаетещё в два раза.
Важно отметить, что процедурыдеархиватораоптимизированыотдельно подпроцессоры286, 386, 486 и Pentium.
ARJZ написан таким образом, что его можно использовать и как отдельный архиватор и как надстройку над ARJ'ем: если он не может распознать команд или опций командной строки, то запускает оригинальную программу. Это, фактически, означает, что, используя ARJZ, вы, тем не менее, не теряете ни одной опции ARJ'а.
Недостатки ARJZ:
1) В ARJZ (по крайнеймере, пока) нетподдержкимноготомных(multi volume), резервных(backup) и самораспакующихся(SFX) архивов. Заметьте, что UNARJZ распаковываетлюбые архивы, созданныеARJ.
2) ARJZ не являетсяполноценнымархиваторомв том смысле, что он самостоятельноне удаляет ине переименовываетфайлы в архивах, не может сливатьархивы и т.д.Всю эту работуможно сделатьс помощьюоригинальнойпрограммы, поэтому нельзяговорить, чтопара ARJZ/UNARJZ полностьюзаменяет собойARJ.
Далее будуткратко рассмотреныменее популярныеархиваторы, которые, однаковсе еще используютсяв среде MSDOS.
Arhangel — этот архиваторбазируетсяна архиватореHA, но несовместимс ним. По заявлениюсоздателейэтот архиваторнаиболее подходитдля сжатияизображений(TIFF, BMP).
Достоинства: хорошее сжатиеграфическойинформации.
Недостатки: обилие ключейдля установкимаксимальногосжатия — простотеряешся какойвыбрать.
JAR — новый архиваториз семействаARJ. У меня он показалболее плохиерезультаты, нежели WinRAR, хотяв документациисказано, что«это лучшийархиватор втерминах компрессии».Другие тестытоже, вроде, подтверждают, что этот архиваторлучше WinRAR и другихподобных, ноон, безусловно, не занимаетпервое место.Возможностипримерно такиеже, как и у ARJ.
Достоинства:достаточнобыстрая работа, поддержкаrecovery record — возможностьвосстановлениясбойных архивов.
Недостатки:нет диалоговогорежима работы.
HA — Архиватор, написанныйHarry Hirvola в 1993 году. Работаетмедленно (илидаже оченьмедленно), но, по результатамтестов, хорошо.В данном тестеон не на первомместе по степенисжатия. Насколькоя знаю, он особеннохорошо сжимаеттекстовыефайлы, былапроведенаотдельнаяпроверка, котораяподтвердиладанный факт-- несмотря насолидный возрастэтот архиваторнеплохо сжимает: на 20% меньше, чемPKZIP. Таким образомдля сжатиябольших текстовыхфайлов лучшепользоватьсяHA (LGHA) чем WinRAR. Появилсяархиватор LGHA, который создаетточно такиеже архивы, нонемного быстрее.
Недостатки:Малое количествоключей, нескольконестандартныекомантды.Невозможностьсоздания архивовна несколькодискет исамораспаковывающиесяархивов. Неподдерживаетшифрование.
UC II (Ultra comdivss) — программа, работающаяиз команднойстроки, но имеющаядиалоговоеменю для настройкиразличныхпараметров.Есть возможностьдобавлятьrecovery record. Интереснаядополнительнаяпрограмма пошифрованиюархивов.
Недостатки:Разбивка надискеты толькофиксированнойдлинны и тольковнешней программой…
ACB — программароссийскогопрограммистаобеспечивающаяхорошее, дажеОЧЕНЬ хорошеесжатие, НО требующаяочень хорошегокомпьютера.По словамразработчиканеобходим какминимум 486 компс 15 мегабайтамиОЗУ. Но реальнотребуетсягораздо больше.Почему-то оченьмедленнаяраспаковка-- 27 мегабайтинформациипрограммараспаковывала3000 секунд (т.е. 50минут) и этопри том, чтопрограммазапускаласьна Pentium-200 с 32 мегабайтамиОЗУ.
Достинства:маленькийразмер программы, возможностьзащиты архивовот повреждения.
Недостатки:Очень завышенныетребованияк машине. Нехочет архивироватьбольшие файлыи ставить защитуот поврежденияна большиеархивы. Ещеодин форматкоманд — нестандартыекоманды.
Rkive — этот архиваторпо результатамсжатия занялтретье местов данном тестировании(в сходном тестеон пропустилвперед BOA и ACB). Тестышли с бета версией.
Достоинства:не смотря нанебольшойразмер архиватора(58 к) очень приличноесжатие.
Недостатки:неустойчиваяработа — на однойиз машин всевремя аварийноезавершениеработы архиватора(без сбоя системыв целом — то лимашина не нравится, то ли 16 мегабайтпамяти мало...).Нехватка памятипри был замеченеще один недостаток-- невозможностьприбавленияфайлов к существующимархивам. Отсутствуетвозможностьсоздания SFX архивов.
BOA — этот архиваторпо результатамсжатия занялвторое местосреди рассматриваемыхархиваторовтестировании(в сходном тестеон занял первоеместо). Но переходитьна этот архиватор, безусловно, рано, т.к. этотолько предварительнаяверсия длятестирования.
Достоинства:достаточнобыстро работает.
Недостатки:будем считать, что недостаткиприсутствуютиз-за бета-версии…
BIX — новый архиватор, который подаетхорошие надежды.Пока толькобета версия.Создан ИгоремПавловым. Авторпредупреждает, что если выбудете использоватьмаску "*.*", тоу вас не будутдобавлятьсяфайлы без расширения! Для добавлениявсех файловследует использоватьмаску "*"
DST -построентаким образом, что сжимаеттолько одинфайл. Выход изэтого — воспользоватьсяутилитой, котораяможет сжиматьсздавать одинфайл из нескольких.
Сравнениевресий архиваторовMS DOS иWindows.
Несмотря накажущуюся«моральнуюотсталость»MS DOS, в ряде случаевиспользованиеMSDOS-архиваторовможет бытьгораздо болееэффективным, по сравнениюс аналогичнымиверсиями дляWindows 9x.
Архиваторы работающщие в среде MSDOS работают в реальном режиме процессора. Это обеспечивает не менее чем в 1.5 раза большую производительность процессора, по сравнению с защищенным режимом Windows 9x (для процессоров P-II и старше).
Все версии архиваторов для MS DOS ( по крайней мере из рассмотренных выше), весьма эффективно используют память XMS или EMS. С учетом реального режима работы процессора, это дает еще 10-15 % выиграша в производительности.
Как ни странно, версии архиваторов для MS DOS часто используют более совершенные алгоритмы сжатия. Причина проста — в большинстве случаев в версиях архиваторов для MS DOS опробуются возможные усовершенствования, переносимые далее в Windows. Причем, иногда применение некоторых новшеств в Windows оказывается технически нецелесообразным. Пример — отказ от применения в архиваторе WinZip 8.0 Beta словаря пременной длинны более 128 кБайт, из-за переполнения кеш-памяти современных процессоров Pentium-II или Celeron.
Резюмируя, можно утверждать, что при прочихравных условиях(тип вычислительнойсистемы, степеньсжатия и др.)производительностьархивации(особенно упаковкис высокой степеньюсжатия) в архиваторах дляMS DOSпримернов 1.5-1.6 выше. Грубоговоря, в 1.5 разабыстрее. Длянебольшихархивов (до40-100MB) этоне являетсясущественным.Однако, есливыполнятьархивирование10000-15000 файлов общимобъемом более1-2Гб (типичныйобъем небольшогоFTP сервераINTERNET), разница вовремени можетсоставить до30-60 минут (Celeron-450MHz+ 64MB RAM).
И наконец, вслучае повреждениязагрузочныхфайлов Windows9x, единственнымспособом «спасти»архив, являетсяиспользованиепроверенныхи надежныхархиваторовдля MSDOS.
Литература.
Фигурнов В.Э. «IBM PC для пользователя. Краткий курс.» — М.: ИНФРА-М, 1998. — 480 с.: ил
PCMagazine, 1997-1999 гг.