Методические указания по выполнению лабораторной работы.
Лабораторная работа № 6
Тема: Сжатие информации.
Цель. Целью лабораторной работы является получение навыков работы с архиваторами, и ознакомление с основными алгоритмами сжатия информации.
Методические указания по выполнению лабораторной работы.
Архивация данных - это уменьшение физических размеров файлов, в которых хранятся данные, без значительных информационных потерь.
Архиваторы (утилиты - упаковщики, программы - упаковщики) – программы (комплекс программ), выполняющие сжатие и восстановление сжатых файлов в первоначальном виде.
При эксплуатации персональных компьютеров по самым различным причинам возможны порча или потеря информации на магнитных дисках. Это может произойти из-за физической порчи магнитного диска, неправильной корректировки или случайного уничтожения файлов, разрушения информации компьютерным вирусом и т.д. Для того чтобы уменьшить потери в таких ситуациях, следует иметь архивные копии используемых файлов и систематически обновлять копии изменяемых файлов. Для хранения архивов данных можно использовать внешние запоминающие устройства большой емкости, которые дают возможность легко скопировать жесткий диск.
Однако при этом резервные копии занимают столько же места, сколько занимают исходные файлы, и для копирования нужных файлов может потребоваться много дисков.
Более удобно для создания архивных копий использовать специально разработанные программы архивации файлов, которые сжимают информацию. При архивировании степень сжатия файлов сильно зависит от их формата. Некоторые форматы данных (графические, Page Maker и др.) имеют упакованные разновидности, при этом сжатие производится создающей исходный файл программой, однако лучшие архиваторы способны поджать и их. Совсем другая картина наблюдается при архивации текстовых файлов. Текстовые файлы и файлы данных обычно сжимаются на 50-70%, а программы на 20-30%. Почти не сжимаются архивные файлы.
Степень сжатия файлов характеризуется коэффициентом Кс, определяемым как отношение объема сжатого файла Vc к объему исходного файла v, выраженное в процентах: К o=( Vc / V*100). Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла.
Объекты сжатия
В зависимости от того, в каком объекте размещены данные, подвергаемые сжатию, различают:
уплотнение (архивацию) файлов;
уплотнение (архивацию) папок;
уплотнение дисков.
Уплотнение файлов применяют для уменьшения их размеров при подготовке к передаче по каналам электронных сетей или к транспортировке на внешнем носителе малой емкости, например на гибком диске.
Уплотнение папок используют как средство архивации данных перед длительным хранением, в частности, при резервном копировании.
Уплотнение дисков служит целям повышения эффективности использования их рабочего пространства и, как правило, применяется к дискам, имеющим недостаточную емкость.
Несмотря на изобилие алгоритмов сжатия данных, теоретически есть только три способа уменьшения их избыточности. Это либо изменение содержания данных, либо изменение их структуры, либо и то и другое вместе.
Если при сжатии данных происходит изменение их содержания, метод сжатия необратим и при восстановлении данных из сжатого файла не происходит полного восстановления исходной последовательности. Такие методы называют также методами сжатия с регулируемой потерей информации. Они применимы только для тех типов данных, для которых формальная утрата части содержания не приводит к значительному снижению потребительских свойств. В первую очередь, это относится к мультимедийным данным: видеорядам, музыкальным записям, звукозаписям и рисункам. Методы сжатия с потерей информации обычно обеспечивают гораздо более высокую степень сжатия, чем обратимые методы, но их нельзя применять к текстовым документам, базам данных и, тем более, к программному коду. Характерными форматами сжатия с потерей информации являются: JPG для графических данных; .MPG для видеоданных; .МРЗ для звуковых данных.
Если при сжатии данных происходит только изменение их структуры, то метод сжатия обратим. Из результирующего кода можно восстановить исходный массив путем применения обратного метода. Обратимые методы применяют для сжатия любых типов данных. Характерными форматами сжатия без потери информации являются: .GIF, .TIP, .PCX и многие другие для графических данных; .AVI для видеоданных; .ZIP, .ARJ, .RAR, .LZH, .LH, .CAB и многие другие для любых типов данных.
Архиваторы
Современные программные средства для создания и обслуживания архивов отличаются большим объемом функциональных возможностей, многие из которых выходят за рамки простого сжатия данных и эффективно дополняют стандартные средства операционной системы. В этом смысле современные средства архивации данных называют диспетчерами архивов.
К базовым функциям, которые выполняют современные диспетчеры архивов, относятся: извлечение файлов из архивов, создание новых архивов, добавление файлов в имеющийся архив, создание самораспаковывающихся архивов, создание распределенных архивов на носителях малой емкости, тестирование целостности структуры архивов, полное или частичное восстановление поврежденных архивов, защита архивов от просмотра и несанкционированной модификации.
К дополнительным функциям диспетчеров архивов относятся сервисные функции, делающие работу более удобной. Они часто реализуются внешним подключением дополнительных служебных программ и обеспечивают:
просмотр файлов различных форматов без извлечения их из архива;
поиск файлов и данных внутри архивов;
установку программ из архивов без предварительной распаковки;
проверку отсутствия компьютерных вирусов в архиве до его распаковки;
криптографическую защиту архивной информации;
декодирование сообщений электронной почты;
«прозрачное» уплотнение исполнимых файлов .ЕХЕ и .DLL;
создание самораспаковывающихся многотомных архивов;
выбор или настройку коэффициента сжатия информации.
Самораспаковывающиеся архивы
В тех случаях, когда архивация производится для передачи документа потребителю, следует предусмотреть наличие у него программного средства, необходимого для извлечения исходных данных из уплотненного архива. Если таких средств у потребителя нет – создают самораспаковывающиеся архивы. Самораспаковывающийся архив готовится на базе обычного архива путем присоединения к нему небольшого программного модуля. Сам архив получает расширение .ЕХЕ, характерное для исполняемых файлов (рис. 2). Потребитель сможет выполнить его запуск как программы, после чего распаковка архива произойдет на его компьютере автоматически.
Распределенные архивы
В тех случаях, когда предполагается передача большого архива на носителях малой емкости, например на гибких дисках, возможно распределение одного архива в виде малых фрагментов на нескольких носителях. Некоторые диспетчеры (например, WinZip) выполняют разбиение сразу на гибкие диски, а некоторые (например, WinRAR) позволяют выполнить предварительное разбиение архива на фрагменты заданного размера на жестком диске. Впоследствии их можно перенести на внешние носители путем копирования.
Создано множество различных архиваторов, из которых наиболее распространенны WinZip, WinRar, Arj, 7-Zip.
Архиваторы отличаются друг от друга следующими характеристиками:
• степень сжатия файла (отношение размера исходного файла к размеру упакованного файла);
• скорость работы;
• возможности программы.
Обычно архиваторы могут создавать архивы в собственном эксклюзивном формате с использованием своих оригинальных методов. Например, архиватор RAR позволяет создавать архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора. По расширению архивного файла можно определить, каким архиватором создан архив
Принцип работы архиваторов основан на поиске в файле "избыточной" информации и последующем ее кодировании с целью получения минимального объема. Самым известным методом архивации файлов является сжатие последовательностей одинаковых символов. Например, внутри вашего файла находятся последовательности байтов, которые часто повторяются. Вместо того чтобы хранить каждый байт, фиксируется количество повторяющихся символов и их позиция. Для наглядности приведем следующий пример:
Упаковываемый файл занимает 15 байт и состоит из следующей последовательности символов: BBBBBLLLLLAAAAA В шестнадцатиричной системе :