Понятие и назначение программ работы с архивами

МИНИСТЕРСТВО  СЕЛЬСКОГО ХОЗЯЙСТВА

РОССИЙСКОЙ  ФЕДЕРАЦИИ 

ФГОУ  ВПО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ 
АГРАРНЫЙ УНИВЕРСИТЕТ ИМЕНИ К. Д. ГЛИНКИ»
 

КАФЕДРА ИНФОРМАЦИОННОГО  ОБЕСПЕЧЕНИЯ 
И МОДЕЛИРОВАНИЯ АГРОЭКОНОМИЧЕСКИХ СИСТЕМ
 
 

Курсовая  работа

на  тему «Понятие и назначение программ работы с архивами» 
 
 

Выполнил:

студент Колчин Р.В.

Проверил:

Мистюкова С.В. 
 

Воронеж

2009

 

Содержание 

 

     

Введение

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

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

     Для достижения поставленной цели необходимо решить ряд задач:

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

     Объектом  исследования являются наиболее распространенные программы – архиваторы.

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

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

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

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

     При выборе инструмента для работы с  упакованными файлами и архивами следует учитывать два фактора: эффективность, т. е. оптимальный баланс между экономией дисковой памяти и производительностью работы, и совместимость, т. е. возможность обмена данными с другими пользователями. Совместимость, пожалуй, сегодня более важна, так как по достигаемой степени сжатия, конкурирующие форматы и инструменты различаются на проценты (но не в разы), а вычислительная мощность современных компьютеров делает время обработки архивов не столь существенным показателем, как, скажем, десять лет назад. Поэтому при выборе инструмента для работы с архивами важнейшим критерием для большинства пользователей (во всяком случае, тех, для кого обмен большими массивами данных — насущная проблема), вероятно, является способность программы «понимать» наиболее распространенные архивные форматы, даже если эти форматы не самые эффективные. [4] 

 

     

  1. Назначение  и особенности  программ работы с  архивами
    1. Назначение  и характеристики архиваторов

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

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

     Программы-упаковщики (архиваторы) позволяют за счет специальных  методов сжатия информации создавать  копии файлов меньшего размера и  объединять копии нескольких файлов в один архивный файл. Это даёт возможность  на дисках или дискетах разместить больше информации, то есть повысить плотность хранения информации на единицу объёма носителя (дискеты или диска).[1]

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

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

     Простейшие  архиваторы просто последовательно  объединяют содержимое файлов в архив. Кроме него, архив должен также содержать информацию об именах файлов и длине оригиналов для их восстановления. Большинство архиваторов также сохраняют метаданные файлов, предоставляемые операционной системой, такие, как время создания и права доступа. Программа, создавая архив, обрабатывает как текстовые файлы, так и бинарные файлы. Первые всегда сжимаются в несколько раз (в зависимости от архиватора). Что же касается бинарных файлов, то здесь все зависит от их характера. Может быть сжато в десятки раз, но могут быть и случаи, когда сжатие почти не происходит. Сжатие данных обычно происходит значительно медленнее, чем обратная операция.

     Различными  разработчиками были созданы специальные  программы для архивации файлов. Часть из них распространяется бесплатно, часть - на коммерческой основе (за плату), но большинство программ такого рода распространяются как “Shareware”. Т.е. они могут быть получены бесплатно, но если Вы хотите их использовать постоянно, то должны выслать авторам или распространителям указанное (обычно небольшое, до 50 дол.) вознаграждение.

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

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

     Управление  программой – архиватором  осуществляется одним из двух способом:

  1. С помощью командной строки MS DOS, в которой формируется команда запуска, содержащая имя программы – архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов; подобное управление характерно для архиваторов ARJ, AIN, PAK, LHA и др.
  2. С помощью встроенной оболочки и диалоговых панелей, появляющихся после запуска программы и позволяющих вести управление с использованием меню и функциональных клавиш, что создает для пользователя более комфортные условия работы. Такое управление имеет программы - архиваторы Win ZIP, WinRAR.

     Основными характеристиками архиватора являются:

  • Степень сжатия информации (отношение размера исходного файла к размеру упакованного файла);
  • Скорость работы;
  • Качество сервиса (набор функций и удобство работы с ними).[1]

     Характеристики  архиваторов — обратно зависимые  величины. То есть, чем больше скорость сжатия, тем меньше степень сжатия, и наоборот.

     Архиваторы  бывают нескольких видов:

  • объединяющие группу файлов в один большой (без сжатия);
  • сжимающие без потерь данных;
  • сжимающие с потерями данных.

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

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

     Формат .ZIP. Это один из наиболее древних форматов, которому более десяти лет. Во времена MS-DOS для работы с этим форматом использовались две программы: PKZIP.EXE для упаковки файлов и PKUNZIP.EXE для их распаковки. Сегодня и ту, и другую функцию выполняет одна программа — WinZip. Из названия видно, что она рассчитана на работу в операционной системе Windows 9x. Несмотря на свою «древность», этот формат сегодня используется чрезвычайно широко. Это связано с тем, что это основной формат в котором поставляются программы и драйверы из Интернета.

     Формат .ARJ. работает в режиме командной строки; он обеспечивает сжатие приблизительно в 60-70% для текстовых и 20-30% для исполняемых файлов (программ). Основные его возможности: добавление и извлечение файлов из архива, архивирование с паролем, создание многотомных архивов и др.[1]

     По-видимому, это самый популярный формат первой половины 90-х годов. И упаковка, и  распаковка производятся одной программой ARJ.EXE. По степени сжатия ощутимо превосходит формат .ZIP, но с появлением Windows 95 этот формат заметно отступил на второй план и остался популярным форматом сжатия для MS-DOS. Это связано с тем, что при сжатии файлов портятся «длинные» имена файлов, введенные в обиход операционной системой Windows 95. Версия ARJ.EXE, способная корректно обращаться с «длинными» именами файлов, появилась только в 1997г.

     Назначение  архиватора ARJ

     Программа ARJ позволяет:

  • создавать архивные файлы из отдельных или всех файлов текущего каталога и его подкаталогов, загружая в один архив до 32000 файлов;
  • добавлять и заменять файлы в архиве;
  • извлекать и удалять файлы из архива;
  • просматривать содержимое архива;
  • создавать многотомный архив;
  • защищать каждый из помещенных в архив файлов 32-битовым циклическим кодом, тестировать архив, проверяя сохранность в нем информации;
  • получать помощь по работе на 3 международных языках;
  • вводить в архив комментарии к файлам;
  • запоминать в архиве пути к файлам;
  • сохранять в архиве несколько поколений (версий) одного и того же файла;
  • переупорядочивать архивный файл по размерам файлов, именам, расширениям, дате и времени модификации, коэффициенту сжатия и др.;
  • осуществлять поиск строк в архивированных файлах;
  • восстанавливать файлы из разрушенных архивов;
  • создавать самораспаковывающиеся архивы как на одном томе, так и на нескольких томах;
  • просматривать содержимое текстовых файлов, содержащихся в архиве;
  • обеспечивать защиту информации в архиве и доступ к файлам, помещенным в архив, по паролю.
align="justify">     Формат .RAR. был создан как универсальное средство сжатия файлов, содержащих самую различную информацию; он объединяет достоинства и удобства программ обоих классов – архиватора командной строки и полноэкранной оболочки для просмотра архивами и разнообразных операций с ними. В некоторых случаях RAR не может быть заменен ни одним из других архиваторов, а логичный и простой интерфейс делает его удобным средством для работы с архивами и файлами.[1]

     Формат, весьма популярный и в России, и  в мире, особенно среди молодого поколения. У программы WinRAR российский автор - Евгений Рошаль. По потребительским свойствам она объективно превосходит зарубежные аналоги. В международном секторе Интернета этот формат используют профессионалы, а в России он давно является потребительским. Поскольку архиватор WinRAR позволяет работать также с архивами в форматах .ZIP, .ARJ и некоторых других, он в общем-то удовлетворяет большинство потребностей пользователя в средствах сжатия и разуплотнения информации иметь наиболее полный набор программ, поскольку нельзя заранее предсказать, с каким форматом завтра придется иметь дело.[10]

     Дополнительные  возможности программы  RAR:

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

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

    1. Алгоритмы сжатия данных

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

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

     Все алгоритмы сжатия данных делятся на:

     1) алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений;

     2)алгоритмы  сжатия с потерями, которые удаляют  из потока

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

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

     Существует  два основных метода архивации: 

     Алгоритм  Хаффмана. Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 1 байта, а для записи редких символов – более длинные, то суммарный объем файла уменьшится. Например буквы а, о, е, и – встречаются очень часто в русском тексте, объем каждой буквы равен 1 байт (8 бит), их можно заменить на цифры 0,1,2,3, которые можно разместить в 2-х битах. Т.е. сжатие будет равен 25%, т.е. сжатие в 4 раза. 

     В алгоритме можно выделить три основные этапа.

  1. Выявляется частота повторения каждого из встречающихся символов.
  2. Чем чаще встречается символ, тем меньшим количеством битов он кодируется.
  3. К закодированной последовательности прикладывается таблица соответствия.

     Алгоритм  Лемпеля-Зива. Классический алгоритм Лемпеля-Зива – LZ77, названный так по году своего опубликования. Он формулируется следующим образом: «если в более раннем тексте уже встречалась подобная последовательность байт, то в архивный файл записывается только ссылка на эту последовательность (смещение, длина), а не сам текст». Аналогично сжимается изображение. Большие области одного цвета заменяются на ссылку: (цвет, длина) Графические файлы сжимаются очень хорошо– в 100–200 раз!

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

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

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

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

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

     Сжатие  информации в архивных файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Алгоритмы подобного сжатия информации реализованы в специальных программах-архиваторах  (наиболее известные из которых arj/arjfolder, pkzip/pkunzip/WinZip, rar/winRar применяются определенные. Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.

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

     Коэффициент сжатия характеризует процентное отношение сжатого (архивного) файла по отношению к исходному. Т.е. Kсжатия=(Laрхив/Lисхоный ) 100%

     Однако  удобнее использовать обратное отношение, которое показывает во сколько раз  архивный файл меньше исходного. Kуменьшения = Lисхоный/ Laрхив

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

     Наиболее  хорошо сжимаются файлы графических  образов, текстовые файлы и файлы  данных, для которых коэффициент  сжатия может достигать 5 - 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей Ксжатия = 60 - 90%. Почти не сжимаются архивные файлы. Это нетрудно объяснить, если знать, что большинство программ-архиваторов используют для сжатия варианты алгоритма LZ77 (Лемпеля-Зива), суть которого заключается в особом кодировании повторяющихся последовательностей байт. Частота встречаемости таких повторов наиболее высока в текстах и точечной графике и практически сведена к нулю в архивах.

     Кроме того, программы для архивации  все же различаются реализациями алгоритмов сжатия, что соответственно влияет на степень сжатия.

     В некоторые программы-архиваторы дополнительно  включаются средства, направленные на уменьшение коэффициента сжатия Ксжатия. Так в программе WinRAR реализован механизм непрерывного (solid) архивирования, при использовании которого может быть достигнута на 10 - 50% более высокая степень сжатия, чем дают обычные методы, особенно если упаковывается значительное количество небольших файлов однотипного содержания. [6]

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

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

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

      Самораспаковывающийся архив (англ. self-extracting archive, сокращённо «SFX archive») - файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая программа распаковки.

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

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

      Примеры программ, способных  создавать самораспаковывающиеся  архивы:

  • 7-Zip. Ненастраиваемые 7z SFX архивы для Microsoft Windows. Существует сторонний настраиваемый модуль - тоже для Windows.
  • p7zip. 7zCon.sfx - ненастраиваемый, для указанной пользователем платформы; поддерживает просмотр, автоматическую перезапись файлов, проверку целостности и зашифрованные архивы.
  • PKZIP. Только в зарегистрированных версиях, начиная с 2.70.
  • RAR и WinRAR. Возможно создание настраиваемых самораспаковывающихся RAR (и ZIP в WinRAR) архивов с русским и английским интерфейсом. Настройка архива производится путем задания комментария. Возможно изменение значка.

      Также такие архивы в своих форматах для соответствующих платформ могут  создавать StuffIt и WinZip.

      Существуют  также программы, которые создают  архивы в виде сценариев оболочки UNIX. Это часто используется для  создания программ установки коммерческого  ПО для UNIX-подобных ОС. Примеры: makeself и  более старая shar.

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

Понятие и назначение программ работы с архивами