Автор: Пользователь скрыл имя, 29 Марта 2010 в 10:52, реферат
Про программы архиваторы
Государственное образовательное учреждение высшего профессионального образования «Астраханская государственная медицинская академия»
Федерального агентства по образованию и социальному развитию
Кафедра общественного здоровья и здравоохранения
с курсом информатики, истории медицины и культурологии
Зав. кафедрой: д.м.н., профессор А.Г. Сердюков
Зав.
курсом информатики и статистики:
доцент А.Б. Федоренко
“ПРОГРАММЫ-АРХИВАТОРЫ”
Выполнила:
студентка 1 курса факультета СМО
отделения «Сестринское дело»
Нурпейсова А.А.
Проверил:
ассистент
Киреев М.П.
Астрахань
– 2010.
При эксплуатации компьютера
по самым разным причинам
Для копирования файлов можно,
разуметься, использовать команды
COPY или XCOPY. Но, например, для копирования
файлов с жесткого диска емкостью 28 Мбайт
необходимо 20 дискет стандартного формата
(по 1.46 Мбайт). В таком большом количестве
дискет даже разобраться довольно трудно,
поэтому трудоемкость создания и обновления
архива будет весьма значительной. Поэтому
для создания архивов употребляются специализированные
программы. Архиваторы - это программы,
позволяющие уменьшить размер файла для
экономии места на диске. Работа их заключается
в следующем: найти повторяющиеся фрагменты
в файлах и записать вместо них информацию
о количестве повторяющихся кусков. Их
можно разделить на два класса: программы
упаковщики (архиваторы) и программы резервного
копирования. Работа их заключается
в следующем: найти повторяющиеся фрагменты
в файлах и записать вместо них информацию
о количестве повторяющихся кусков.
ИСТОРИЯ
РАЗВИТИЯ ТЕОРИИ СЖАТИЯ
ИНФОРМАЦИИ
История развития MS DOS весьма похожа на историю развития всех информационных технологий. Более того, концепция MS DOS непосредственно заимствована из операционной системы UNIX. UNIX, в свою очередь, базируется на самых первых операционных системах типа OS/360 и даже IBM704. Основные алгоритмы архивации данных вначале были опробованы на UNIX, а затем (иногда процесс развития тех или иных алгоритмов осуществлялся параллельно) в MS DOS. В принципе, большинство используемых в настоящее время утилит для архивации начали свою жизнь, начиная с MS DOS 2.0.
Итак, в сороковых годах ученые, работающие в области информационных технологий, ясно поняли, что можно разработать такой способ хранения данных, при котором пространство будет расходоваться более экономно. Клод Шеннон, изучая нюансы различий между семантикой (semantics) (что значит некая сущность) и синтаксисом (syntax) (выражается как некая сущность), разработал большинство базовых понятий этой теории. Понимание того, что одно и то же значение (семантика) может быть реализовано различными способами, (синтаксис), приводит к закономерному вопросу: "Какой способ выражения чего-либо является наиболее экономичным?" Поиск ответа на этот вопрос привел Шеннона к мысли об энтропии, которая, проще говоря, соотносится с количеством, содержащейся в файле полезной информации. Методы сжатия пытаются увеличивать энтропию файла, то есть уменьшать длину файла, сохраняя при этом всю информацию.
Однако Шеннон не был первым, кто задумывался о сущности информации и определении ее количества. Первый шаг на этом пути сделал в 1928 г. Хартли. Основной полученный им результат можно сформулировать примерно так: если в заданном множестве, содержащем N элементов, выделен некоторый элемент x, о котором известно лишь, что он принадлежит этому множеству, то, чтобы найти x, необходимо получить количество информации, равное log2 N. Эту формулу обычно называют формулой Хартли. Формула Хартли является частным случаем более общей формулы Шеннона, позволяющей найти количество информации в случайном сообщении фиксированного алфавита. Пусть X1, ..., Xn - символы этого алфавита, P1, ..., Pn - вероятности их появления в тексте сообщения, тогда формула Шеннона принимает вид:
H = P1*log2 (1 / P1) + ... + Pn*log2 (1 / Pn),
где H - количество бит информации в одном символе сообщения, или энтропия символа сообщения. Это число показывает минимальное среднее число бит, необходимых для представления одного символа алфавита данного сообщения.
В некоторых случаях алфавит
сообщения может быть
Доказательство Шеннона не было конструктивным, т.е. не содержало способа построения этих оптимальных кодов, а лишь показывало их существование. До появления работы Шеннона, кодирование символов алфавита при передаче сообщения по каналам связи осуществлялось одинаковым количеством бит, получаемым по формуле Хартли. С появлением этой работы начали появляться способы, кодирующие символы разным числом бит в зависимости от вероятности появления их в тексте. Например, часто в файлах некоторые значения байта встречаются чаще других. Таким образом, за счет использования для каждого значения байта кода различной длины можно значительно уменьшить общий размер данных. Эта базовая идея лежит в основе алгоритмов сжатия Шеннона-Фано (Shannon-Fano) и Хаффмана (Huffman). Подобные алгоритмы выбирают более короткие коды для часто встречающихся и более длинные для редко встречающихся значений байта. Обычно текстовые файлы (в которых одни значения байтов повторяются гораздо чаще других) они сжимают довольно хорошо.
Более тридцати лет алгоритм сжатия Хаффмана и его варианты оставались наиболее популярными методами. Однако в 1977 два исследователя из Израиля предложили совершенно другой подход к этой проблеме. Абрахам Лемпел и Якоб Зив выдвинули идею формирования "словаря" общих последовательностей данных. При этом сжатие данных осуществляется за счет замены записей соответствующими кодами из словаря. Существуют два алгоритма, в настоящее время известные как LZ77 и LZ78. Они уже не требуют включения словаря данных в архив, так как если вы формируете ваш словарь определенным способом, программа декодирования может его восстанавливать непосредственно из ваших данных. К сожалению, LZ77 и LZ78 тратят много времени на создание эффективного словаря. В фирме Sperry, Терри Велч (Terry Welch) расширил алгоритм LZ78, создав новый вариант, широко известный, как LZW.
На работу Велча обратила внимание группа программистов Unix и использовала его алгоритм в их приложении LZW, получившем вполне естественное название compress. Они добавили несколько усовершенствований и опубликовали общедоступную версию этой программы в телеконференции Internet, благодаря чему многие пользователи смогли начать с ней работать. Популярность алгоритма LZW в значительной степени связана с успехом программы compress. Исходный текст последней версии программы, осуществляющей как сжатие, так и декомпрессию, занимает всего 1200 строк. Ядро кода сжатия занимает не более сотни строк, а код декомпрессии не намного больше. Программисты считают, что это облегчает чтение и понимание алгоритма, а также позволяет адаптировать его для самых разных целей. Алгоритмы LZ-стиля (включая LZW, LZ77, LZ78 и многие другие варианты) очень популярны везде, где требуется универсальное сжатие. LZW используется в стандарте модема V.42bis, протоколе передачи данных ZModem, форматах GIF, TIFF, ARC и других прикладных программах. Другие алгоритмы LZ используются в дисковых утилитах сжатия типа DoubleSpace и Stacker, графических форматах типа PNG, а также в универсальных утилитах архивирования и сжатия, включая ZIP, GZIP и LHA.Помимо пользующихся большим вниманием алгоритмов, базирующихся на словаре, существуют и другие подходы. Алгоритм сжатия Хаффмана (Huffman), основанный на статистических колебаниях распределения некоторых значений байтов, лег в основу нескольких очень эффективных методов сжатия, известных, как арифметическое кодирование (arithmetic coding), энтропийное кодирование (entropy coding) или Q-кодирование (Q-coding). Арифметическое кодирование улучшает сжатие Хаффмана двумя путями. Первое усовершенствование заключается в том, что оно не требует, чтобы выбранные коды были целым числом бит. В то время как сжатие Хаффмана могло выбирать двух- и четырехбитовые коды, программа арифметического кодирования может использовать код длиной 6,23 бит. Второе усовершенствование (которое может также использоваться в сжатии Хаффмана) заключается в том, что арифметическое кодирование использует более сложную статистику. Она не просто следит за частотой появления байта в файле, а оценивает частоту его появления в определенном контексте. Например, при использовании исходного алгоритма сжатия Хаффмана символ "u", встречающийся не слишком часто, мог бы получать довольно длинный код. Но в сложной программе арифметического кодирования символ "u", следующий за "q", будет закодирован очень компактно, так как высока вероятность того, что "u" следует сразу за "q". Комбинация этих двух усовершенствований приводит очень к эффективному сжатию.
Другие методы сжатия
Один положительный результат
введения патентования вряд ли
приходится оспаривать. Патентование
программного обеспечения
Термины, используемые в архивации.
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 Добавление в архив новых файлов.
Архиваторы 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). Все архиваторы отличаются используемыми алгоритмами сжатия, форматами архивных файлов, скоростью работы и т.д.