- Рефераты на русском
- Информатика
- Архивация файлов программы
Архивация файлов программы
Сжатие данных — процедура перекодирования данных, производимая с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных.
Сжатие бывает без потерь (когда возможно восстановление исходных данных без искажений) или с потерями (восстановление возможно с незначительными искажениями). Сжатие без потерь используется при обработке компьютерных программ и данных, именно его часто называют архивированием данных. Сжатие с потерями обычно применяется для сокращения объёма звуковой, фото- и видеоинформации, оно значительно эффективнее сжатия без потерь.
Сжатие основано на устранении избыточности информации, содержащейся в исходных данных. Степень избыточности зависит от типа данных. Например, у видеоданных степень избыточности обычно в несколько раз больше, чем у графических данных, а степень избыточности графических данных в несколько раз больше, чем текстовых. Кроме того, степень избыточности данных зависит от принятой системы кодирования.
Примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности более коротким значением (кодом). Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других, при этом, возможно, заменять часто встречающиеся данные более короткими кодами, а редкие - более длинными (вероятностное сжатие). Сжатие данных, не обладающих свойством избыточности (например, случайный сигнал или шум), невозможно.
Вопросы сжатия данных достаточно остро стоят в различных областях науки и техники, везде, где требуется хранение и передача информации. Во-первых, это связано стоимостью носителей информации, во-вторых, с необходимостью передачи больших потоков информации по линиям связи. Кроме того, сжатие данных неразрывно связано с криптографией и защитой информации от случайного и преднамеренного воздействия.
Программы, осуществляющие архивацию данных, называют архиваторами. В архиваторах разработчики стремятся улучшить два основных параметра - степень сжатия и скорость работы. Скорость работы распадается на два конкурирующих параметра - скорость архивации и скорость разархивации. Часто бывает неважно, как долго мы сжимаем данные, но критичным является время обратного преобразования или наоборот. Иногда немаловажным оказывается также объем используемой памяти. Остальные свойства менее значительны и обычно не рассматриваются.
Для этих параметров обычно редко удается улучшить что-нибудь одно, не ухудшив при этом другого. К тому же алгоритм сжатия оптимальный для одних типов данных, может быть совершенно не пригодным для других. Например, архиватор созданный для устранения избыточности текстов естественного языка и построенный на принципах позволяющих достичь большой степени сжатия именно текстов может совершенно не сжимать графические данные или даже увеличивать их объём.
На самом деле исследователями были научно доказаны теоремы которые накладывают на архиваторы и на само сжатие данных ограничения по степени сжатия.
1. Для любой последовательности данных существует теоретический предел сжатия, который не может быть превышен без потери части информации.
2. Для любого алгоритма сжатия можно указать такую последовательность данных, для которой данный алгоритм вообще не позволит получить сжатия.
Родоначальником архиваторов в связи можно назвать азбуку Морзе, в которой для повышения скорости связи заложена простая идея - чем чаще используется буква алфавита, тем короче должен быть ее код. В дальнейшем, алгоритмы сжатия информации стали широко использоваться в факс-модемной и радиосвязи, позволяя в обоих случаях повысить скорость передачи информации.
Нарастание интереса к архиваторам началось с появлением IBM-совместимых персональных компьютеров. До этого тоже существовали программы сжатия, но они были известны только специалистам и обеспечивали несравнимо худшие показатели сжатия информации.
Современные программные средства для создания и обслуживания архивов отличаются большим объемом функциональных возможностей, многие из которых выходят далеко за рамки простого сжатия данных и эффективно дополняют стандартные средства операционной системы. В этом смысле современные средства архивации данных называют диспетчерами архивов.
К базовым функциям, которые выполняют большинство современных диспетчеров архивов, относятся:
• извлечение файлов из архивов
• создание новых архивов
• добавление файлов в имеющийся архив
• создание самораспаковывающихся архивов
• создание распределенных архивов на носителях малой емкости
• тестирование целостности структуры архивов
• полное или частичное восстановление поврежденных архивов
• защита архивов от просмотра и несанкционированной модификации.
• создание непрерывных (solid) архивов
Самораспаковывающиеся архивы. В тех случаях, когда архивация производится для передачи документа потребителю, следует предусмотреть наличие у него программного средства, необходимого для извлечения исходных данных из уплотненного архива. Если таких средств у потребителя нет, создают самораспаковывающиеся архивы. Самораспаковывающийся архив готовится на базе обычного архива путем присоединения к нему небольшого программного модуля. Сам архив получает расширение имени .ЕХЕ, характерное для исполнимых файлов. Потребитель сможет выполнить его запуск как программы, после чего распаковка архива произойдет на его компьютере автоматически.
Распределенные архивы. В тех случаях, когда предполагается передача большого архива на носителях малой емкости, например на гибких дисках, возможно распределение одного архива в виде малых фрагментов на нескольких носителях.
Защита архивов. В большинстве случаев защиту архивов выполняют с помощью пароля, который запрашивается при попытке просмотреть, распаковать или изменить архив. Защита с помощью пароля считается неудовлетворительной и не рекомендуется для особо важной информации.
Непрерывные архивы. Очень высокий выигрыш в размере (10-50%), особенно при архивировании большого количества малых файлов, получается при использовании опции создания непрерывных архивов. В этом случае все данные будут архивироваться в виде одного большого файла, а не каждый по отдельности. Это значительно увеличивает эффективность сжатия информации, но данный метод имеет и свои недостатки. Во-первых, для распаковки нескольких файлов из такого архива понадобится больше времени, чем для извлечения из обычного. Тут будет иметь значение, какими по счету были заархивированы нужные файлы. Если они были в середине, то для их распаковки программе будет нужно распаковать все файлы упакованные до необходимых, пока она доберется до требуемых. Создание архивов таким способом также может повлечь за собой большие утраты, ведь если архив окажется, поврежден, будут потеряны все файлы, которые в нем находились. В случае же запаковки обычным способом, можно извлечь из поврежденного архива пусть не все, но большинство файлов.
К дополнительным функциям диспетчеров архивов относятся сервисные функции, делающие работу более удобной:
• просмотр файлов различных форматов без извлечения их из архива
• поиск файлов и данных внутри архивов
• установку программ из архивов без предварительной распаковки
• проверку отсутствия компьютерных вирусов в архиве до его распаковки
• создание самораспаковывающихся многотомных архивов
• выбор или настройка коэффициента сжатия информации.
Файлы различных форматов сжимаются с различной степенью эффективности. Очень хорошо архивируются графические файлы в формате *.bmp (на 80--85%) и документы MS Office (в среднем на 60%), немного хуже -- Web-страницы (40--50%). Для исполняемых файлов этот показатель варьируется (~50% в зависимости от архиватора) и в большинстве случаев довольно низкий. Архивирование практически не влияет на размер сжатых файлов (графические файлы в формате *.gif и *.jpg, DivX-фильмы, образы CD и т. д.).
Наиболее популярные среди пользователей архиваторы:
• WinZip
• WinRAR
• 7Zip
• WinAce
• PowerArchiver
WinZip
• Стоимость: 7$
• Размер дистрибутива: 5929К
• Сайт производителя: http://www.winzip.com/
• Поддерживаемые форматы: Cab, GZip, Tar , TGZ - только извлечение файлов. Zip - полная поддержка.
• Исправление поврежденных архивов: не поддерживается.
• Самораспаковывающиеся архивы: поддерживаются.
• Зашифрованные архивы: поддерживаются.
• Непрерывные архивы: не поддерживаются.
• Многотомные архивы: ограниченная поддержка.
Самый распространенный формат архивов - Zip, и самый распространенный архиватор - WinZip. Невысокая степень сжатия компенсируется широкой известностью WinZip.
Не смотря на то, что степень сжатия у программы невелика, она обладает простым интерфейсом, а также мастерами для создания и распаковки архивов. Zip-архивы могут включать в себя комментарии и быть зашифрованными с использованием пароля. Поддержка многотомных архивов в самом формате Zip ограничена: их можно создавать только на дискетах.
Стандартная версия WinZip может создавать только простейшие самораспаковывающиеся (SFX) архивы. Чтобы запустить программу после извлечения файлов из архива или изменить текст в окне распаковщика, необходимо купить утилиту WinZip Self-Extractor, заплатив еще $49.
Для увеличения количества распознаваемых форматов архивов есть возможность подключения архиваторов Arj и Lha. WinZip — один из первых архиваторов с графическим интерфейсом под Windows и до сих пор великолепная интеграция этого продукта с Windows является эталоном. Но на данный момент конкурирующие архиваторы обогнали его и по сжатию, и по удобству интерфейса.
WinRAR.
• Стоимость: 29$
• Размер дистрибутива:1035К
• Сайт производителя: http://www.rarlab.com/
• Поддерживаемые форматы: CAB, ARJ, LZH, TAR, GZip, ACE, UUE, BZ2, JAR, ISO ,7Z - только извлечение файлов.
RAR , Zip - полная поддержка.
• Исправление поврежденных архивов: поддерживается для форматов RAR и Zip.
• Самораспаковывающиеся архивы: поддерживаются.
• Зашифрованные архивы: поддерживаются.
• Непрерывные архивы: поддерживаются.
• Многотомные архивы: поддерживаются.
Вечный конкурент программы WinZip. Данный архиватор особой любовью пользуется у россиян во многом благодаря тому, что создан соотечественником Леонидом Рошалем. На мировом рынке программных средств известен как архиватор с одним из лучших алгоритмов сжатия данных.
Восстановление "испорченных" архивов по умолчанию возможно только для Zip-архивов. Для того чтобы свести к минимуму вероятность потери данных, при создании архивов WinRar рекомендуется использовать опцию «Информация для восстановления» (этот флажок можно найти на вкладке «Общее» окна создания архива). Если это было сделано, то в случае повреждения архива его можно будет восстановить. Кроме этого в WinRar, можно уменьшить вероятность повреждения RAR-архива, указав при его создании размер информации для восстановления. Для этого нужно выполнить команду «Команды»>«Добавить информацию для восстановления в окне Winrar. При этом объем информации для восстановления не может превышать десяти процентов от общего размера архива.
Многотомное архивирование, предоставляемое архиватором, значительно превосходит по удобству метод разбиения "на дискеты" используемый в WinZip.
WinRAR понимает практически все известные форматы архивов. После установки программа встраивает в главное контекстное меню свои основные ярлыки, поэтому не придется каждый раз лезть в главное меню и искать там ярлыки программы, а затем разбираться в ее интерфейсе. Все основные задачи уже есть в контекстном меню. Рядом с каждым пунктом находится хорошо узнаваемый значок, так что при открытии меню ярлыки WinRAR'а сразу же бросаются в глаза. При упаковке данных можно задать степень сжатия архива или отключить сжатие. Помимо этого, программа позволяет защищать архивы паролем (можно указать и то, какие файлы из архива должны быть доступны, даже если пользователь не знает пароля), писать комментарии, создавать самораспаковывающиеся архивы. В WinRar присутствует возможность воспользоваться специальным алгоритмом мультимедиа-сжатия, оптимизирующим компрессию оцифрованного звука и графических файлов.
Для пользователей, которые общаются с архиватором впервые, предусмотрены специальные мастера, которые быстро введут в курс дела. Сама программа обладает приятным интерфейсом, который не вызывает никаких проблем в освоении.
7Zip
• Стоимость: 0$
• Размер дистрибутива: 837К
• Сайт производителя: http://www.7-zip.org/
• Поддерживаемые форматы: RAR, CAB, ARJ, Z, CPIO, RPM, DEB, SPLIT- только извлечение файлов.
ZIP, GZIP, TAR, BZIP2, 7Z - полная поддержка.
• Исправление поврежденных архивов: не поддерживается
• Самораспаковывающиеся архивы: поддерживаются.
• Зашифрованные архивы: поддерживаются.
• Непрерывные архивы: поддерживаются.
• Многотомные архивы: поддерживаются.
Это ещё один архиватор от российских разработчиков. Благодаря более совершенному алгоритму сжатия качество архивирования данных у собственного формата *.7z опережает даже WinRAR. Правда, такой коэффициент сжатия достигается благодаря тому, что архиватор работает медленнее. В остальном 7-Zip действительно во многом превосходит более известных конкурентов, а потому предпочтение ему отдают все больше пользователей.
Интерфейс у 7-Zip аскетичный, но не нужно забывать, что программа пока находится на ранней стадии разработки и активно развивается. О том, что разработчик заботится о распространении продукта по всему миру, говорит то, что программа поддерживает огромное количество языков - в последней версии программы их более шестидесяти. Конечно же, есть и русский.
7-Zip дает возможность создавать архивы, защищенные паролем, а также шифровать имена файлов, которые содержаться в архивах. При этом используется 256-битный алгоритм AES. Именно этот алгоритм был в 2001-году выбран американским национальным институтом стандартов и технологий (NIST) в качестве криптографического стандарта на ближайшее время, поэтому можно сказать, что это - один из лучших алгоритмов шифрования на сегодняшний день.
Плюсом программы является то, что она абсолютно бесплатна в отличие от своих конкурентов, автор лишь просит поддержать разработку, выплатив ему вознаграждение размером в $20.
WinAce
• Стоимость: 29$
• Размер дистрибутива: 3801К
• Сайт производителя: http://www.winace.com/
• Поддерживаемые форматы: ACE, ZIP, LHA, MS-CAB, ARC, ARJ, GZIP, TAR, BZip2, ISO, ZOO, RAR- только извлечение файлов.
ACE, ZIP, LHA, MS-CAB, JAR- полная поддержка.
• Исправление поврежденных архивов: поддерживается для форматов ACE и ZIP.
• Самораспаковывающиеся архивы: поддерживаются.
• Зашифрованные архивы: поддерживаются.
• Непрерывные архивы: поддерживаются.
• Многотомные архивы: поддерживаются.
Несмотря на то, что WinAce выпускается довольно давно, добиться такой популярности среди пользователей, как WinRar, архиватору не удалось. Для того чтобы архиватор мог соперничать с конкурентом, он должен превосходить соперника по двум параметрам - скорости и степени сжатия. Размер архивов в формате ACE часто меньше чем после использования WinRar, однако не настолько, чтобы привлечь к себе внимание. Кроме этого, WinAce не отличается быстрой работой, затрачивая почти вдвое больше времени, по сравнению с WinRar. Если же сравнивать WinAce с 7Zip, то главным недостатком архиватора можно считать платность.
К недостаткам Winace можно также отнести и то, что архиватор не отличается высокой стабильностью работы, и как следствие, время от времени окно программы закрывается вследствие "недопустимой операции". Это серьезный недостаток, особенно учитывая практически безотказную работу Winrar и 7Zip.
Для улучшения сжатия графических и звуковых, равно как и исполняемых (*.ехе) файлов, в архиваторе реализованы дополнительные алгоритмы мультимедиа-компрессии, а для всех остальных типов данных - дельта-сжатие. Поддерживается создание непрерывных архивов, проверка на целостность всех знакомых программе форматов, восстановление поврежденных ACE и ZIP-архивов и многое другое. Кроме того, можно конвертировать архивы различных форматов в АСЕ для уменьшения их размера. Программа обладает отличной интеграцией с Windows.
PowerArchiver
• Стоимость: 20$
• Размер дистрибутива: 3712К
• Сайт производителя: http://www.powerarchiver.com/
• Поддерживаемые форматы: RAR, ARJ, ARC, ACE, ZOO, ISO, BIN, IMG, NRG- только извлечение файлов.
ZIP, 7-ZIP, CAB, LHA (LZH), TAR, GZIP, BZIP2, BH - полная поддержка.
• Исправление поврежденных архивов: поддерживается для формата ZIP.
• Самораспаковывающиеся архивы: поддерживаются.
• Зашифрованные архивы: поддерживаются.
• Непрерывные архивы: не поддерживаются.
• Многотомные архивы: поддерживаются.
PowerArchiver - очень мощный архиватор. Красивый, удобный и понятный интерфейс. PowerArchiver в отличии от WinRAR, 7Zip и WinAce не предоставляет своего собственного формата для сжатия данных однако он поддерживает большое количество различных архивов включая и RAR, ACE и 7-ZIP причем последний поддерживается полностью.
Встроенный просмотрщик позволяет "на лету" просматривать TXT, RTF и все популярные форматы графических файлов прямо в архиве. Кроме того, PowerArchiver предлагает пользователю 5 различных методов шифрования особо секретных данных.
Остальной набор функций стандартен: конвертирование различных архивов в те, которые полностью поддерживаются программой, отличная интеграция с Windows, возможность создания многотомных Zip-архивов и множество других. Особой гордостью авторов программы является то, что она получила сертификат от Microsoft как ПО, оптимизированное под Windows XP, со всеми вытекающими отсюда "последствиями", а именно - поддержкой тем Windows XP. Да и сам PowerArchiver может похвастаться массой собственных скинов, призванных полностью изменить его внешний вид.
При архивировании информации трудно со стопроцентной уверенностью сказать, какой из архиваторов в данном случае позволит получить максимальную степень сжатия. Наиболее вероятно, что из тройки WinАce-WinRar-7Zip лучше справится WinRar. Однако даже при сжатии файлов одного и того же типа (например, графического формата bmp) часто невозможно заранее определить, какой из архиваторов сожмет файл лучше - наиболее высокая степень сжатия может быть у любого из перечисленных архиваторов. В большинстве случаев определить оптимальный формат сжатия можно только эмпирическим путем, используя функции оптимизации для конкретного типа и размера сжимаемой информации. Поэтому, если размер сжатого файла действительно имеет значение, перед отсылкой файла по почте, размещением на FTP-сервере или перед записью его на лазерный диск, лучше всего запаковать данные сразу тремя архиваторами и посмотреть, какой из них справился с заданием лучше других.
Список использованной литературы.
Фомин А.А. «Основы сжатия информации»
http://www.powerarchiver.com/
http://www.winace.com/
http://www.7-zip.org/
http://www.rarlab.com/
http://www.winzip.com/
http://ru.wikipedia.org/wiki/Архивация
http://256bit.ru/informat/index9.htm
http://www.computerra.ru/hitech/novat/26988/
http://www.computerra.ru/offline/1999/309/3147/
http://www.computerra.ru/offline/1999/311/3166/
http://www.computerra.ru/offline/1999/312/3181/
http://www.3dnews.ru/software/arc/
http://www.3dnews.ru/software/arc-2/
http://www.3dnews.ru/software/arc-3/