Формулы и функции-3

Формулы и функции-2

Формулы и функции-1

Как правильно вводить данные в таблицу

Форматирование ячеек - 2

Поисковый запрос должен быть не менее 4-х символов


Подписка на рассылку

Введите e-mail, на который хотите получать информацию о новых уроках

Отписаться от рассылки

Введите e-mail, который хотите отключить от рассылки

Хочешь научиться
работать на компьютере?

Все подробности здесь
(Только для начинающих пользователей ПК!)

Что такое архивирование

Автор: admin

Дата: 2011-02-01

Перво-наперво, определимся с терминологией.

Упаковка или сжатие файла - это операция уменьшения объёма файла программными средствами.

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

Итак, начнём, пожалуй. Дан файл изображения:

Архивирование

В нашем случае это Российский флаг. Оно (изображение) состоит из множества цветных точек - пикселов. 500 пикселов в длину и 325 пикселов по высоте. Программа-просмотрщик сканирует каждый пиксел по строчкам и столбцам, определяет его цвет и затем, с помощью видеокарты компьютера, выводит изображение на экран монитора. Примерно так:

первая строка: пиксел 1=белый, пиксел 2=белый, пиксел 3=белый, пиксел 4=белый,..., пиксел499=белый, пиксел500=белый.

вторая строка: пиксел 1=белый, пиксел 2=белый, пиксел 3=белый, пиксел 4=белый,..., пиксел499=белый, пиксел500=белый.

и так далее. Когда встретится пиксел иного цвета, программа среагирует, например:

сто двадцать первая строка: пиксел 1=синий, пиксел 2=синий, пиксел 3=синий, пиксел 4=синий,..., пиксел499=синий, пиксел500=синий.

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

500 х 325 = 162 тысячи 500 штук!

Однажды программисты задумались: а нельзя ли программным способом уменьшить такое сканирование? Оказалось - можно! Была разработана программа-упаковщик, которая сохраняла только адреса одинаковых по цвету пикселов.

И работала эта программа так:

  • строки с 1-й по 108-ю, пикселы с 1-го по 500-й = белый;
  • строки со 109-й по 216-ю, пикселы с 1-го по 500-й = синий;
  • строки с 216-й по 325-ю, пикселы с 1-го по 500-й = красный;

И всё!

Все данные о цвете сотен тысяч пикселов уместились в трёх строчках! И на жёстком диске компьютера такой рисунок займёт так же мало места.

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

По тому же принципу происходит упаковка и текстовых файлов. Вот пример:

Скороговорка "Около кола колокола" занимает на носителе информации 19 ячеек - 17 букв и два пробела.

Программа-упаковщик анализирует текст и выделяет одинаковые сочетания букв:

о-кол-о кол-а кол-о-кол-а

и помечает их, например:

букву "о" - "1";
букву "а" - "2";
слог "кол" - "3".

Таким образом, вместо 19 ячеек для записи в память используются всего три! Ну, конечно какое-то количество ячеек памяти используется и для записи адресов, которым принадлежат видоизменённые буквы и слоги. Но общий объём файла со скороговоркой получается вдвое, а то и втрое меньше!

Таким же образом происходит упаковка всех файлов.

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

Теперь рассмотрим, как происходит архивирование, или ещё говорят, архивация.

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

Архивирование

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

Информация на диск записывается как на пластинку, по кругу, от центра диска, с постепенным увеличением радиуса. Вот, к примеру, вид диска с записанными на него двумя файлами объёмом 2 килобита (синим цветом) и 6 килобит (зелёным цветом).

Каждый файл начинается обязательно с начала сектора, так его удобно найти. А где он закончится - уже неважно.

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

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

Архивирование

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

Интересно, правда? :)

Просмотров: 8969

Комментарий, вопрос добавил(а): Гаврила
Дата: 2012-02-04

Очень интересно

Комментарий, вопрос добавил(а): галия
Дата: 2014-02-11

А как их потом извлечь?

Комментарий, вопрос добавил(а): admin
Дата: 2014-02-11

Галия, а есть такая приблуда - Total Commander называется. Кстати, статьи по Коммандеру - на этом же сайте. Удачи!

Вопросы по теме задавайте на форуме

Добавить Ваш комментарий к уроку:

Ваше имя:

Текст комментария:

Введите сумму чисел с картинки

По всем интересующим вопросам, пожалуйста, обращайтесь на форум или на адрес softpractice@mail.ru

www.SoftPractice.ru