Архивация данных в MS DOSРефераты >> Программирование и компьютеры >> Архивация данных в MS DOS
Другие методы сжатия предназначены для данных определенного типа, а потому они плохо подходят для архивирования. Многие усовершенствованные методы, появлявшиеся в последнее время, основывались на синтезе этих трех методов (например, использование кодов Хаффмана для записей словаря) или выполнения сложной предварительной обработки данных, увеличивающей эффективность сжатия одним из этих методов. Возможно, одним из наиболее существенных событий за последние несколько десятилетий в области алгоритмов сжатия стало появление патентов на программное обеспечение. С 1981 United States Patent and Trademark Office (USPTO) начал принимать заявки на патентование алгоритмов программного обеспечения. Многие из представленных патентов были по методам сжатия. Наиболее известные из них - патенты фирмы Unisys на алгоритм сжатия LZW и патенты фирмы IBM на арифметическое кодирование. К сожалению, первоначально работа по обработке заявок в USPTO была поставлена неважно. В результате чего разным людям предоставлялись различные патенты на один и тот же алгоритм (причем иногда с почти идентичной формулировкой). Некоторые из этих патентов оспаривались в судебном порядке, но высокая стоимость судебного разбирательства исков резко снижает количество таких претендентов. Один положительный результат введения патентования вряд ли приходится оспаривать. Патентование программного обеспечения спровоцировало появление огромного количества работ по разработке новых алгоритмов сжатия (большая часть которых быстро патентуется их изобретателями). Однако другой эффект был абсолютно отрицательный. Многие из алгоритмов сжатия использовались специфическим образом, например, как часть международных стандартов (V.42bis и JPEG). Кроме того, отдельные компании и пользователи скопировали общедоступный код (так, реализация compress LZW широко копировалась для самых разных целей). Финансовые штрафы за использование этих алгоритмов (в форме авторских отчислений к владельцам патента) отвращали от поддержки этих стандартов авторов условно-бесплатного и бесплатного программного обеспечения или бесплатных библиотек. Некоторые компании публично объявили о том, что они не будут требовать авторских отчислений за использование их запатентованных алгоритмов в бесплатном программном обеспечении. Однако так поступили далеко не все. Пока неясно, как этот конфликт отразится на индустрии бесплатного программного обеспечения и на патентном законодательстве. По крайней мере, одна организация, League for Programming Freedom, борется с патентами программного обеспечения и предпринимает активные шаги по их отмене.
В данной работе будут рассмотрены только современные способы архивации данных, а именно специализированные программы архиваторы. Устаревшие программы резервного копирования типа BACKUP-RESTORE рассматриватся не будут, ввиду их отсутствия в новых версиях MS DOS, начиная MS DOS 6.22.
Архиваторы MS DOS.
С развитием компьютера стали увеличиваться и объемы информации хранимой в нем, что в свою очередь привело к развитию технологий по хранению этой информации в сжатом виде, то есть в архивах. Для этого было придумано множество программ осуществляющих архивацию информации.
Однако в работе с этой информацией иногда нежелательно раскрывать полный архив, чтобы взять один или два требуемых файла или же просто посмотреть, что в архиве за информация.
Программы-архиваторы, за исключением единиц, не предоставляют удобных оболочек позволяющих просто, быстро и в наглядной форме разобраться с содержимым архивов.
Архиваторы -- это программы, позволяющие создавать и обрабатывать архивные копии файлов. При этом из архивные копии имеют меньший размер, чем оригиналы. С помощью специальных алгоритмов сжатия из файлов удаляется вся избыточная информация, а при применения обратных алгоритмов распаковки архивная копия восстанавливается в первоначальном виде.
Наиболее известные программы-архиваторы для MS-DOS: ARJ (разработчик -- Robert K. Jung), pkzip
(компания PKWARE Inc.), lha (Haruyasu Yoshizaki), zoo (Rahul Dhesi). Безусловным лидером во всем мире за последние 5 лет стал архиватор RAR. В настоящее время RAR активно вытесняет ZIP как основную утилиту сжатия FTP архивов в сети INTERNET. RAR я является единственной всемирно используемой программой, созданной русским программистом (за исключением TETRIS). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.
Термины, используемые в архивации
Add file Добавление (копировние) файла в архив. Если архив не существует, то он создается.
CRC Код циклического контроля. Специальная функция от всего содержимого файла. Составляется таким образом, что изменить файл так, чтобы его CRC остался неизменным, практически невозможно.
Exclude selected files При архивации НЕ добавлять в архив определенные файлы.
Extract files Извлечение файлов из архива без сохранения структуры подкаталогов.
Extract files with pathnames Извлечение файлов из архива с сохранением структуры подкаталогов.
Fresh files Добавление в архив новых версий уже имеющихся там файлов.
Garble (или scramble) files with password Архивация файлов с паролем. Извлечь файлы из такого архива можно, лишь правильно указав пароль.
Move files Перемещение файлов в архив.
Multiple volumes Многотомные архивы -- состоящие из нескольких файлов (томов). Удобны при архивации больших комплексов файлов, когда тома архива можно помещать на отдельные дискеты.
Ratio Степень сжатия файла. Определяется по-разному в различных архиваторах (отношение исходного к сжатому либо наоборот).
Recurse subdirectories Архивация файлов из заданного каталога и всех его подкаталогов. В архиве сохраняется информация о пути к файлам, и при извлечении их можно выводить не в один каталог, а в соответствующие подкаталоги.
Self-extract (sfx)archive Самораспаковывающийся архив. Архивный файл имеет расширение .exe .или com, и после его запуска происходит автоматическое извлечение файлов из архива.
Test integrity Проверка целостности архива, т.е. проверка CRC файлов архива.
Update files Добавление в архив новых файлов.
Архиватор ARJ
Работает из командной строки. Выполняет все функции по обслуживанию архивов .arj , в т.ч. поддержку многотомных архивов.
Получить справку по ключам архиватора arj с помощью команд: arj(обычная справка) arj /?(подробная справка)
Arj имеет очень большое число ключей. Можно автоматизировать много действий -- создание резервной копии диска, архивирование начиная с какой-то даты, добавление к имени архива текущей даты (arh970821.arj), архивирование файла с конкретного места, несколько уровней сжатия и так далее. В версии 2.55 возможна работа с длинными именами. Достоинства: очень большое колличество ключей, что дает возможность автоматизировать большое число функций. Защита архива от повреждений. Недостатки: отсутствие диалогового режима, некоторое неудобства работы при наличии какого-то ключа в переменной окружения (ARJ_SW) и строке запуска -- взаимное уничтожение.