Программы-архиваторы
Оглавление
Введение
В данной дипломной работе раскрывается тема «Программы-архиваторы».
Я выбрал эту тему в связи с тем, что часто пользуюсь Интернетом и сталкиваюсь с информацией заархивированной различными программами - архиваторами. Поэтому я решил разобраться в том, что из себя, представляет такие программы, и как ими пользоваться.
Актуальность
В наше время пользователи ПК оперируют большими объемами информации. Для экономии места информацию необходимо архивировать. Для этого и созданы программы–архиваторы.
Целью дипломной работы является рассмотреть назначение и виды программ–архиваторов и выяснить, какие архиваторы на данный момент самые лучшие.
Задачи
Изучение понятии архивации, архивный файл, история создания архиваторов и сравнительный анализ программ архиваторов. Так-же рассмотрение программ архивации данных и методов архивации
Архиваторы - это специальные программы, которые позволяют работать с архивными файлами, т.е. запаковывать и распаковывать архивные файлы.
В практической части дипломной работы я хотел бы выяснить использование, каких программ – архиваторов на сегодняшний день более актуально.
Данная работа имеет большую теоретическую и практическую значимость, так как программы – архиваторы применяются во всех отраслях.
Таким образом, можно выделить следующие этапы данной работы:
- Назначение и характеристики архиваторов
- Алгоритмы сжатия данных
- Самораспаковывающиеся архивы
- Обзор и сравнительный анализ некоторых программ – архиваторов (ARJ, WinRar, WinZip)
История развития теории сжатия информации
В сороковых годах ученые, работающие в области информационных технологий, ясно поняли, что можно разработать такой способ хранения данных, при котором пространство будет расходоваться более экономно. Клод Шеннон, изучая нюансы различий между семантикой (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, получившем вполне естественное название compress. Они добавили несколько усовершенствований и опубликовали общедоступную версию этой программы в телеконференции Internet, благодаря чему многие пользователи смогли начать с ней работать.
Популярность алгоритма LZW в значительной степени связана с успехом программы compress. Исходный текст последней версии программы, осуществляющей как сжатие, так и декомпрессию, занимает всего 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". Комбинация этих двух усовершенствований приводит очень к эффективному сжатию.
Другие методы сжатия предназначены для данных определенного типа, а потому они плохо подходят для архивирования. Многие усовершенствованные методы, появлявшиеся в последнее время, основывались на синтезе этих трех методов (например, использование кодов Хаффмана для записей словаря) или выполнения сложной предварительной обработки данных, увеличивающей эффективность сжатия одним из этих методов. (Файлы JPEG с выборочно удаленными графическими данными можно затем сжать с помощью метода Хаффмана или арифметического кодирования. Для более эффективного кодирования с помощью методов, базирующихся на словаре, PNG преобразует графические данные, используя для этого простую методику фильтра.)
Возможно, одним из наиболее существенных событий за последние несколько десятилетий в области алгоритмов сжатия стало появление патентов на программное обеспечение. С 1981 United States Patent and Trademark Office (USPTO) начал принимать заявки на патентование алгоритмов программного обеспечения. Многие из представленных патентов были по методам сжатия. Наиболее известные из них - патенты фирмы Unisys на алгоритм сжатия LZW и патенты фирмы IBM на арифметическое кодирование. К сожалению, первоначально работа по обработке заявок в USPTO была поставлена неважно. В результате чего разным людям предоставлялись различные патенты на один и тот же алгоритм (причем, иногда с почти идентичной формулировкой). Некоторые из этих патентов оспаривались в судебном порядке, но высокая стоимость судебного разбирательства исков резко снижает количество таких претендентов.
Один положительный результат введения патентования вряд ли приходится оспаривать. Патентование программного обеспечения спровоцировало появление огромного количества работ по разработке новых алгоритмов сжатия (большая часть которых быстро патентуется их изобретателями). Однако другой эффект был абсолютно отрицательный. Многие из алгоритмов сжатия использовались специфическим образом, например, как часть международных стандартов (V.42bis и JPEG). Кроме того, отдельные компании и пользователи скопировали общедоступный код (так, реализация compress LZW широко копировалась для самых разных целей). Финансовые штрафы за использование этих алгоритмов (в форме авторских отчислений к владельцам патента) отвращали от поддержки этих стандартов авторов условно-бесплатного и бесплатного программного обеспечения или бесплатных библиотек. Некоторые компании публично объявили о том, что они не будут требовать авторских отчислений за использование их запатентованных алгоритмов в бесплатном программном обеспечении. Однако так поступили далеко не все. Пока неясно, как этот конфликт отразится на индустрии бесплатного программного обеспечения и на патентном законодательстве. По крайней мере, одна организация, League for Programming Freedom, борется с патентами программного обеспечения и предпринимает активные шаги по их отмене.
Сжатие не совершенно
Алгоритмы сжатия полезны, но и они имеют свои ограничения. Наиболее очевидное ограничение состоит в том, что никакой из методов сжатия (или комбинация методов сжатия) не совершенен. Некоторые данные могут даже, как это ни парадоксально, в результате применения одной из техник сжатия увеличиваться в размерах. Внимательно смотрите на то, как работает алгоритм сжатия. Заявление о том, что алгоритм может уменьшить в размере файлы с самыми разными типами данных, требует особого внимания. Хорошо написанные программы сжатия помещают в начало выходных данных маркер, указывающий на то, каким методом данные были сжаты. Если данные сжать не удалось, маркер указывает, что данные "не сжаты". При этом размер файла увеличивается на размер маркера.
Иногда программы сжатия утверждают, что они сжимают практически "любой файл на 16 килобайт" или "сжимают каждый файл, по крайней мере, на 30 процентов". Любое такое утверждение просто неверно, хотя некоторые весьма престижные издания стали публиковать объявления о таких программах. В 1992 году фирма WEB Technologies объявила о выходе новой программы сжатия DataFiles/16. При этом фирма сделала ряд интересных заявлений. Прежде всего, она утверждала, что с "помощью неоднократного использования DataFiles/16 фактически любое количество данных может быть уплотнено до 1024 байт".
Идея неоднократного использования программы сжатия для получения наиболее эффективного сжатия крайне привлекательна. Во многих отношениях эта идея - программистский аналог идеи вечного двигателя; люди никак не могут поверить в то, что это не возможно. Ниже Вы найдете доказательство того, что этого быть, увы, не может. Не один WEB делал подобные заявления, просто его голос оказался наиболее громким. Практически, при вторичном использовании любой хорошей программы сжатия размер будет уменьшаться на пару процентов. После чего повторные попытки будут приводить к обратному эффекту. Так что обещания WEB, к сожалению, остаются лишь обещаниями.
Как показала практика, некоторые из утверждений о суперсжатии любых данных были чистейшей воды обманом: часть якобы сжимаемых данных просто копировалась в некий невидимый файл, то же, что оставалось, конечно, было меньшего размера. В то время как такая схема выглядит внушительной в распечатке каталога, ее едва ли можно квалифицировать как "сжатие". Как правило, такие профанации без шума исчезали, и никто так и не исследовал этих "совершенных" методов сжатия.
Некоторые из утверждений
о совершенном сжатии на поверку
оказывались простым
Не трудно догадаться, почему любая методика сжатия должна увеличивать размеры некоторых файлов. Не забывайте о том, что это в действительности - техника "кодирования", которая берет некоторую информацию и хранит ее по-новому. Предубеждение против использования слова "сжатие" базируется лишь на том, что любой метод кодирования, уменьшающий объем одной информации, должен увеличивать объем другой.
Реальным доказательством работы метода является не кодирование (сжатие), а декодирование (распаковка). Метод сжатия, не позволяющий восстанавливать первоначальные данные, вряд ли полезен.
Проделаем небольшой мысленный эксперимент. Представьте, что в Вашем распоряжении оказалась программа сжатия, которая действительно уменьшает размер каждого файла. Также представьте, что Ваш компьютер имеет действительно большой жесткий диск, на котором хранятся всевозможные различные файлы длиной 10000 байт. Теперь предположим, что вы с помощью Вашей гипотетической программы сжатия сжали каждый из этих файлов. После завершения этой работы каждый из файлов стал короче 10 000 байт.
Это может показаться Вам несущественным, но все же, давайте точно определим, сколько на жестком диске файлов. Так как в каждом байте восемь бит, то у Вас должно быть 2 в степени 80 000 файлов, причем размер каждого из них точно 10 000 байт. В результате мысленного эксперимента у нас по-прежнему останется 2 в степени 80 000 файлов, каждый из которых будет короче, чем 10 000 байт. Однако не совсем понятно, каким образом могут получиться два совершенно одинаковых "сжатых" файла! А ведь именно это мы и получаем, поскольку не так уж и много существует файлов короче 10000 байтов. Предположив, что полученные файлы отличаются друг от друга по размеру всего на один байт, то есть 9 999 байтов, затем 9 998 байтов и так далее, вы получите меньше чем 2 в степени 80 000 возможных вариантов.
Таким образом, вы приходите к важному выводу, что, по крайней мере, два сжатых файла должны быть идентичны. Если не вся логическая цепочка, приводящая к этому выводу, для Вас очевидна, представьте, что у Вас есть пять перевернутых карт. Так как существуют только четыре варианта масти, вы знаете, что две из них имеют одинаковую масть (возможно, что все пять карт имеют одинаковую масть, но Вы не можете об этом знать наверняка). В данном случае применялся тот же принцип: эксперимент предполагал наличие 2 в степени 80 000 файлов, однако после сжатия возможное количество неодинаковых файлов стало меньше этого значения. Так как их число не должно было измениться, то по меньшей мере два файла должны быть одинаковы.
Совершенный метод сжатия, который должен сжимать каждый из файлов. В результате эксперимента стало очевидно, что, по крайней мере, два файла, различавшихся до сжатия, стали совершенно одинаковыми после сжатия. Однако методов, позволяющих из двух идентичных файлов в результате декомпрессии получить два разных оригинала, не существует!
Таким образом, этот мысленный эксперимент доказывает, что программы, которая сжимала бы каждый файл и могла бы, затем при необходимости все корректно распаковать, не существует. Конечно, программа сжатия, не позволяющая вам восстанавливать исходные данные, практически бесполезна. (Чтобы уменьшить размер газеты, вы можете ее сжечь, однако после)
Программы архиваторы
Программы-архиваторы, позволяют помещать копии файлов на диске в сжатом виде в архивный файл, извлекать файлы из архива, просматривать оглавление архива и т.д. Разные программы отличаются форм атом архивных файлов, скоростью работы, степенью сжатия файлов при помещении в архив, удобством использования.
Наиболее распространенные программы-архиваторы имеют приблизительно одинаковые возможности, и ни одна из них не превосходит другие по всем параметрам: одни программы работают быстрее, другие обеспечивают лучшую степень сжатия файлов. Даже если сравнивать программы только по степени сжатия, то среди них нет лидера: разные файлы лучше сжимаются разными программами.
Принцип работы архиваторов основан на поиске в файле "избыточной" информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того, чтобы хранить каждый байт, фиксируется количество повторяемых символов и их позиция. Например, архивируемый файл занимает 15 байт и состоит из следующих символов:
AAAAAABBBBBCCCCC
В шестнадцатеричной системе
42 42 42 42 42 4C 4C 4C 4C 4C 41 41 41 41 41
Архиватор может представить этот файл в следующем виде (шестнадцатеричном):
01 05 42 06 05 4C 0A 05 41
Это значит: с первой позиции пять раз повторяется символ "B", с позиции 6 пять раз повторяется символ "L" и с позиции 11 пять раз повторяется символ "A". Для хранения файла в такой форме потребуется всего 9 байт, что на 6 байт меньше исходного.
Описанный метод является простым и очень эффективным способом сжатия файлов. Однако он не обеспечивает большой экономии объема, если обрабатываемый текст содержит небольшое количество последовательностей повторяющихся символов. Более изощренный метод сжатия данных, используемый в том или ином виде практически любым архиватором, - это так называемый оптимальный префиксный код и, в частности, кодирование символами переменной длины (алгоритм Хаффмана). Код переменной длины позволяет записывать наиболее часто встречающиеся символы и группы символов всего лишь несколькими битами, в то время как редкие символы и фразы будут записаны более длинными битовыми строками. Например, в любом английском тексте буква E встречается чаще, чем Z, а X и Q относятся к наименее встречающимся. Таким образом, используя специальную таблицу соответствия, можно закодировать каждую букву Е меньшим числом бит и использовать более длинный код для более редких букв.
Популярные архиваторы ARJ, PAK, PKZIP работают на основе алгоритма Лемпела-Зива. Эти архиваторы классифицируются как адаптивные словарные кодировщики, в которых текстовые строки заменяются указателями на идентичные им строки, встречающиеся ранее в тексте. Например, все слова какой-нибудь книги могут быть представлены в виде номеров страниц и номеров строк некоторого словаря. Важнейшей отличительной чертой этого алгоритма является использование грамматического разбора предшествующего текста с расположением его на фразы, которые записываются в словарь. Указатели позволяют сделать ссылки на любую фразу в окне установленного размера, предшествующего текущей фразе. Если соответствие найдено, текущая фраза заменяется указателем на своего предыдущего двойника.
При архивации, как и при компрессировании, степень сжатия файлов сильно зависит от формата файла. Графические файлы типа TIFF и GIF уже заранее компрессированы (хотя существует разновидность формата TIFF и без компрессии) и здесь даже самый лучший архиватор мало чего найдет для упаковки. Совсем другая картина наблюдается при архивации текстовых файлов ВМР и им подобных.
Все программы для архивации условно можно разделить на две категории:
- Для командной строки MS-DOS (ARJ, PKZIP, RAR и тд.)
- Для ос WINDOWS (WINZIP, WINRAR и т. д.)
Понятие архивации
Архивные файлы – это документы, рисунки и другие файлы, которые специально сжаты (упакованы) с целью более рационального размещения на дискете или для передачи по электронной почте через интернет. При этом архивный файл занимает в несколько раз меньше места (иногда в 10 - 100 раз) и может быть свободно размещен на дискете или более быстро отправлен по электронной почте (вместо 10мин. – 1-2 мин.)
Архивные файлы широко используются для передачи информации в Интернете и по электронной почте, причем благодаря сжатию информации повышается скорость её передачи. Это особенно важно при передаче информации по телефонной линии.
Архиваторы - это специальные программы, которые позволяют работать с архивными файлами, т.е. запаковывать и распаковывать архивные файлы.
Необходимость архивации связана также с необходимостью резервного копирования информации на диски и дискеты с целью сохранения ценной информации и программного обеспечения компьютера для защиты от повреждения и уничтожения (умышленного или случайного, под действием компьютерного вируса).
Архиваторы позволяют сжимать информацию в памяти компьютера при помощи специальных математических методов. При этом создается копия файла меньшего размера. В одном архиве может храниться сразу несколько файлов или даже несколько папок. Это даёт возможность разместить больше информации на диске или дискете.
Коэффициент сжатия характеризует процентное отношение сжатого (архивного) файла по отношению к исходному, т.е. Kсжатия = (Laрхив/Lисхоный) 100%
Однако удобнее использовать обратное отношение, которое показывает во сколько раз архивный файл меньше исходного. Kуменьшения = (Lисхоный/ Laрхив)
Существует два основных метода архивации
Алгоритм Хаффмана. Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 1 байта, а для записи редких символов – более длинные, то суммарный объем файла уменьшится. Например буквы а,о,е,и – встречаются очень часто в русском тексте, объем каждой буквы равен 1 байт (8 бит), их можно заменить на цифры 0,1,2,3, которые можно разместить в 2-х битах. Т.е. сжатие будет равен 25%, т.е. сжатие в 4 раза.
Алгоритм Лемпеля-Зива. Классический алгоритм Лемпеля-Зива – LZ77, названный так по году своего опубликования. Он формулируется следующим образом : «если в более раннем тексте уже встречалась подобная последовательность байт, то в архивный файл записывается только ссылка на эту последовательность (смещение, длина), а не сам текст». Так фраза «КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ» [24] закодируется в последовательность «КОЛО(-4,3)_О(-6,4)_(-7,7)ЬНИ» [13]. Коэффициент сжатие - 54%. Аналогично сжимается изображение. Большие области одного цвета заменяются на ссылку: (цвет, длина) Графические файлы сжимаются очень хорошо– в 100–200 раз
Типы архивных файлов
В файловой системе компьютера архивные файлы имеют строго заданный тип (расширение). Так, наиболее часто встречающиеся архивы имеют тип: ZIP, RAR, ARJ.
Кроме них на компьютерах используются архивы: CAB, LZH, TAR, GZ, UUE, BZ2, ISO…
Архивный файл
Архивный файл представляет собой набор из одного или нескольких файлов, помещенных в сжатом виде в единый файл, из которого их можно при необходимости извлечь в первоначальном виде. Архивный файл содержит оглавление, позволяющее узнать, какие файлы содержаться в архиве. В оглавлении архива для каждого содержащегося в нем файла храниться следующая информация:
- имя файла;
- сведения о каталоге, в котором содержится файл;
- дата и время последней модификации файла;
- размер файла на диске и в архиве;
- код циклического контроля для каждого файла, используемый для проверки целостности архива;
Определить с помощью, какой программы был заархивирован тот или другой архивный файл, можно при помощи расширения. Например:
- game.rar – заархивирован при помощи архиватора WinRAR;
- game.arj – заархивирован при помощи архиватора ARJ;
- game.zip - заархивирован при помощи архиватора ZIP.
Невольно возникает вопрос, зачем столько архиваторов и все для одной лишь цели – сжать объем файла. Разные программы отличаются форматом архивных файлов, скоростью работы, степенью сжатия файлов при помещении в архив, удобством использования.
Архиваторы MS DOS
С развитием компьютера стали увеличиваться и объемы информации хранимой в нем, что в свою очередь привело к развитию технологий по хранению этой информации в сжатом виде, то есть в архивах. Для этого было придумано множество программ осуществляющих архивацию информации.
Однако в работе с этой информацией иногда нежелательно раскрывать полный архив, чтобы взять один или два требуемых файла или же просто посмотреть, что в архиве за информация.
Программы-архиваторы, за исключением единиц, не предоставляют удобных оболочек позволяющих просто, быстро и в наглядной форме разобраться с содержимым архивов.
Наиболее известные программы-архиваторы для MS-DOS: ARJ (разработчик - Robert K. Jung), PKZIP(компания PKWARE Inc.), IHA (Haruyasu Yoshizaki), ZOO (Rahul Dhesi). Безусловным лидером во всем мире за последние 5 лет стал архиватор RAR. В настоящее время RAR активно вытесняет ZIP как основную утилиту сжатия FTP архивов в сети INTERNET. RAR является единственной всемирно используемой программой, созданной русским программистом (за исключением TETRIS). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.
ARJ
Программа ARJ (разработчик - Robert K. Jung) относится к числу наиболее известных продуктов своего класса. Она выполняет все функции по обслуживанию своих, архивов, может помещать файлы в архив, извлекать файлы из архива, и делать «самоизвлекающиеся» файлы и так далее.
Программа ARJ позволяет:
- защищать каждый из помещенных в архив файлов 32-битовым циклическим кодом, тестировать архив, проверяя сохранность в нем информации;
- получать помощь по работе на 3 международных языках;
- вводить в архив комментарии к файлам;
- запоминать в архиве пути к файлам;
- сохранять в архиве несколько поколений (версий) одного и того же файла;
- переупорядочивать архивный файл по размерам файлов, именам, расширениям, дате и времени модификации, коэффициенту сжатия и др.;
- осуществлять поиск строк в архивированных файлах;
- восстанавливать файлы из разрушенных архивов;
- создавать самораспаковывающиеся архивы как на одном томе, так и на нескольких томах;
- просматривать содержимое текстовых файлов, содержащихся в архиве;
- обеспечивать защиту информации в архиве и доступ к файлам, помещенным в архив, по паролю.