Какую функцию выполняют упаковщики информатика кратко

Обновлено: 05.07.2024

Термин "архивация" не совсем точен. Главное назначение программ-архиваторов - сжатие файлов с целью экономии памяти. Поскольку со сжатыми файлами часто невозможно работать по их прямому назначению, их используют для хранения копий файлов, т.е. для их архивации . Сжатию (уплотнению) могут быть подвергнуты: файлы, папки, диски. Сжатие файлов и папок необходимо либо для их транспортировки, либо для резервного копирования, либо для обмена информацией по сети Интернет. Уплотнение дисков применяют для повышения эффективности использования их рабочего пространства (обычно для дисков недостаточной емкости).

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

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

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

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

Программные архиваторы действуют иначе. Они позволяют упаковать за один прием один единственный файл - исполняемую программу ЕХЕ-типа, но зато так, что заархивированная программа будет сразу после ее запуска на исполнение самораспаковываться в оперативной памяти и тут же начинать работу.

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

Для архивирования используются специальные программы - архиваторы или диспетчеры архивов. Наиболее известные архиваторы: WinZip; WinRar; WinArj. Эти программы обеспечивают возможность использования и других архиваторов, поэтому, если на компьютере, куда перенесены сжатые в них файлы, отсутствуют указанные программы, архивы можно распаковать с помощью другого архиватора. До сих пор широко используются и соответствующие программы, созданные в MS DOS, но способные работать и в Windows.

Почти все архиваторы позволяют создавать удобные самораспаковывающиеся архивы (SFX – Self-extracting-архивы) – файлы с расширением .ехе. Для распаковки такого архива не требуется программы-архиватора, достаточно запустить архив *.ехе как программу. Многие архиваторы позволяют создавать многотомные (распределенные) архивы, которые могут размещаться на нескольких дискетах.
Основными характеристиками программ-архиваторов являются:

  • скорость работы;
  • сервис (набор функций архиватора);
  • степень сжатия – отношение размера исходного файла к размеру упакованного файла.

Основными функциями архиваторов являются:

  • создание архивных файлов из отдельных (или всех) файлов текущего каталога и его подкаталогов, загружая в один архив до 32 000 файлов;
  • добавление файлов в архив;
  • извлечение и удаление файлов из архива;
  • просмотр содержимого архива;
  • просмотр содержимого архивированных файлов и поиск строк в архивированных файлах;
  • ввод в архив комментарии к файлам;
  • создание многотомных архивов;
  • создание самораспаковывающихся архивов, как в одном томе, так и в виде нескольких томов;
  • обеспечение защиты информации в в архиве и доступ к файлам, помещенным в архив, защиту каждого из помещенных в архив файлов циклическим кодом;
  • тестирование архива, проверка сохранности в нем информации;
  • восстановление файлов (частично или полностью) из поврежденных архивов;
  • поддержки типов архивов, созданных другими архиваторами и др.

Программа WinZip не входит в комплект поставки Windows. Для использования этого архиватора его необходимо предварительно установить на компьютер.
Создать новый архив или добавить файлы в уже существующий архив с помощью программы WinZip можно двумя способами.

I способ создания архива – с использованием контекстных меню (без предварительного запуска архиватора):

  1. Выделить файл (файлы) или папку для архивирования.
  2. Вызвать контекстное меню и выбрать команду Add to Zip, после чего откроется окно WinZip, а поверх него диалоговое окно Add (Добавить). Но при архивировании одного файла или папки удобнее воспользоваться командой Add to *.zip, содержащую имя архива (по умолчанию). Эта команда позволяет выполнить операцию без открытия окна программы WinZip и диалогового окна Add.
  3. В диалоговом окне Add ввести путь и имя архива.
  4. Щелкнуть по кнопке Add.

II способ – с предварительным запуском архиватора:

  1. Запустить программу WinZip.
  2. Ввести команду меню File / New Archive (Файл / Новый архив) или щелкнуть по кнопке New на панели инструментов.
  3. В диалоговом окне New Archive в поле create in: (Поместить в:) указать диск и папку, куда должен быть помещен создаваемый архив.
  4. В поле Имя файла: ввести имя создаваемого архива и щелкнуть OK.
  5. В окне WinZip ввести команду ACTIONS / Add (ДЕЙСТВИЯ/ добавить) либо щелкнуть по кнопке Add на панели инструментов.
  6. В диалоговом окне Add выделить файлы для архивирования, ввести необходимые параметры и щелкнуть по кнопке Add. Выделенные файлы будут помещены в архив, а в окне программы WinZip появится информация об архиве.
  7. Для завершения операции следует выполнить команду FILE / Close Archive (Файл / Закрыть архив).

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

I способ – без предварительного запуска архиватора:

  1. Открыть окно необходимой папки и выделить файл архива для распаковки.
  2. Вызвать контекстное меню и выбрать команду Extract to. (Извлечь в. ). Откроется диалоговое окно Extract (Извлечь).
  3. В поле Extract to: указать диск и папку, куда должны быть помещены распакованные файлы.
  4. Щелкнуть по кнопке Extract.

II способ – с предварительным запуском архиватора:

  1. Запустить WinZip.
  2. Ввести команду File/Open Archive (Файл/ Открыть архив) либо щелкнуть по кнопке Open на панели инструментов.
  3. Открыть папку, содержащую файл архива, и выбрать имя файла, который необходимо распаковать.
  4. Щелкнуть по кнопке Открыть. Имена файлов, содержащихся в этом архиве, появятся в окне программы.
  5. Выделить файлы для разархивирования.
  6. Ввести команду ACTIONS / Extract (ДЕЙСТВИЯ / Извлечь) либо щелкнуть по кнопке Extract на панели инструментов.
  7. В открывшемся диалоговом окне Extract указать диск и папку, куда должны быть помещены распакованные файлы. При распаковке всех файлов активизировать переключатель All Files (Все файлы).
  8. Щелкнуть по кнопке Extract.

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

  1. Запустить WinZip.
  2. Ввести команду File / Open Archive (Файл / Открыть архив).
  3. В диалоговом окне Open Archive найти и выделить нужный архивный файл.
  4. Щелкнуть по кнопке Открыть. Имена файлов, содержащихся в этом архиве, появятся в окне программы.
  5. Дважды щелкнуть по имени файла, который необходимо просмотреть. Файл откроется в окне программы, с которой он ассоциирован.
  6. Щелкнуть по кнопке View.

Типы архивов

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

  • .jpg - для графических данных;
  • .mpg - для видеоданных;
  • .mp3 - для звуковых данных.

Характерные форматы сжатия без потери информации:

  • .tif, .pcx и другие - для графических файлов;
  • .avi - для видеоклипов;
  • .zip, .arj, .rar, .lzh, .cab и др. - для любых типов файлов.

Основные алгоритмы сжатия

Говоря об алгоритмах сжатия, будем иметь в виду обратимые алгоритмы.

Алгоритм RLE (Run-Length Encoding) использует принцип выявления повторяющихся последовательностей. При сжатии записывается последовательность из двух повторяющихся величин: повторяемого значения и количества его повторений.

Исходная последовательность: 3, 3, 12, 12, 12, 0, 0, 0, 0.
Сжатая информация: 3, 2, 12, 3, 0, 4.
Коэффициент сжатия: 6/9*100% = 67%.

Алгоритм KWE (Keyword Encoding) предполагает использование словаря, в котором каждому слову соответствует двухбайтовый код. Эффективность сжатия увеличивается с ростом объема кодируемого текста.

Алгоритм Хафмана предполагает кодирование не байтами, а битовыми группами. В нем можно выделить три основные этапа.

Упако́вка исполни́мых фа́йлов — состоит в сжатии исполнимого файла и прикреплении к нему кода, необходимого для распаковывания и исполнения содержимого файла. Упаковка производится по ряду причин:

  • Упакованный файл занимает меньше места на жёстком диске, что помогает ускорить его загрузку в память
  • Некоторые виды упаковки совмещены с шифрованием содержимого файла для того, чтобы предотвратить обратную разработку программы
  • Также упаковка с шифрованием может использоваться для вирусописания — для того, чтобы зашифровать и видоизменить код вируса в попытке предотвратить обнаружение этого вируса системами, основанными на сигнатурах (антивирусами, СОВ, и т. п.)

Содержание

Упаковщик исполнимых файлов

Упаковщик исполнимых файлов — программа для уменьшения размера исполнимых файлов. В упакованный файл записывается сжатая копия оригинального файла и программа для распаковки.

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

Упакованный исполнимый файл является разновидностью самораспаковывающегося архива (SFX), в котором сжимаемая информация и программа для распаковки находится в одном файле.

Примеры упаковщиков

Помимо алгоритмов упаковки, встроенных в некоторые компиляторы и средства разработки (например, Visual C++ и т. п.), существует ряд инструментов для более специфических задач, например:

Распаковщики

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

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

Статические распаковщики — которые пытаются распаковать файл, не запуская его (например, CUP386 или UNP) — оказываются бесполезны, если алгоритм упаковки требует запуска файла.

См. также

Ссылки

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое "Упаковка исполняемых файлов" в других словарях:

Упаковщик исполняемых файлов — программа для уменьшения размера исполняемых файлов. В упакованный файл записывается сжатая копия оригинального файла и программа для распаковки. После запуска сжатого файла, распаковщик извлекает оригинальный код программы из архива (обычно… … Википедия

PECompact — Скри … Википедия

The Ultimate Packer for eXecutables — UPX the Ultimate Packer for eXecutables Тип Упаковка исполняемых файлов Написана на C++, Ассемблер ОС Microsoft Windows, DOS, 27 апреля 2008 Лицензия GNU GPL Сайт … Википедия

Mpress — Тип Упаковка исполняемых файлов Разработчик Matcode Software Операционная система Microsoft Windows, Mac OS Последняя версия 2.18 Лицензия Freeware Сайт … Википедия

UPX — the Ultimate Packer for eXecutables Тип Упаковка исполняемых файлов Написана на C++, Ассемблер Операционная система Microsoft Windows, Linux, MacOS, DOS, Atari Первый выпуск 26 мая 1998 год … Википедия

APLib — Тип Упаковка исполняемых файлов Разработчик Joergen Ibsen Написана на С Операционная система Microsoft Windows Языки интерфейса Английский Последняя версия 1.01 ( … Википедия

JCALG1 — Тип Упаковка исполняемых файлов Разработчик Bitsum Technologies Jeremy Collake Написана на Ассемблер Операционная система Microsoft Windows Языки интерфейса Английский … Википедия

ASPack — Вид главного окна Тип Упаковка исполняемых файлов Разработчик Алексей Солодовников (ASPack Software) … Википедия

EXPressor — Тип Упаковка исполняемых файлов Разработчик CGSoftLabs Написана на … Википедия

RePack — (рус. переупаковка, пересборка) архив, содержащий какую либо лицензионную или пиратскую версию компьютерной игры, с собственной программой установки/распаковки. Термин появился, когда начали выпускать игры объёмом более 4 5 ГБ. Суть… … Википедия

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

Упаковщики работают так же, как и архиваторы, за одним лишь исключением - они помещают процедуру распаковки (decompression procedure) в начало программы, которую только что сжали.

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

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

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


PECompact v2.76

Размер: 1,3 Mb

Распространение: shareware (14 дней опробования)

Утилита PECompact предназначена для сжатия файлов .exe, .dll, .scr с помощью многочисленных алгоритмов, которые доступны в меню Файл -> Изменить установки. -> Выбрать кодеки. В программе предусмотрена возможность выбора компонентов файлов, которых не следует подвергать компрессии (иконки, курсоры, шрифты и др.), а также функция оптимизации структуры файла, которая позволит без сжатия уменьшить его размер (опция "Trim Only"). Кроме того, PECompact имеет русскоязычный интерфейс и консольную версию - pec2.exe. Также позволяет работать с несколькими файлами сразу.


ASPack v2.12

Размер: 300 Kb

Распространение: shareware (30 дней опробования)

Упаковщик ASPack прост в использовании и, благодаря мощному алгоритму, позволяет добиться 40-70% сжатия для 32-битных приложений Windows. Поддерживаемые файлы: .exe, .dll, .ocx, .dpl, .bpl (файлы библиотек Delphi). Программа может проверить перед окончательной упаковкой функциональность exe-файла и, при нарушении его нормальной работы, отменить сжатие. Для любознательных: ASPack был написан в Borland Delphi 2.0. Русский язык поддерживается.


UpxVis v1.8

Размер: 350 Kb

Распространение: freeware

UPX (the Ultimate Packer for eXecutables) - быстрый упаковщик, работающий в консольном режиме и позволяющий достичь высоких коэффициентов сжатия. Также может выполнять декомпрессию. Поддерживаемые форматы файлов: exe, sys, com, pe (Win32), 386 (Linux) и др. Для UPX написано множество оболочек, значительно повышающих удобство работы с утилитой. Одной из них является UpxVis v1.8. В отличие от классического UPX, программа позволяет устанавливать защиту от декомпрессии и умеет упаковывать dll. Русский язык присутствует.


Подготовка к тестированию

Для качественного сравнения работы программ-упаковщиков были выбраны (случайным образом) исполняемые файлы (.exe) и динамически подсоединяемые библиотеки (.dll) известных приложений, а также мои программы, написанные в Delphi и Visual C++. Сравнение будет проходить по следующим критериям: размер упакованного файла, время компрессии и время декомпрессии, работоспособность файла после сжатия.

Во время тестирования преследуется цель максимально уменьшить размер выходного файла без увеличения времени его распаковки. Для этого в PECompact был выбран алгоритм FFCE, обеспечивающий хорошее сжатие и малое время запуска упакованного файла и установлен максимальный уровень сжатия (9). Остальные настройки - по умолчанию. В настройках ASPack были включены пункты "Сжимать ресурсы" и "Максимальное сжатие", а в UpxVis вместе с упаковкой ресурсов была установлена максимальная степень компрессии (10). Помните, что в ASPack и PECompact параметры упаковки нужно задавать для каждого файла в отдельности


Результаты

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

Упаковщики также были опробованы и на обычных установочных файлах, которые каждый из нас запускает по несколько штук в день. В основном, попадались "экзешники", содержащие экстра данные с жестко заданным смещением (оверлей). UPX с такими файлами работать отказался, а для остальных упаковщиков в настройках опять была включена опция "Сохранять оверлей". PECompact с компрессией справился нормально: программы загружались, но степень сжатия была незначительная. ASPack, напротив, только угробил "экзешники". Вывод: инсталляционные файлы программ упаковывать нет смысла, т.к. они, во-первых, плохо поддаются упаковке и, во-вторых, уже сжаты разработчиками.


Выводы

Упаковщик UPX с оболочкой UpxVis показал наилучшее сжатие исполняемых файлов (.exe). Учитывая то, что программа распространяется бесплатно, можно сказать, что для упаковки "экзешников" целесообразнее применять именно ее. Если UPX что-то не сможет сделать хорошо, то он вам об этом непременно сообщит. Для сжатия dll и файлов с оверлеем (не установочных!) лучше использовать ASPack, т.к. он работает надежнее и быстрее. Я, скорее всего, выберу именно его. А PECompact подкупает лишь возможностью выбора кодеков, с которыми можно поэкспериментировать на досуге. Он сжимает почти так же, как и ASPack, только иногда тратит на это больше времени.

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

Содержание работы

1.Введение 3
2.Программы архивации 3
3.Архивный файл 4
4.Архиваторы MS-DOS 5
4.1.PKZIP 5
4.2.ARJ 5
4.3.RAR 6
5.Архиваторы WINDOWS 15
5.1.WINRAR 2.5 15
5.2.WINZIP 7.0 17
6.Сравнительный тест быстродействия и степени сжатия 20
7.Список использованной литературы

Файлы: 1 файл

архиваторы.doc

Караганда 2011
СОДЕРЖАНИЕ

2.Программы архивации 3
3.Архивный файл 4

4.Архиваторы MS-DOS 5

4.1.PKZIP 5
4.2.ARJ 5
4.3.RAR 6

5.Архиваторы WINDOWS 15

5.1.WINRAR 2.5 15
5.2.WINZIP 7.0 17

6.Сравнительный тест быстродей ствия и степени сжатия 20

7.Список использованной литературы

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

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

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

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

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

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

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

Принцип работы архиваторов основан на поиске в файле "избыточной" информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того, чтобы хранить каждый байт, фиксируется количество повторяемых символов и их позиция. Например, архивируемый файл занимает 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 и тд.)

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

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

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

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

        • game.rar – заархивирован при помощи архиватора RAR.
        • game.arj – заархивирован при помощи архиватора ARJ.
        • game.zip - заархивирован при помощи архиватора ZIP.

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

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

        4.1. PKZIP

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