Теория: Причины переполнения диска
Самая основная причина переполнения диска - лишние файлы, которые вам либо совсем не нужны, либо нужны крайне редко. Следует убедиться в том, что вы понимаете назначение каждого файла, расположенного на диске. Очень часто диск оказывается заполнен временными файлами и резервными копиями рабочих файлов. Общий размер таких файлов может оказаться весьма значительным.
Вторая причина - наличие так называемых потерянных кластеров. Мы уже говорили о том, что MS-DOS хранит файлы в кластерах, причём файл может занимать много кластеров. Иногда (в основном после "зависания" операционной системы) появляются кластеры, не описанные ни в одном каталоге. Эти кластеры помечены в таблице размещения файлов FAT как занятые файлами, но доступа к этим файлам нет (так как доступ к файлам возможен только через каталоги). Потерянные кластеры занимают место на диске, и это место нельзя освободить иначе, чем с помощью специальных утилит ремонта файловой системы.
И, наконец, третья причина заключается в том, что для файла любого размера (даже для файла размером 1 байт) выделяется по крайней мере один кластер. Кластер может иметь размер от одного до 8 секторов, т.е. даже для хранения файла размером 1 байт расходуется от 512 до 4096 байт дисковой памяти. Если на вашем диске хранятся сотни маленьких файлов, все вместе они могут занимать несколько сотен килобайт дисковой памяти!
Поэтому необходимо регулярно проверять содержимое диска и удалять лишние файлы. Кроме того, очень полезно периодически запускать утилиты, проверяющие целостность файловой системы MS-DOS.
Существуют специальные программы-архиваторы, сжимающие файлы и хранящие их в виде библиотеки (архива). Каждый архив располагается в отдельном файле и может содержать сотни сжатых файлов.
На чем основано сжатие файлов?
На устранении избыточности информации.
Поясним это на примере. Пусть у нас есть обычный текстовый файл, причём в тексте используется русский язык.
Во-первых, в тексте обычно имеются повторяющиеся символы. Например, символ пробела. В тексте могут быть строки, содержащие десятки стоящих рядом символов пробела. В процессе сжатия программа может записать в архив вместо этих пробелов только один, снабдив его коэффициентом повторения. Если имеется десять пробелов, стоящих рядом, в архив можно записать число 10, а вслед за ним - символ пробела.
Во-вторых, вспомним, как расположены буквы русского алфавита в кодовой таблице символов. Они занимают там правую половину таблицы с кодами, большими чем 128. Это означает, что для всех русских букв старший бит всегда равен единице. Следовательно, для русского текста этот бит содержит избыточную информацию.
Реальные программы-архиваторы используют более сложные алгоритмы устранения избыточности информации, обеспечивая сжатие файлов в 1,5 - 2 раза (в зависимости от содержимого файлов).
Архиваторы удобно использовать для сжатия редко используемых файлов. Причём вы можете легко сжимать все файлы в каталоге, включая и подкаталоги, а затем, при необходимости, восстанавливать их снова.
В разделе, предназначенном для опытных пользователей, мы расскажем об организации диска, на котором данные хранятся в сжатом виде. При записи данных на такой диск они автоматически сжимаются, а при чтении - восстанавливаются (также автоматически). При этом за счёт компрессии ценой небольшого замедления во времени можно получить двукратный выигрыш в ёмкости диска.
Что же касается дискет, то для увеличения эффективности их использования можно предложить два взаимодополняющих способа:
Существуют специальные программы, позволяющие отформатировать дискеты двойной плотности (360 килобайт) на ёмкость 720 или 800 килобайт. Дискеты высокой плотности (1,2 мегабайта) можно отформатировать на 1,6 мегабайта или даже на ещё большую ёмкость.
В этом нет ничего фантастического. Такие программы используют большее по сравнению со стандартным число дорожек и большее по сравнению со стандартным число секторов на одной дорожке. За счёт этого увеличивается общее количество секторов на дискете, и, соответственно, общая ёмкость дискеты.