Архивирование информации

Служебное программирование

Работая на персональном компьютере с прикладными программами, нельзя ограничиваться только умением управлять этими программами. Практическая работа и реальные ситуации в компьютере часто требуют более широких знаний и, прежде всего, умения сохранять в целостности информацию, защищать ее от возможных разрушений, вызванных дефектами магнитных дисков, сбоями в работе компьютера, воздействиями программных вирусов или ошибками пользователя. И здесь на помощь пользователю могут прийти различные программы вспомогательного назначения (утилиты), относящиеся к группе системных программ. Таких программ разработано очень много. Некоторые из них объединяются в специальные программные комплексы (пакеты программ). Самый известный из таких программных пакетов – Norton Utilities. Рассмотрим некоторые наиболее распространенные группы программ-утилит.

 

 

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

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

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

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

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

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

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

.

Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия. В случае архивирования исполняемых EXE-файлов их величина может быть сокращена на 30 %-50 %, текстовых - на 40 %- 70 % от их первоначального объема.

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

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

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

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

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

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

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

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

Различают два основных типа программ-архиваторов. Первый из них представляют утилиты архивирования данных, работающие в реальном масштабе времени. Эти программы функционируют как бы в фоновом режиме на уровне операционной системы компьютера без вмешательства пользователя. Процедура сжатия всех файлов осуществляется непосредственно в процессе их записи на жесткий диск. При загрузке с жесткого диска в оперативную память фактический объем файлов восстанавливается автоматически. Таким образом, емкость жесткого диска увеличивается в 1,5-2,5 раза. Программы указанного типа - это утилиты Double-Density фирмы Abacus Software, XtraDrrive фирмы Integrated Information Technology, DoubleSpace фирмы Microsoft и др.

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

Среди наиболее распространенных программ можно назвать ARJ, PKZIP, LHA, PKPAK, PAK и другие, работающие под управлением ОС MS DOS.

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

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

Среди наиболее известных в настоящее время можно назвать пакеты RAR, SHEZ и WinZip, WinRAR, WinARJ. Два первых из них работают непосредственно под DOS, третий и последующие - в среде Windows. Эти пакеты имеют дружественный пользовательский интерфейс, базирующийся на стандартной системе командных меню. Работа с программами ведется в режиме диалога.