MS-DOS для программиста

         

Увеличение вместимости диска и дискет


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

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

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

Многие текстовые процессоры и другие программы создают файлы резервных копий. Эти файлы имеют расширение, начинающееся с символов $, {, или расширения .BAK, .TMP, .SYD, .SVD, а также некоторые другие. Если по какой-либо причине компьютер "завис", временные файлы, созданные, например, текстовым процессором Microsoft Word или приложениями Microsoft Windows остаются на диске и засоряют его. Размеры таких файлов могут быть весьма значительны - порядка нескольких Мбайт. Поэтому в случае зависания операционной системы удалите сами все временные файлы с расширением .TMP.

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


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

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

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

На чем основано сжатие файлов?

На устранении избыточности информации.

Поясним это на примере. Пусть у нас есть обычный текстовый файл, причем в тексте используется русский язык.

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

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

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

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

Что же касается дискет, то для увеличения эффективности их использования можно предложить два взаимодополняющих способа:

  • хранение на дискетах архивов, созданных программами-архиваторами;


  • форматирование дискет на повышенную по сравнению со стандартной емкость.


  • Существуют специальные программы, позволяющие отформатировать дискеты двойной плотности (360 Кбайт) на емкость 720 или 800 Кбайт. Дискеты высокой плотности (1,2 Мбайт или 1,44 Мбайт) можно отформатировать на емкость 1,6 - 1,8 Мбайт.

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


    Содержание раздела