Дипломная работа: Программы для работы с архивами данных
Необходимость архивации связана также с необходимостью резервного копирования информации на диски и дискеты с целью сохранения ценной информации и программного обеспечения компьютера для защиты от повреждения и уничтожения (умышленного или случайного, под действием компьютерного вируса).
Архиваторы позволяют сжимать информацию в памяти компьютера при помощи специальных математических методов. При этом создается копия файла меньшего размера. В одном архиве может хранится сразу несколько файлов или даже несколько папок. Это даёт возможность разместить больше информации на диске или дискете.
Коэффициент сжатия характеризует процентное отношение сжатого (архивного) файла по отношению к исходному. Т.е. Kсжатия=(Laрхив/Lисхоный ) 100%
Однако удобнее использовать обратное отношение, которое показывает во сколько раз архивный файл меньше исходного. Kуменьшения = Lисхоный/ Laрхив
Существует два основных метода архивации:
Алгоритм Хаффмана. Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 1 байта, а для записи редких символов – более длинные, то суммарный объем файла уменьшится. Например буквы а,о,е,и – встречаются очень часто в русском тексте, объем каждой буквы равен 1 байт (8 бит), их можно заменить на цифры 0,1,2,3, которые можно разместить в 2-х битах. Т.е. сжатие будет равен 25%, т.е. сжатие в 4 раза.
Алгоритм Лемпеля-Зива. Классический алгоритм Лемпеля-Зива – LZ77, названный так по году своего опубликования. Он формулируется следующим образом : «если в более раннем тексте уже встречалась подобная последовательность байт, то в архивный файл записывается только ссылка на эту последовательность (смещение, длина), а не сам текст». Так фраза «КОЛОКОЛ_ОКОЛО_КОЛОКОЛЬНИ» [24] закодируется в последовательность «КОЛО(-4,3)_О(-6,4)_(-7,7)ЬНИ» [13]. Коэффициент сжатие - 54%. Аналогично сжимается изображение. Большие области одного цвета заменяются на ссылку: (цвет, длина) Графические файлы сжимаются очень хорошо– в 100–200 раз
Типы архивных файлов
В файловой системе компьютера архивные файлы имеют строго заданный тип (расширение). Так, наиболее часто встречающиеся архивы имеют тип: ZIP, RAR, ARJ.
Кроме них на компьютерах используются архивы: CAB, LZH, TAR, GZ, UUE, BZ2, ISO…
1.2 Архивный файл
Архивный файл представляет собой набор из одного или нескольких файлов, помещенных в сжатом виде в единый файл, из которого их можно при необходимости извлечь в первоначальном виде. Архивный файл содержит оглавление, позволяющее узнать, какие файлы содержаться в архиве. В оглавлении архива для каждого содержащегося в нем файла храниться следующая информация:
- имя файла;
- сведения о каталоге, в котором содержится файл;
- дата и время последней модификации файла;
- размер файла на диске и в архиве;
- код циклического контроля для каждого файла, используемый для проверки целостности архива;
Определить с помощью, какой программы был заархивирован тот или другой архивный файл, можно при помощи расширения. Например:
- game.rar – заархивирован при помощи архиватора WinRAR;
- game.arj – заархивирован при помощи архиватора ARJ;
- game.zip - заархивирован при помощи архиватора ZIP.
Невольно возникает вопрос, зачем столько архиваторов и все для одной лишь цели – сжать объем файла. Разные программы отличаются форматом архивных файлов, скоростью работы, степенью сжатия файлов при помещении в архив, удобством использования.
1.3 Архиваторы 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). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.
ARJ
Программа ARJ (разработчик - Robert K. Jung) относится к числу наиболее известных продуктов своего класса. Она выполняет все функции по обслуживанию своих, архивов, может помещать файлы в архив, извлекать файлы из архива, и делать «саморизвлекающиеся» файлы и так далее.
Назначение архиватора ARJ
Программа ARJ позволяет:
- создавать архивные файлы из отдельных или всех файлов текущего каталога и его подкаталогов, загружая в один архив до 32000 файлов;
- добавлять и заменять файлы в архиве;
- извлекать и удалять файлы из архива;
- просматривать содержимое архива;
- создавать многотомный архив;