Что такое архивация и сжатие данных

Что такое архивация и сжатие данных

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

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

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

Процесс записи файла в архивный файл называется архивированием (упаковкой, сжатием), а извлечение файла из архива – разархивированием (распаковкой).

Упакованный (сжатый) файл называется архивом.

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

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

Архивация информации – это такое преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним.

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

Основными техническими характеристиками процессов сжатия и результатов их работы являются:

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

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

Степень (качество) сжатия файлов характеризуется коэффициентом сжатия Kc, который определяется как отношение объема сжатого файла Vc к объему исходного файла Vo, выраженное в %:

Чем меньше Kc, тем выше степень сжатия.

Все используемые методы сжатия информации можно разделить на 2 класса:

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

Сжатие без потерь (англ. Lossless data compression) — метод сжатия данных: видео, аудио, графики, документов представленных в цифровом виде, при использовании которого закодированные данные могут быть восстановлены с точностью до бита. При этом оригинальные данные полностью восстанавливаются из сжатого состояния. Для каждого из типов цифровой информации, как правило, существуют свои оптимальные алгоритмы сжатия без потерь.

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

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

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

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

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

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

  • алгоритм RLE (Run Length Encoding);
  • алгоритмы группы KWE(KeyWord Encoding);
  • алгоритм Хаффмана.

Работа с архивами

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

Архивирование — объединение нескольких файлов в один файл. При этом финальный файл может иметь суммарный размер архивированных файлов либо даже больше. Это связано с добавлением служебной информации.

Сжатие — уменьшение размера исходного файла.

В Linux существует несколько программ, позволяющие выполнять вышеописанные операции.

Распространена и в Windows. Если планируешь использовать файлы и в Windows, то смело пользуйся данной программой. Формат команды таков:

zip [опции] финальный_файл сжимаемый_файл

Попробуем сжать файл manual.pdf в домашнем каталоге:

zip Archive.zip manual.pdf

После исполнения команды указывается и степень сжатия в процентах.

А степень сжатия всегда одинакова?

Нет, для разных файлов она всегда разная. Но можно задавать уровни сжатия. Команда zip поддерживает 10 уровней сжатия от 0 до 9, где 0 не сжимает, а просто архивирует файл. Например, так

zip -9 Archive.zip manual.pdf

А какой уровень сжатия был, когда мы не указывали его?

По умолчанию это всегда 6.

А можно сжать сразу несколько файлов?

Да. Можно указать последовательно несколько файлов, например, так

zip documents.zip manual.pdf operations.pdf maitenance.pdf

Либо можно собрать все файлы в одном каталоге и указать в команде данный каталог. При этом необходимо воспользоваться опцией -r ( —recursive ), потому что иначе будет сжата только пустая папка:

zip -r documents.zip Documents/

Кстати, у данной команды есть возможность ввести пароль для защиты содержимого. Для этого существуют опции -P ( —password ) и -e ( —encrypt ):

zip -P 12345 Archive.zip manual.pdf

Данная опция довольно небезопасная в плане сокрытия пароля, поэтому рекомендуется следующая опция:

zip -e Archive.zip manual.pdf

После этого команда запросит ввести пароль, который никто не увидит.

А как можно распаковать сжатый файл?

Для этого существует команда unzip . Теперь распакуем наш файл Archive.zip:

А можно как-нибудь узнать содержимое архива? Ведь не всегда же мне для этого надо его распаковывать.

Конечно можно. Воспользуемся опцией -l ( —list ):

unzip -l music.zip

Иногда бывает, что архив поврежден, поэтому советую всегда его проверять с помощью опции -t ( —test ):

unzip -t music.zip

Команды gzip, bzip2

В Linux существуют и более мощные утилиты сжатия по сравнению с zip . Это gzip и bzip2 . Обе утилиты очень похожи, но отличаются степенью сжатия. Работают они немного по-другому в отличие от zip . Формат команд следующий:

gzip [опции] архивированный_файл

bzip2 [опции] архивированный_файл

Попробуем выполнить команду gzip presentation.pdf :

Как видно команда не выдает результата своей работы, кроме того она удалила исходный файл.

Поэтому для слежения за ходом выполнения команды можно воспользоваться опцией -v ( —verbose ):

А чтобы сохранить исходный файл воспользуемся опцией -k ( —keep ):

А можно сразу задать другое имя архивированного файла?

Конечно можно. Для этого необходимо воспользоваться опцией ( —stdout ) и перенаправить выходной поток в новый файл:

gzip -cv presentation.pdf > MyDocument.pdf.gz

Как видно из рисунка исходный файл presentation.pdf остался нетронутым и не нужно пользоваться опцией -k ( —keep ).

А если не указать перенаправление потока в другой файл, что будет?

Тогда результат команды не будет сохранен и отобразится на экране терминала:

Кстати, у данной команды также доступны различные степени сжатия от 0 до 9, как и в у zip .

А можно сжать сразу несколько файлов за один прием?

Да, можно указать последовательно несколько файлов либо поместить их в каталог и вызвать команду gzip -r либо gzip —recursive:

Команда рекурсивно создаст архив каждого файла.

А можно создать один общий архив всех файлов?

Можно, но об этом немного позже.

Распаковка архива возможна 2-мя способами:

gzip -d MyDocument.pdf.gz

gzip —decompress MyDocument.pdf.gz

При распаковке удаляется исходный архив, поэтому, если нужно его сохранить, то необходимо воспользоваться опцией -k ( —keep ).

Все вышеописанные опции и приемы доступны и для команды bzip2 . Для распаковки архива существует команда bunzip2 .

Для команд gunzip и bunzip2 доступны следующие опции:

-t ( —test ) — проверка архива на ошибки

-l ( —list ) — отображение списка файлов в архиве без распаковки самого архива

tar [ опции ] целевой_файл исходный файл

Данная команда служит только для архивирования одного или нескольких файлов. При создании архива исходный файл не удаляется.

Для создания архива необходимо использовать опции -c ( —create ) и -f ( —file ). Например, создадим архив файла Report.doc:

tar -cf New_Archive.tar Report.doc

Запомни! При создании архива всегда помещай опцию -f в конец. Недопустимо, чтобы она была в начале или середине списка опций. То есть запись tar -fc неверная!

А можно архивировать и целые каталоги?

Да, достаточно в качестве исходного файла указать каталог.

А как узнать список файлов в архиве без распаковки всего файла?

Для этого существует опция -t ( —list ), использовать ее надо совместно с опцией -f ( —file ). Посмотрим что у нас в архиве Linux . tar:

tar -tf Linux.tar

Ну а если нужно распаковать архив, то воспользуемся опцией -x ( —extract или —get ): tar -xf Linux.tar

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

Как мы уже знаем, данные команды не могут создавать единый архив из нескольких файлов, поэтому на помощь им приходит команда tar .

Можно, конечно, воспользоваться символами групповых операций:

tar -cf Mymusic.tar music/; gzip -k Mymusic.tar

tar -cf Mymusic.tar music/ | gzip -c > Mymusic.tar.gz

Но существует запись получше. Вместо символов групповых операций достаточно воспользоваться специальными опциями. Чтобы сжать с помощью gzip применим опцию -z ( —gzip ) либо -j ( —bzip2 ) для bzip2:

tar -zcf Mymusic.tar.gz music/

tar -jcf Mymusic.tar.bz2 music/

Кстати, команда tar по умолчанию не отображает в терминале все свои действия, поэтому можно воспользоваться опцией -v ( —verbose ).

Ну а для того, чтобы разархивировать файл достаточно заменить опцию -c опцией -x ( —extract ):

tar -zxf Mymusic.tar.gz

tar -jxf Mymusic.tar.bz2

А можно и здесь узнать список файлов, не распаковывая сам архив tar.gz или tar.bz2 ?

Да, достаточно к вышеуказанной команде добавить опцию -t ( —list ):

tar -zxtf Mymusic.tar.gz

tar -jxtf Mymusic.tar.bz2

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

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

Архивация информации это преобразование информации, при котором объем информации уменьшается, а количество информации остается прежним

Все используемые методы сжатия информации можно разделить на два класса:

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

упаковка с потерей информации — распакованное сообщение будет отличаться от исходного сообщения.

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

Первая идея основана на учете частот символов, она разработана Д. А. Хаффманом а 1952 году. Эта идея базируется на том факте, что в обычном тексте частоты появления различных символов неодинаковы. Часто встречающиеся символы кодируются короткими последовательностями битов, а более редкие — длинными. К каждому сжатому архиву прикладывается таблица соответствия символов и кодов.

Вторая идея упаковки состоит в использовании того факта, что в сообщениях часто встречаются несколько подряд идущих одинаковых байтов, а некоторые последовательности байтов повторяются многократно. При упаковке такие места можно заменить командами вида "повторить данный байт n раз" (при упаковке графической информации) или "взять часть текста длиной k байтов, которая встречалась m байтов назад" (при упаковке текстовой информации). Такой алгоритм архивации называется RLE (кодирование путем учета повторений).

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

33. Настройка окна табличного процессора

34. Настройка операционной системы.

35. Новая информационная технология.

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

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

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

Запомните! Три основных принципа новой (компьютерной) информационной технологии:

интерактивный (диалоговый) режим работы с компьютером;

интегрированность (стыковка, взаимосвязь) с другими программными продуктами;

гибкость процесса изменения, как данных, так и постановок задач.

36. Номенклатура и основные потребительские характеристики компонентов ПК и периферийных устройств.

37. Обобщенная структурная схема компьютера.

38. Операции с графическими объектами в текстовом процессоре

39. Организация вычислений в базе данных

40. Основные группы прикладных программ.

41. Основные группы прикладных программ.

42. Основные направления защиты информации.

43. Основные санитарно-гигиенические и эргономические правила работы за компьютером.

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

Ссылка на основную публикацию
Что означает ошибка 110
Ошибка 110 в Android происходит главным образом при обновлении или установке приложений из Google Play. Случается это из-за несовместимости ОС:...
Что выбрать windows 7 или windows 10
Сегодня в нашем блоге «Чо?! Чо?!» я раскрою все преимущества и недостатки новой операционной системы для ноутбуков, сравнив ее с...
Что в китае дешевле чем в россии
Я экономлю тысячи рублей, покупая товары из Китая через интернет Сегодня я расскажу Вам о том, что выгодно покупать в...
Что означает ошибка 963
Ошибки в Google Play дело достаточно частое, это не удивительно, ведь Плей маркет – это один из крупнейших магазинов приложений....