Для сдачи тестов, рубежного контроля, а также закрепления материала используйте браузеры MS Internet Explorer, Mozilla Firefox, Chromium
    Главная страница электронного учебника План урока
    Содержание дисциплины

    Содержание дисциплины


    Учебная тема
    Программы архиваторы

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

    Для сохранения информации можно конечно её дублировать, однако при этом копии занимают столько же места, сколько занимают исходные файлы, и для копирования нужных файлов может потребоваться много дискет. Например, для копирования файлов с жесткого диска емкостью 1,2 Гбайт необходимо 854 дискеты емкостью по 1,44 Мбайт. В таком большом количестве дискет даже разобраться довольно трудно, поэтому трудоемкость создания и обновления копии будет весьма значительной.

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

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

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

    Программы архивации

    Различными разработчиками были созданы специальные программы для архивации файлов. Часть из них распространяется бесплатно, часть — на коммерческой основе (за плату).

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

    Наиболее распространенные программы-архиваторы имеют приблизительно одинаковые возможности и ни одна из них не превосходит другие по всем параметрам: одни программы работают быстрее, другие обеспечивают лучшую степень сжатия файлов. Даже если сравнивать программы только по степени сжатия, то среди них нет лидера: разные файлы лучше сжимаются разными программами.

    Принцип работы архиваторов основан на поиске в файле "избыточной" информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того чтобы хранить каждый байт, фиксируется количество повторяемых символов и их позиция. Например, архивируемый файл занимает 15 байт и состоит из следующих символов:

    B B B B B L L L L L A A A A A

    В шестнадцатеричной системе

    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 и т.д.)

    Архивный файл

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

      • имя файла;
      • сведения о каталоге, в котором содержится файл;
      • дата и время последней модификации файла;
      • размер файла на диске и в архиве;
      • код циклического контроля для каждого файла, используемый для проверки целостности архива;

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

        • game.rar – заархивирован при помощи архиватора RAR.
        • 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). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.

    PKZIP

    Работает из командной строки. Различные функции по обслуживанию архивов zip

    выполняются разными программами:

    pkzip - помещение файлов в архив

    pkunzip - извлечение файлов из архива

    zip2exe - создание самораспаковывающегося архива

    pkzipfix - восстановление поврежденного архива.

    Изучить справку по работе с архиватором pkzip с помощью команд:

    pkzip /h

    pkunzip /h

    zip2exe /h

    ARJ

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

    Arj имеет очень большое число ключей. Можно автоматизировать много действий - создание резервной копии диска, архивирование начиная с какой-то даты, добавление к имени архива текущей даты (arh970821.arj), архивирование файла с конкретного места, несколько уровней сжатия и так далее. В версии 2.55 возможна работа с длинными именами.

    Достоинства: очень большое количество ключей, что дает возможность автоматизировать большое число функций. Защита архива от повреждений.

    Недостатки: отсутствие диалогового режима, некоторое неудобства работы при наличии какого-то ключа в переменной окружения (ARJ_SW) и строке запуска - взаимное уничтожение.

    RAR

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

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

    По своим техническим характеристикам RAR не уступает широко распространенным и популярным архиваторам, а по некоторым показателям превосходит их.

    На файлах типа .EXE, .COM, .LIB, .OBJ, .OVR и аналогичных им RAR как правило обеспечивает максимальную по сравнению с другими архиваторами степень сжатия, превосходя их примерно на 0.5 - 3%

    На отдельных файлах (больших .LIB, некоторых других) выигрыш может достигать 5-7% от упакованного размера. Метод сжатия обычно существенно не влияет на результат.

    Текстовая информация сжимается примерно на уровне других архиваторов (зависит от вида текста и метода сжатия) на файлах до 32 килобайт размером. На больших текстовых файлах RAR обычно превосходит большинство других архиваторов.

    При упаковке файлов баз данных существенно влиять на размер и время работы может метод сжатия (m0 - m5).

    Степень сжатия графической информации сильно зависит от рода файлов.

    При создании непрерывного (solid) архива, содержащего много небольших однотипных файлов, степень сжатия на 10 - 40 % и более превосходит достигаемую при упаковке в обычный архив.

    Помимо стандартных функций RAR обеспечивает

    Полноэкранный интерфейс:

      • выбор упаковываемых и распаковываемых файлов;
      • эмуляция структуры подкаталогов в архиве;
      • работа с "мышью";
      • сохранение параметров в файле конфигурации;
      • просмотр упакованных и обычных файлов в текстовом или 16-ричном виде.

    Специальные функции:

      • разбиение архива на части (volumes) для переноса на дискеты;
      • создание и модифицирование самораспаковывающихся архивов (SFX);
      • создание самораспаковывающихся архивных томов (SFX);
      • создание непрерывных (solid) архивов с повышенной степенью сжатия;
      • защита информации по паролям;
      • защита архивов от модификации;
      • сохранение информации об авторе архива;
      • восстановление структуры поврежденных архивов;
      • добавление комментариев ко всему архиву и к отдельным файлам;
      • встроенная поддержка ANSI escape последовательностей в комментариях.

    Работа с архивами ZIP, ARJ, LZH в полноэкранном режиме:

      • выбор упаковываемых и распаковываемых файлов
      • эмуляция структуры подкаталогов в архиве
      • выполнение основных операций над архивами

     

    Архиваторы WINDOWS

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

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

    WinRAR

    Разработанная российским программистом Евгением Рошалем утилита WinRAR позволяет работать с ZIP-архивами, но основным форматом для нее является RAR (также разработка Рошаля). Кроме того, есть возможность создавать самораспаковывающиеся EXE-архивы, а также использовать внешние программы для распаковки и просмотра архивов типа ARJ, LZH и CAB. Программа создает многотомные архивы лишь в формате RAR.

    Формат RAR превосходит ZIP, ARJ и LZH по эффективности сжатия, однако в наибольшей степени преимущество этой технологии проявляется в случае “непрерывных” архивов, которые не допускают внесение изменений и обрабатываются довольно медленно.

    Дистрибутив WinRAR — EXE-файл объемом около 650 Кбайт, после инсталляции пакет занимает почти 1,5 Мбайт. Имеются версии архиватора на английском и русском языке.

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

    Утилита Е. Рошаля компактна, удобна, в достаточной мере универсальна, ее цена не такая привлекательная, как у WinZip, но меньше, чем у других лидеров этого обзора — ZIP Explorer Pro и Zip Magic, так что для многих WinRAR может стать наилучшим выбором.

    WinRAR - это х-разрядная версия популярного архиватора RAR для Windows, мощного средства создания архивов и управления ими.

    Возможности WinRAR:

      • полная поддержка архивов RAR и ZIP;
      • оригинальный высокоэффективный алгоритм сжатия данных;
      • специальный алгоритм мультимедиа-сжатия;
      • оболочка с поддержкой технологии перетащить – и - оставить (drag & drop);
      • интерфейс командной строки;
      • управление архивами других форматов (CAB, ARJ, LZH, TAR, GZ, ACE, UUE);
      • поддержка непрерывных (solid) архивов, в которых степень сжатия может быть на 10 - 50% больше, чем при обычных методах сжатия, особенно при упаковке значительного количества небольших похожих файлов;
      • поддержка многотомных архивов;
      • создание самораспаковывающихся (SFX) обычных и многотомных архивов с помощью стандартного или дополнительных модулей SFX;
      • восстановление физически поврежденных архивов;
      • другие дополнительные функции, например, шифрование, добавление архивных комментариев (с поддержкой ESC-последовательностей ANSI), ведение протокола ошибок и пр.

    Количество добавляемых в архив файлов зависит от объема доступной памяти и длины их имен. Для добавления одного файла нужно ориентировочно 128 байт памяти. Например, для архивации миллиона файлов необходимо около 128 Мб памяти. WinRAR тестировался на архивах, содержащих до 10 миллионов файлов.

    Размер архива RAR, также как и любого файла в архиве RAR, ограничен объемом 8 589 934 591 Гб (9 223 372 036 854 775 807 байт).

    Размер архива ZIP, также как и любого файла в архиве ZIP, не может превышать 4 Гб.

    Кроме WinRAR, в комплект поставки входит файл Rar.exe. Это также х-разрядная версия RAR для Windows, но она поддерживает только интерфейс командной строки и работает в текстовом режиме. Обычно консольная версия RAR используется для вызова из пакетных файлов (BAT и CMD), для запуска из приглашения DOS и др. Она поддерживает больше команд и ключей в командной строке, чем WinRAR.

    WinZip

    Условно-бесплатная утилита, разработанная компанией Nico Mak Computing, наверное, самая знаменитая программа архивации для Windows. EXE-файл с дистрибутивом WinZip занимает около 940 Кбайт, после установки объем файлов программы составляет 2 Мбайт.

    Программа имеет встроенные средства для манипулирования архивами и упакованными файлами в форматах ZIP, TAR, GZIP и CAB, а также позволяет подключать внешние модули для работы с ARJ-, ARC- и LZH-файлами. Все операции с архивами можно выполнять с помощью перетаскивания, длинные имена объектов (в том числе кириллические) обрабатываются нормально. Имеется функция парольной защиты, создания самораспаковывающихся EXE-файлов, многотомных архивов на съемных носителях.

    К сожалению, программа не показывает в графическом виде структуру упакованных архивов, а представляет их содержимое в виде “плоских” списков.

    WinZip имеет богатые возможности настройки интерфейса, параметров просмотра архивов и интеграции с Windows — окно Configuration имеет шесть вкладок. Программа фиксирует имена обрабатываемых архивов и помещает их список в меню “Файл”. Кроме того, предусмотрено создание виртуальной папки избранных архивов (Favorites) для быстрого доступа к ним. Высокая репутация WinZip, несомненно, заслуженна, но безоговорочным лидером программа, пожалуй, все же не является.

    Сравнительный тест быстродействия и степени сжатия наиболее популярных архиваторов (WINRAR, WINZIP, RAR).

    Была сжата инсталляционная программа MS Office XP, по результатам теста были составлены следующие диаграммы:

    Начальный объем 284 МБ (298 502 392 байт)

    Архиваторы

    Время сжатия (в сек.)

    Конечный объем

    Степень сжатия (в %)

    WINRAR

    851

    276 МБ (289 776 458 байт)

    97,08

    WINZIP

    59

    276 МБ (290 110 408 байт)

    97,19

    RAR

    245

    167 МБ (176 049 935 байт)

    58,98

     

     

    - Содержание дисциплины


    Закрепление материала
    Тестирование материала
    Содержание дисциплины