Электронный учебник по "ит в профессиональной деятельности". Архиваторы

30.10.2019 Принтеры и сканеры

  • Перевод

Часть первая – историческая .

Введение

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

История

Иерархия алгоритмов:

Хотя сжатие данных получило широкое распространение вместе с интернетом и после изобретения алгоритмов Лемпелем и Зивом (алгоритмы LZ), можно привести несколько более ранних примеров сжатия. Морзе, изобретая свой код в 1838 году, разумно назначил самым часто используемым буквам в английском языке, “e” и “t”, самые короткие последовательности (точка и тире соотв.). Вскоре после появления мейнфреймов в 1949 году был придуман алгоритм Шеннона - Фано, который назначал символам в блоке данных коды, основываясь на вероятности их появления в блоке. Вероятность появления символа в блоке была обратно пропорциональна длине кода, что позволяло сжать представление данных.
Дэвид Хаффман был студентом в классе у Роберта Фано и в качестве учебной работы выбрал поиск улучшенного метода бинарного кодирования данных. В результате ему удалось улучшить алгоритм Шеннона-Фано.
Ранние версии алгоритмов Шеннона-Фано и Хаффмана использовали заранее определённые коды. Позже для этого стали использовать коды, созданные динамически на основе данных, предназначаемых для сжатия. В 1977 году Лемпель и Зив опубликовали свой алгоритм LZ77, основанный на использования динамически создаваемого словаря (его ещё называют «скользящим окном»). В 78 году они опубликовали алгоритм LZ78, который сначала парсит данные и создаёт словарь, вместо того, чтобы создавать его динамически.

Проблемы с правами

Алгоритмы LZ77 и LZ78 получили большую популярность и вызвали волну улучшателей, из которых до наших дней дожили DEFLATE, LZMA и LZX. Большинство популярных алгоритмов основаны на LZ77, потому что производный от LZ78 алгоритм LZW был запатентован компанией Unisys в 1984 году, после чего они начали троллить всех и каждого, включая даже случаи использования изображений в формате GIF. В это время на UNIX использовали вариацию алгоритма LZW под названием LZC, и из-за проблем с правами их использование пришлось сворачивать. Предпочтение отдали алгоритму DEFLATE (gzip) и преобразованию Барроуза - Уилера, BWT (bzip2). Что было и к лучшему, так как эти алгоритмы почти всегда превосходят по сжатию LZW.
К 2003 году срок патента истёк, но поезд уже ушёл и алгоритм LZW сохранился, пожалуй, только в файлах GIF. Доминирующими являются алгоритмы на основе LZ77.
В 1993 году была ещё одна битва патентов – когда компания Stac Electronics обнаружила, что разработанный ею алгоритм LZS используется компанией Microsoft в программе для сжатия дисков, поставлявшейся с MS-DOS 6.0. Stac Electronics подала в суд и им удалось выиграть дело, в результате чего они получили более $100 миллионов.

Рост популярности Deflate

Большие корпорации использовали алгоритмы сжатия для хранения всё увеличивавшихся массивов данных, но истинное распространение алгоритмов произошло с рождением интернета в конце 80-х. Пропускная способность каналов была чрезвычайно узкой. Для сжатия данных, передаваемых по сети, были придуманы форматы ZIP, GIF и PNG.
Том Хендерсон придумал и выпустил первый коммерчески успешный архиватор ARC в 1985 году (компания System Enhancement Associates). ARC была популярной среди пользователей BBS, т.к. она одна из первых могла сжимать несколько файлов в архив, к тому же исходники её были открыты. ARC использовала модифицированный алгоритм LZW.
Фил Катц, вдохновлённый популярностью ARC, выпустил программу PKARC в формате shareware, в которой улучшил алгоритмы сжатия, переписав их на Ассемблере. Однако, был засужен Хендерсоном и был признан виновным. PKARC настолько открыто копировала ARC, что иногда даже повторялись опечатки в комментариях к исходному коду.
Но Фил Катц не растерялся, и в 1989 году сильно изменил архиватор и выпустил PKZIP. После того, как его атаковали уже в связи с патентом на алгоритм LZW, он изменил и базовый алгоритм на новый, под названием IMPLODE. Вновь формат был заменён в 1993 году с выходом PKZIP 2.0, и заменой стал DEFLATE. Среди новых возможностей была функция разбиения архива на тома. Эта версия до сих пор повсеместно используется, несмотря на почтенный возраст.
Формат изображений GIF (Graphics Interchange Format) был создан компанией CompuServe в 1987. Как известно, формат поддерживает сжатие изображения без потерь, и ограничен палитрой в 256 цветов. Несмотря на все потуги Unisys, ей не удалось остановить распространение этого формата. Он до сих пор популярен, особенно в связи с поддержкой анимации.
Слегка взволнованная патентными проблемами, компания CompuServe в 1994 году выпустила формат Portable Network Graphics (PNG). Как и ZIP, она использовала новый модный алгоритм DEFLATE. Хотя DEFLATE был запатентован Катцем, он не стал предъявлять никаких претензий.
Сейчас это самый популярный алгоритм сжатия. Кроме PNG и ZIP он используется в gzip, HTTP, SSL и других технологиях передачи данных.

К сожалению Фил Катц не дожил до триумфа DEFLATE, он умер от алкоголизма в 2000 году в возрасте 37 лет. Граждане – чрезмерное употребление алкоголя опасно для вашего здоровья! Вы можете не дожить до своего триумфа!

Современные архиваторы

ZIP царствовал безраздельно до середины 90-х, однако в 1993 году простой русский гений Евгений Рошал придумал свой формат и алгоритм RAR. Последние его версии основаны на алгоритмах PPM и LZSS. Сейчас ZIP, пожалуй, самый распространённый из форматов, RAR – до недавнего времени был стандартом для распространения различного малолегального контента через интернет (благодаря увеличению пропускной способности всё чаще файлы распространяются без архивации), а 7zip используется как формат с наилучшим сжатием при приемлемом времени работы. В мире UNIX используется связка tar + gzip (gzip - архиватор, а tar объединяет несколько файлов в один, т.к. gzip этого не умеет).

Прим. перев. Лично я, кроме перечисленных, сталкивался ещё с архиватором ARJ (Archived by Robert Jung), который был популярен в 90-х в эру BBS. Он поддерживал многотомные архивы, и так же, как после него RAR, использовался для распространения игр и прочего вареза. Ещё был архиватор HA от Harri Hirvola, который использовал сжатие HSC (не нашёл внятных объяснений - только «модель ограниченного контекста и арифметическое кодирование»), который хорошо справлялся со сжатием длинных текстовых файлов.

В 1996 году появился вариант алгоритма BWT с открытыми исходниками bzip2, и быстро приобрёл популярность. В 1999 году появилась программа 7-zip с форматом 7z. По сжатию она соперничает с RAR, её преимуществом является открытость, а также возможность выбора между алгоритмами bzip2, LZMA, LZMA2 и PPMd.
В 2002 году появился ещё один архиватор, PAQ. Автор Мэтт Махоуни использовал улучшенную версию алгоритма PPM с использованием техники под названием «контекстное смешивание». Она позволяет использовать больше одной статистической модели, чтобы улучшить предсказание по частоте появления символов.

Будущее алгоритмов сжатия

Конечно, бог его знает, но судя по всему, алгоритм PAQ набирает популярность благодаря очень хорошей степени сжатия (хотя и работает он очень медленно). Но благодаря увеличению быстродействия компьютеров скорость работы становится менее критичной.
С другой стороны, алгоритм Лемпеля-Зива –Маркова LZMA представляет собой компромисс между скоростью и степенью сжатия и может породить много интересных ответвлений.
Ещё одна интересная технология «substring enumeration» или CSE, которая пока мало используется в программах.

В следующей части мы рассмотрим техническую сторону упомянутых алгоритмов и принципы их работы.

Вадим Тукаев (г. Саратов)

Возможно, на вашем пути встречались архивы с расширением «.arj». Если вы щелкнете по такому файлу, то наверняка запустится WinRAR (или что там у вас установлено в качестве стандартного архиватора), совершенно спокойно прочитает его содержимое и распакует, куда прикажете. Однако если у вас пытливый ум (или просто разыгралось любопытство), то вы зададитесь вопросом: почему создатель того архива воспользовался именно этим архиватором? В настоящее время редко можно встретить что-то кроме «.zip» и «.rar». Ну еще юниксоидам частенько попадается «.tgz» (строго говоря, являющийся не особым форматом файлов, а сокращением от «.tar.gz», т.е. это расширение означает, что файл сначала был заархивирован программой tar, а потом сжат программой gzip, но это уже совсем другая история). Когда-то существовало множество алгоритмов архивации (ARC, HA, LHA, PAK, UC2, ZOO), и у каждого были приверженцы.

Одним из самых распространенных был ARJ, на равных конкурировавший с ZIP. Причина того, что ZIP стал стандартом де-факто — очень быстрый алгоритм и при этом хорошая степень сжатия. Если и встречались архиваторы, сжимавшие лучше (например, RAR), то достигалось это непропорционально большими затратами системных ресурсов. Грубо говоря, для того, чтобы сжать на 10% лучше, требовалось в 10 раз больше времени. Кроме того, PKZIP распространялся по принципу shareware и для большинства людей был абсолютно бесплатен. Современные исследования показывают, что 60% всех существующих файловых архивов имеют формат ZIP. Фил Кац, создатель алгоритма ZIP, программы PKZIP и основатель распространявшей ее фирмы PKWARE (PK — Phil Katz) стал богатым и знаменитым человеком, что не принесло ему счастья. Он спился и умер в возрасте 37 лет. Впрочем, это опять же совсем другая история, хоть и очень поучительная. Кстати, ARJ означает Archived by Robert Jung (Заархивировано Робертом Джангом). Об авторе ARJ я никакой информации не нашел. Возможно, это как-то связано с его глубокой религиозностью. Например, старшим партнером фирмы ARJ Software на полном серьезе назван сам Господь.

Достоинства ARJ:

1. Очень быстро работает, что и не удивительно, ведь первая версия программы появилась в 1990 году (тогда 16-битный процессор Intel 80286 считался немеренной крутостью, а 32-битный 80386 был несбыточной мечтой!) и с тех пор алгоритм нисколько не изменился. По тем же причинам он нетребователен к объему оперативной памяти (у меня был случай, когда не удалось распаковать rar-архив на моем стареньком компьютере только потому, что у него было слишком мало памяти).

2. Тотальная совместимость сверху вниз, снизу вверх и куда вам только заблагорассудится. Любая версия ARJ откроет любой arj-архив. Сравните эту ситуацию с RAR’ом. Он, конечно, развивается и улучшается, но это приводит к тому, что старая версия RAR может и не распаковать rar-архив нового поколения. Она просто не поймет, что это вы ей такое подсовываете.

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

4. Доступность практически под любую ОС — DOS, Windows, Linux, FreeBSD, OS/2, а главное — поддержка специфических особенностей этих ОС. Например, OS/2 EA (Extended Attributes — расширенные атрибуты). Сюда же можно отнести способность распаковки файлов с длинными именами в DOS, которая таких имен не понимает. Учтите, что сама ARJ Software создала только консольные версии для DOS и Windows, все остальное — либо опенсорс, либо (как в случае с ARJ/2 и WinArj) разработки сторонних фирм.

5. Last but not least (английская поговорка, в вольном переводе — «последнее по перечислению, но не по значению»): многотомность. В большинстве случаев именно по этому признаку пользователь делал окончательный выбор между ZIP и ARJ. Представьте себе следующую ситуацию: надо перенести с одного компьютера на другой файл такого размера, что он даже в запакованном виде больше размера любого доступного внешнего носителя данных. Читай: «на дискету не помещается», потому что раньше это было единственное общепринятое и общедоступное средство обмена файлами. Магнитооптические диски, стриммерные ленты, диски Бернулли и прочее в том же роде были далеко не у всех. CD-R был такой же малодоступной обывателю инновацией, как сейчас устройства записи BlueRay-дисков. Что делать? Использовать ARJ, который умел создавать многотомные архивы, т.е. архивы, состоящие из нескольких файлов. Бывали даже случаи, когда ARJ использовался ради своего побочного действия (разрезание файла на части), а не основного (уменьшение их в размере). Например, сначала файлы архивировались PKZIP, а потом полученный огромный zip-файл помещался в многотомный arj-архив. Это имело смысл, если каждый байт был на счету, а данный конкретный набор файлов в «зипуне» получался меньше, чем в «аржаном» виде.

Недостатки ARJ (являющиеся, как это часто бывает, зеркальными отражениями его же достоинств):

1. Архиватор не развивается, потому что там особенно и развивать-то нечего. Любые серьезные нововведения противоречат идеологии ARJ: все должно распаковываться первой версией образца 1990 года.

2. В частности, не поддерживается работа с файлами длиннее двух гигабайт. И теперь уж вряд ли будет когда-нибудь поддерживаться, учитывая, что переделка исходного кода при этом потребуется существенная, а автор к своему творению, судя по всему, охладел. Теперь он развивает архиватор JAR, который исповедует ту же философию, но обратной совместимостью с ARJ не обладает.

3. Solid-архивов нет и не будет. Для тех, кто не знает, что это такое, объясню на примере RAR (насколько я знаю, именно в нем впервые была реализована эта гениальная идея). Допустим, у вас есть два очень похожих по своему содержанию файла. Скажем, два текста на философские темы. Наверняка в обоих будут часто встречаться одни и те же буквосочетания, например, характерное окончание «изм» (марксизм, ленинизм, идеализм). Архивируя первый файл, RAR отметит этот факт и сохранит информацию об этих «измах» в специальном «словаре». Когда он будет архивировать второй файл, он уже не будет включать «изм» в список часто встречающихся буквосочетаний, а просто сделает ссылку на соответствующую запись в словаре. В результате второй файл будет заархивирован гораздо эффективнее. Кстати, JAR поддерживает солид-архивацию.

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

А ведь иногда имеет смысл не только ждать в десять раз дольше ради уменьшения данных на одну десятую, но даже ради уменьшения всего на одну сотую можно подождать и в сто раз дольше. Тем более что современные компьютеры очень мощны, и «в сто раз дольше» может означать «секунду вместо одной сотой секунды». К тому же, по моим наблюдениям, единожды созданный архив обновлять и перепаковывать приходится редко.

5. Необходимость использования интерфейса командной строки и запоминания специфических команд и ключей программы ARJ. Сейчас выросло уже целое поколение пользователей, которые «черного экранчика с буковками» боятся как черт ладана. Все же советую преодолеть эту фобию. Более гибкого способа взаимодействия с программами так до сих пор и не придумано. Когда-нибудь да пригодится… Хотя бы для того, чтобы при столкновении с UNIX-системами не получилось «культурного шока».

Выводы:

ARJ разрабатывался не только и не столько для «утрамбовывания» статичных данных (например, дистрибутивов программ), сколько для удобного архивирования текущих документов (например, дерева исходных текстов вашей собственной программы), автоматизации регулярных бэкапов и создания часто используемых, изменяемых и обновляемых архивов. Именно в этих случаях на первый план выходят фирменные трюки ARJ, такие как поиск в архиве, несколько разновидностей SFX-архивов (SelF-eXtracting — самораспаковывающийся), вписывание текущей даты в название архива, распаковка файлов по признаку наличия в них определенной строки текста, мощные возможности по восстановлению частично поврежденных архивов, умение переименовывать файл прямо внутри архива, способность принимать решения в форс-мажорных обстоятельствах без вмешательства пользователя… Продолжать бессмысленно. Достаточно посмотреть, какой огромный список команд, ключей и модификаторов выдает команда «ARJ.EXE /?». Одно только их перечисление будет длиннее этой статьи. Вот лишь один пример использования ARJ:

arj a -e -jt -jm -jh65535 -vav -g? -wC:\TEMP -xMY_DIARY.TXT my_texts_ *.txt -h# -hcCLS

команда a: добавить файлы в архив (если архива с таким именем нет, то он будет создан).

ключ e: не сохранять информацию о структуре директорий.

ключ jt: проверить, не повредились ли файлы при упаковке.

ключ jm: использовать максимальный уровень компрессии.

ключ jh: установить размер буфера для алгоритма Хаффмана (65535 — максимум, 2048 — минимум, но прямой зависимости между его размером и степенью сжатия нет, т.е. иногда меньшее значение дает лучшее сжатие).

ключ v: создать многотомный архив, модификатор «a» — использовать для тома все доступное место на носителе (удобно, если у вас нет «нулевых» дискет, а только полупустые и/или частично запорченные), «v» — после записи каждого тома «бибикнуть» писи-спикером, чтобы пользователь проснулся и вставил новую дискету.

ключ g: зашифровать архив, модификатор «?» — пароль спросить непосредственно перед архивацией.

ключ w: указать директорию для временных файлов.

ключ x: ни в коем случае не архивировать этот файл!

my_texts_ — имя архива (или его первая часть — см.ключ h#).

*.txt — обрабатывать все текстовые файлы из текущей директории.

ключ h#: добавить к имени архива сегодняшнюю дату в формате ГГММДД, т.е. архив от 13 февраля 2010 года получит имя «my_texts_100213.ARJ».

ключ hc: выполнить перед началом работы DOS-команду, в данном случае CLS (CLear Screen — очистить экран).

Елабужский Государственный Педагогический Университет

Архиваторы.

Программа Архиватор ARJ .

Выполнил: студент 324 группы

Руководитель:

г. Елабуга, 2005 г.

Содержание

1. Введение. 3

2. Основные виды программ-архиваторов. 4

3. Показатель - степени сжатия файлов. 5

4. Сжатие файлов при архивации. 6

5. Архиватор ARJ. 6

5.1. Назначение архиватора ARJ. 7

5.1.1. Структура командной строки для работы с программой ARJ. 7

5.1.2. Основные команды программы-архиватора ARJ. 7

5.1.3. Наиболее важные ключи настройки программы-архиватора ARJ. 8

5.1.4. Помещение файлов в архив. 9

5.1.5. Создание многотомных архивов. 9

5.2. Достоинства и недостатки программы ARJ . 10

6. Заключение. 11

7. Список литературы.. 12

1. Введение

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

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

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

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

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

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

Ряд архиваторов позволяют создавать многотомные архивы, саморизвлекающиеся архивы, архивы, содержащие каталоги. Наиболее популярны и широко используются следующие архиваторы: ARJ , PKZIP /PKUNZIP , RAR , ACE , LHA , ICE , PAK , PKARC /PKXARC , ZOO , HYPER , AIN .

Наиболее высокоэффективными являются архиваторы RAR, ACE, AIN, ARJ.

Они обеспечивают наибольшую степень сжатия информации и имеют наиболее высокую скорость работы. Архиватор RAR имеет удобный графический интерфейс и позволяет читать текстовые файлы, находящиеся как в rar-архиве, так и в arj и zip-архивах. Архиватор AIN имеет русскоязычный интерфейс. Ахиваторы WinRAR-95 и WinZIP работают только в среде Windows-95/98/2000. Они необходимы при работе с длинными и русскими именами файлов в Windows-95/98/2000. В настоящее время именно эти архиваторы применяются чаще всего. Работа архиваторов ARJ, PKZIP, LHA и др. автоматизирована с помощью оболочек Norton Commander 4.0, 5.0, DOS Navigator , Windows Commander и др. Для этих архиваторов имеются специальные программы просмотрщики архивных файлов ARCVIEW и AVIEW. Основным для всех архиваторов является режим работы в командной строке. Архиватор RAR может использовать для работы своё собственное меню. Некоторые архиваторы для извлечения файлов из архива используют отдельные программы-распаковщики, например PKUNZIP, PKXARC. Степень упаковки архива зависит от типа архивируемых файлов, их числа и размера, выбранной программы архивации и установленных в ней ключей, вида архива. Текстовые файлы в упакованном виде занимают гораздо меньше места, чем программы (exe и com файлы).

Степень упаковки в среднем равна 2-3, но иногда она достигает нескольких десятков.

Кроме того, существуют упаковщики exe и com файлов PKLITE, DIET, LZEXE, EXEPACK, AINEXE и др. Упакованные exe и com файлы имеют те же расширения (exe и com) и сохраняют свою способность к исполнению, в отличие от архивных файлов. Они занимают значительно меньше места на диске, чем неупакованные файлы.

2. Основные виды программ-архиваторов

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

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

ARJ, PKPAK, LHA, ICE, HYPER, ZIP, РАК, ZOO, EXPAND, разработанные за рубежом, а также AIN и RAR, разработанные в России. Обычно упаковка и распаковка файлов выполняются одной и той же программой, но в некоторых случаях это осуществляется разными программами, например, программа РКZIР производит упаковку файлов, a PKUNZIP - распаковку файлов.

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

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

Самораспаковывающийся архив получил название SFX - архив (SelF - eXtracting). Архивы такого типа в MS DOS обычно создаются в форме. ЕХЕ - файла.

Многие программы - архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы PKLITE, LZEXE, UNP.

Программа EXPAND, входящая в состав утилит операционной системы MS DOS и оболочки Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой Microsoft .

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

1) с помощью командной строки MS DOS, в которой формируется команда запуска, содержащая имя программы - архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов; подобное управление характерно для архиваторов ARJ, AIN, ZIP, РАК, LHA и др.;

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

3. Показатель - степени сжатия файлов

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

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

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

Сжатие информации в архивных файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Алгоритмы подобного сжатия информации реализованы в специальных программах-архиваторах (наиболее известные из которых arj/arjfolder, pkzip/pkunzip/winzip, rar/winrar) применяются определенные Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.

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

Степень сжатия файлов характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла Vо, выраженное в процентах (в некоторых источниках используется обратное соотношение):

Кс=(Vc/Vo)*100%

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

Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых коэффициент сжатия может достигать 5 - 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей Кс =%. Почти не сжимаются архивные файлы. Это нетрудно объяснить, если знать, что большинство программ-архиваторов используют для сжатия варианты алгоритма LZ77 (Лемпеля-Зива), суть которого заключается в особом кодировании повторяющихся последовательностей байт (читай - символов). Частота встречаемости таких повторов наиболее высока в текстах и точечной графике и практически сведена к нулю в архивах.

Кроме того, программы для архивации все же различаются реализациями алгоритмов сжатия, что соответственно влияет на степень сжатия.

В некоторые программы-архиваторы дополнительно включаются средства, направленные на уменьшение коэффициента сжатия Кс. Так в программе WinRAR реализован механизм непрерывного (solid) архивирования, при использовании которого может быть достигнута на% более высокая степень сжатия, чем дают обычные методы, особенно если упаковывается значительное количество небольших файлов однотипного содержания.

4. Сжатие файлов при архивации

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

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

Все алгоритмы сжатия данных делятся на:

1) алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений;

2)алгоритмы сжатия с потерями, которые удаляют из потока

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

Преимущество отдается естественно, первой группе алгоритмов.

Существует два основных метода архивации без потерь:

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

алгоритм Лемпеля-Зива (англ. Lempel, Ziv), ориентированный на сжатие любых видов текстов, то есть использующий факт неоднократного повторения "слов" - последовательностей байт.

Практически все популярные программы архивации без потерь

(ARJ, RAR, ZIP и т. п.) используют объединение этих двух методов - алгоритм LZH.

Алгоритм Хаффмана. Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, - реже. Следовательно, если $+o записи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов - длинные, то суммарный объем файла уменьшится.

Алгоритм Лемпеля-Зива. Классический алгоритм Лемпеля-Зива -

последовательность байт, причем запись о ее длине и смещении от текущей позиции короче чем сама эта последовательность, то в выходной файл записывается ссылка (смещение, длина), а не сама последовательность>. Так фраза <КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ>

закодируется как <КОЛО(-4,3)_(-5,4)О_(-14,7)ЬНИ>.

5. Архиватор ARJ

Программа ARJ (разработчик - Robert K. Jung) относится к числу наиболее известных продуктов своего класса. Она выполняет все функции по обслуживанию своих, архивов, может помещать файлы в архив, извлекать файлы из архива, и делать «саморизвлекающиеся» файлы и так далее.

Программа ARJ позволяет:

· создавать архивные файлы из отдельных или всех файлов текущего каталога и его подкаталогов, загружая в один архив до 32000 файлов;

· добавлять и заменять файлы в архиве;

· извлекать и удалять файлы из архива;

· просматривать содержимое архива;

· создавать многотомный архив;

· защищать каждый из помещенных в архив файлов 32-битовым циклическим кодом, тестировать архив, проверяя сохранность в нем информации;

· получать помощь по работе на 3 международных языках;

· вводить в архив комментарии к файлам;

· запоминать в архиве пути к файлам;

· сохранять в архиве несколько поколений (версий) одного и того же файла;

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

· осуществлять поиск строк в архивированных файлах;

· восстанавливать файлы из разрушенных архивов;

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

· просматривать содержимое текстовых файлов, содержащихся в архиве;

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

5.1.1. Структура командной строки для работы с программой ARJ

Для получения на экране краткой помощи по работе достаточно в командной строке ввести имя программы: ARJ.

Для получения развернутой помощи и примеров задания команд следует ввести:

ARJ -? или ARJ /?

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

ARJ <команда> [-<кл1> [-<кл2>...]] <имя_архива> [<список_имен_файлов>]

Обязательные параметры командной строки - это два параметра: <команда> и <имя_архива>.

В качестве списка имен файлов можно использовать шаблон (маску).

Параметр <команда> записывается в виде одного символа вслед за именем программы и задает функцию архивации в соответствии с табл. 11.1.

5.1.2. Основные команды программы-архиватора ARJ

Номер группы

Группа команд

Функция архивации

Помещение в архив

Добавить файлы в архив

Заменить файлы в архиве на новые версии

Добавить в архив только новые файлы

Переместить файлы в архив

Извлечение из архива

Извлечь файлы из архива в текущий каталог

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

Удаление из архива

Удалить файлы из архива

Сервисные функции

Полное тестирование архива

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

Вывод содержимого архива с указанием пути к файлам

Копировать архив с новыми параметрами

Найти текстовую строку в архиве

Параметр <имя_архива> задает имя архивного файла и записывается по общим правилам MS DOS, но без указания расширения, которое при создании нового файла присваивается автоматически. Имя архива может быть записано с указанием пути к файлу. Архиватор по умолчанию обрабатывает архивные файлы, имеющие расширение. ARJ.

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

Ключи уточняют действие команды архивации, и их может быть несколько. Каждый ключ начинается с символа "-" и может быть помещен в любом месте командной строки после команды. Признаком ключа кроме символа "-" может быть символ "/". В табл. 11.2 приведены наиболее важные ключи настройки.

Примечание. Команды и ключи программы-архиватора ARJ можно вводить в командную строку в любом регистре.

Список имен файлов приводится тогда, когда обработке подлежат не все файлы архива или текущего каталога. При необходимости добавить, извлечь или удалить несколько файлов в командной строке следует записать их полные имена. В списке файлов можно указать до 64 имен файлов. Для сокращения записи имен файлов можно использовать шаблоны в соответствии с правилами MS DOS, например:

5.1.3. Наиболее важные ключи настройки программы-архиватора ARJ

Назначение

Добавление файлов из текущего каталога и всех вложенных в него подкаталогов с указанием пути к файлам

Создание многотомного архивного файла

Защита создаваемого архива паролем: g<пароль> - пароль вводится в командной строке; g? - ввод невидимого пароля при выполнении

Добавление/замена файлов, за исключением файлов, имена которых указаны вслед за ключом

Запрос на выполнение операции для каждого файла: для подтверждения необходимо ввести символ "Y"; для отказа - символ "N"

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

Указание метода архивации: m0 - без сжатия;

ml - нормальное сжатие (по умолчанию);

m2 - наибольшая компрессия;

m3 - быстрое сжатие и меньшая компрессия;

m4 - самое быстрое сжатие и наименьшая компрессия

Предполагается ответ Yes на все вопросы архиватора

Пауза при просмотре содержимого архива после заполнения экрана

5.1.4. Помещение файлов в архив

Одной из основных операций при работе с архивными файлами является помещение файлов в архив, которая может выполняться с помощью команд: a, u, m, f. Наиболее часто эти команды применяются совместно с ключами: - r, - g, - q, - je.

5.1.5. Создание многотомных архивов

Одним из важных достоинств программы - архиватора ARJ является возможность создания многотомных архивов, т. е. архивов, для размещения которых используется несколько дисков. На каждом из дисков размещается один файл архива, занимая все свободное его пространство. При этом необязательно, чтобы диск предварительно был очищен, так как на нем вместе с архивным файлом могут находиться и другие файлы. При создании архива файлу, размещаемому на первом диске, по умолчанию присваивается расширение *.ARJ, а на последующих дисках - *.А01, *.А02 и т. д. Правило обозначения расширений можно изменить с помощью ключей настройки, что практически снимает ограничения по количеству томов архива.

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

Для создания многотомного архива для архиватора arj командная строка должна иметь вид: arj a -v1200 имя архива, или arj a /v1200 /y имя архива (многотомного, без расширения arj).

Здесь указан формат дискет (1,2M). Может быть формат 360К, 720K, 1200K, 1440K. Kлюч /v1200 означает создать многотомный архив на дискетах 1,2M. Каждый том архива должен размещаться на отдельной дискете и будет соответствовать её размеру.

Для создания многотомного архива с поддиректориями командная строка должна иметь вид: arj a -r - v1200 - y имя архива (без расширения).

Если указать в имени архива путь a:\имя архива, то архив будет создан на дискете a: (или b:\имя архива), но при этом ключ - y не нужен.

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

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

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

arj(обычная справка)

arj /?(подробная справка)

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

6. Заключение

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

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

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

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

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

7. Список литературы

1. - М.: ИНФРА-М, 1998.

2. Журнал PC Magazine №6 1999 г.

3. http://*****/info/first33.html

4. http://www. citforum. *****/internet/infsecure/its2000_33.shtml (Архивация)

5. http://www. citforum. *****/internet/infsecure/its2000_34.shtml (Принципы Архивации)

6. http://www. citforum. *****/internet/infsecure/its2000_35.shtml (Алгоритм Хаффмана)

7. http://www. citforum. *****/internet/infsecure/its2000_36.shtml (Алгоритм Лемпеля - Зива)

Архивация файлов, назначение, виды и основные возможности архиваторов.

Алгоритмы и методы архивации

Существуют различные алгоритмы архивации данных без потери информации, при которых при разархивации данные будут восстановлены в исходном виде.

Самый простой алгоритм сжатия данных (running) основан на замене повторяющихся битов (в тексте может иметься последовательность одинаковых символов, в графическом файле − закрашенная одним цветом область и так далее). Например , в тексте подряд идут 10 пробелов, которые кодируются 10-ю байтами. При архивации они заменяются 3-мя байтами (первый байт − кодирует заменяемый символ; второй байт − специальный байт «флажка» архивации, который указывает на необходимость развернуть первый байт в последовательность байтов; третий байт указывает количество повторяющихся байтов).

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

Существуют различные методы архивации файлов (ZIP, RAR, ARJ и др.), которые используют вышеописанные и другие алгоритмы архивации.

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


Программы-архиваторы.

Зачем нужны архиваторы; \

Какой архиватор лучше;

Архиватор ZIP:

Архивирование в Total Commander;

Архиватор WinRar;

Архиватор 7-Zip.

Назначение архиваторов - сжатие (архивирование) информации – приведение ее к виду, при котором уменьшается избыточность ее представления. В чем суть?
Если мы напишем текст, в котором 10 раз упоминаются слова "торт " или "компьютер ", то можно создать такой файл , в котором эти слова будет присутствовать один раз, но будет и точная информация, в каких местах текста они упоминались. Такой файл получится гораздо меньшим по занимаемому на диске месту, т.е. он будет как бы сжатым по отношению к исходному.
В общем случае архивный файл – это специальным образом организованный файл, в котором присутствуют данные о типовых или повторяющихся символах или кодах, а также данные о структуре их исходного размещения.

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

Часто задают вопрос: Какой архиватор лучше? Существует достаточно большое количество программ-архиваторов, наиболее популярные из них ARJ, ZIP, RAR, 7-Zip (произносится севэн зип). Если говорить о двух архиваторах - лидерах сервиса - из их большого семейства, то это на мой взгляд

WinRar - платная рограмма, вернее 30 дней бесплатно на тестирование, а потом надо покупать ключ)


7-Zip
- бесплатное программное обеспечение.

У программы WinRar по моему мнению, большое преимущество в том, что она появилась раньше, народ ее освоил и переучиваться особого резона нет.
И это действительно так, если особых требований к сжатию файлов нет. Но если нужно максимально сжать файлы, то эксперимент показывает, что лучше это сделает 7-Zip , причем это касается и загрузочных файлов и музыки и видио,

Архиватор ZIP , пожалуй, самый распространенный, он поддерживается в Windows, без использования специального программного обеспечения, достаточно щелкнуть по выбранному файлу правой кнопкоймыши и в выбранном пункте «Отправить» выбрать следующий пункт «Сжатая ZIP-папка». Естественно, надо проследить, какой путь был указан, т.е. куда вы отправили архив. Ваш файл окажется в сжатом виде в папке с тем же названием, что и сам файл.

Для извлечения файла из архива необходимо щелкнуть правой клавишей по архиву и в контекстном меню выбрать последовательно «Извлечь все» и для конкретного файла «Извлечь». Вы получите папку с файлом в исходном виде.
Так работают архиваторы, которые называют файловыми. Есть еще и программные архиваторы. Они также создают сжатые архивы, с той разницей, что для извлечения исходных файлов не требуется предварительная распаковка, при запуске архивы распаковываются автоматически. Поскольку это уже исполняемые (программные) файлы, они имеют расширение *.exe.

Если на вашем компьютере установлен файл-менеджер Total Commander, то вы приобретаете достаточно широкие возможности по выбору архиваторов и их настроек, что показано на рисунках ниже:


Допустим, мы хотим сделать архив файла с названием «Заявление». Выбрав этот файл на правой панели (выделен синим цветом), в верхнем меню окна выбираем вкладку «Файл», затем опцию «Упаковать».

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

Появляется окно «Распаковка файлов» с предложением пути, куда будет помещен распакованный файл и настроек при осуществлении операции.


Если согласны с предлагаемым размещением программы, жмем "Install". Если нет - выбираем путь, по которому она будет размещена после установки. В конце установки появляется окно, в котором выберем опцию "Finish".


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

Впрочем, значок может иметь и другой вид, например:

Возможно это зависит от версии исходного файла.

После запуска открывается основное окно программы. Выберем папку \Temp\ на локальном диске D: и проделаем процедуры разархивации и архивации файла "Заявление". (Кстати, в предлагаемом программой интерфейсе выбор диска производится значком "стрелка вверх", на рисунке слева от поля, в котором указан путь D:\Temp\).

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

Если мы согласны с предложенными опциями и путем размещения файла, жмем ОК, если нет - выбираем нужные опции и путь.

Чтобы положить какой-либо файл в архив, в предложенном выше рабочем окне архиватора необходимо выбрать опцию "Добавить" (зеленый плюс).
Тогда появится окно с выбором опций архивирования. Также выбираем файл, который хотим положить в архив и выбираем путь, где мы хотим его видеть. В нашем случае мы опять тренируемся с файлом "Заявление". Для начала оставим предлагаемые опции таковыми, какими их предлагает архиватор. Ну а потом, с опытом - выбираем свои, если что-то не устраивает.


Архивация файлов, назначение, виды и основные возможности архиваторов.

Характерной особенностью большинства «классических» типов данных, с которыми традиционно работают люди, является определенная избыточность. Степень избыточности зависит от типа данных. Кроме того, степень избыточности данных зависит от принятой системы кодирования. Так, например, можно сказать, что кодирование текстовой информации средствами русского языка (с использованием русской азбуки) дает в среднем избыточность на 20-30% больше, чем кодирование адекватной информации средствами английского языка.

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

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

В зависимости от того, в каком объекте размещены данные, подвергаемые сжатию, различают :

Уплотнение (архивацию) файлов;

Уплотнение (архивацию) папок;

Уплотнение дисков.

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

Характерными форматами сжатия с потерей информации являются:

JPG для графических данных;

MPG для видеоданных;

М РЗ для звуковых данных.

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

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

GIF, TIP,. PCX и многие другие для графических данных;

AVI для видеоданных;

ZIP, .ARJ, .BAR, .LZH, .LH, .CAB и многие другие для любых типов данных.

«Классическими» форматами сжатия данных, широко используемыми в повседневной работе с компьютером, являются форматы.ZIP и.ARJ. В последнее время к ним добавился популярный формат.RAR.

К базовым функциям, которые выполняют большинство современных диспетчеров архивов, относятс я:

Извлечение файлов из архивов;

Создание новых архивов;

Добавление файлов в имеющийся архив;

Создание самораспаковывающихся архивов;

Создание распределенных архивов на носителях малой емкости;

Тестирование целостности структуры архивов;

Полное или частичное восстановление поврежденных архивов;

Защита архивов от просмотра и несанкционированной модификации.

Самораспаковывающиеся архивы

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

Распределенные архивы.

Некоторые диспетчеры (например WinZip) выполняют разбиение сразу на гибкие диски, а некоторые (например WinRAR и WinArj) позволяют выполнить предварительное разбиение архива на фрагменты заданного размера на жестком диске. Впоследствии их можно перенести на внешние носители путем копирования.

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

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

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

Просмотр файлов различных форматов без извлечения их из архива;

Поиск файлов и данных внутри архивов;

Установку программ из архивов без предварительной распаковки;

Проверку отсутствия компьютерных вирусов в архиве до его распаковки;

Криптографическую защиту архивной информации;

Декодирование сообщений электронной почты;

- «прозрачное» уплотнение исполнимых файлов.ЕХЕ и.DLL;

Создание самораспаковывающихся многотомных архивов;

Выбор или настройку коэффициента сжатия информации.

Тема 2.1 Работа с файлами

1. Архиваторы и архивация.

2. Просмотр архивного файла в формате ZIP .

Проблема сжатия данных существует давно, с момента появления компьютеров. Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и соответственно стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа. Эти и другие вопросы решаемы при помощи мощных и функциональных программ-архиваторов, разработчики которых предлагают пользователям различные методы для обработки данных. Причем, архиваторы могут быть как бесплатными, так и коммерческими, а их выбор зависит от требований, которые пользователь предъявляет к программе по работе с заданными файлами. Из числа наиболее популярных программ можно выделить: WinRAR (коммерческая версия) и 7-Zip (бесплатная программа).

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


Архиваторы - это программы, реализующие процесс архивации, позволяющие создавать и распаковывать архивы
Архивация - это сжатие, уплотнение, упаковка информации.
Разархивация - процесс восстановления фай лов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помеща ются на диск.
Степень сжатия файла характеризуется коэффициентом сжатия K c , который определяется как отношение объема сжатого файла V c к объему исходного файла V o , выраженное в %:

Научимся создавать архивы с помощью программы WinRar.


После загрузки программы мы видим стандартное окно с понятным интерфейсом.

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

Просмотр – показывает содержимое файла.

Удалить – удаляет выбранный файл / группу файлов.

Исправить – восстанавливает испорченный архив.

Оценить – даёт приближенную оценку к архивации выбранного файла /группы файлов.

Извлечь в – позволяет указать путь разархивации.

Тест – тестирует выбранный архив на наличие ошибок.

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


При создании архива необходимо задать имя архива, если архив создаётся в текущей папке


или место его сохранения.


При создании архива можно выбрать формат архивации RAR или ZIP

При создании архива можно выбрать метод сжатия

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

Многотомные архивы.

Е сли исходный файл, предназначенный для передачи через Интернет, имеет очень большой размер, то передать его через сеть по этой причине, бывает просто невозможно. Чтобы это стало возможным, такой файл во время сжатия «нарезается» на фрагменты, каждый из которых называется архивным томом. В итоге, получается, допустим,10 томов, которые закачиваются по очереди. Такой архив называется многотомным. При распаковке первого фрагмента все остальные распаковываются автоматически, и пользователь получает исходный файл в своём первоначальном виде.


Самораспаковывающийся архив.

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


Есть возможность установить пароль.

Для извлечения файлов из архива воспользуемся кнопкой «извлечь», укажем путь и параметры для извлечения.


Практическая работа:

1. Откройте папку Мой архив.

2. Заархивируйте каждый файл

3. Определите степень сжатия

4. Исследуйте изменение объема исходных файлов и полученных архивов.

5. Запишите результаты в таблицу.

№ п/п

Имя файла

Тип файла

Исходный размер

Размер архивного файла

Степень сжатия

Вывод о степени сжатия файлов разного типа --__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________