Сервисные программы. Архиваторы.

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

С того момента, как информация стала переводиться в электронную форму, технология породила процесс почти неконтролируемого роста объема электронных файлов. Причем увеличился объем не только операционной системы или пользовательских приложений, но также выросли и создаваемые этими программами рабочие файлы. Для решения этой проблемы были созданы специализированные программы для упаковки данных. Эти программы получили название программ архивации файлов. Принцип работы архиватора состоит в следующем. Любой файл состоит из набора нулей и единиц. Предположим, есть некоторый набор данных: 1101101101110. Здесь наблюдается определенная закономерность: последовательность «110» повторяется четыре раза подряд. Значит, появляется возможность заменить вышеуказанный фрагмент следующей последовательностью: КЛЮЧповторповторповтор. Где ключом обозначается 110, а символ повтора означает, что на его месте должен находиться ключ. Если условно считать, что повтор обозначается как 1, то исходный фрагмент преобразуется в 110111, и в результате из последовательности длиной двенадцать бит получится последовательность длиной в шесть бит. То есть применение кодирования позволило сжать исходный файл в два раза. Таким образом техника сжатия (компрессии, упаковки) данных основана на замене повторяющихся последовательностей более короткими кодами и составлении таблицы соответствия, используемой в последующем для восстановления данных в первоначальном виде, то есть для их распаковки (декомпрессии) и архив делится на два компонента – таблицу соответствия и сжатые данные. В действительности архив еще содержит заголовок со служебной информацией, в том числе со справочником, описывающим сжатые файлы. Дополнительный выигрыш памяти достигается еще и благодаря устранению пустот в «хвостовых» кластерах сжимаемых файлов, поскольку все их содержимое помещается в единственный файл.