Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

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

© Александр Фролов, Григорий Фролов
Том 19, М.: Диалог-МИФИ, 1995, 253 стр.

[Назад] [Содеожание] [Дальше]

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

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

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

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

Многие текстовые процессоры и другие программы создают файлы резервных копий. Эти файлы имеют расширение, начинающееся с символов $, {, или расширения .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 Мбайт.

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

Потерянные кластеры

Самый простой способ избавиться от потерянных кластеров - запустить утилиту MS-DOS scandisk.exe .

Можно также использовать старую программу chkdsk.exe . Например, если вам надо проверить файловую систему на диске C: и исправить ее возможные повреждения (в том числе устранить потерянные кластеры), введите из системного приглашения следующую команду:

chkdsk c: /F

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

Другой способ устранения потерянных кластеров заключается в использовании специальной утилиты Norton Disk Doctor из пакета утилит Нортона . Эта диалоговая утилита способна выполнить диагностику и ремонт файловой системы даже в случае ее сильных повреждений.

Динамический компрессор диска DriveSpace

Операционная система MS-DOS имеет в своем составе средство динамического сжатия файлов, записанных на диске, которое называется DriveSpace .

При использовании этого средства на одном из логических дисков компьютера создается специальный файл с именем вида drvspace.00<n>, имеющий атрибуты "скрытый" и "системный". Специальный драйвер, который не виден для пользователя (не подключается в файле config.sys , а встраивается до начала обработки этого файла) делает из него еще один логический диск. За счет устранения избыточности информации размер этого логического диска получается примерно в полтора-два раза больше, чем размер использованного для него файла.

Если ваш компьютер имеет жесткий диск емкостью, например, 40 Мбайт, вы можете разместить на нем файл системы DriveSpace размером 30 Мбайт. При этом у вас останется 10 Мбайт на жестком диске, и еще прибавится примерно 60 Мбайт - это размер созданного логического диска.

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

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

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

Установка системы DriveSpace

Для установки системы DriveSpace введите из приглашения MS-DOS команду drvspace:

c:\>drvspace

На экране появится сообщение, показанное на рис. 6.5.

Рис. 6.5. Установка системы DriveSpace

Для продолжения установки нажмите клавишу <Enter>.

Вам будет предложено выбрать один из двух возможных вариантов установки системы DriveSpace (рис. 6.6): быстрая автоматическая установка (Express Setup) и ручная установка (Custom Setup).

Рис. 6.6. Выбор варианта установки системы DriveSpace

При выборе автоматической установки система сама преобразует диск C: таким образом, что все записанные на нем файлы станут сжатыми. Диск C: будет преобразован в диск DriveSpace .

Очевидно, что это не всегда удобно, так как на диске C: могут находиться каталоги для временных файлов, файл виртуальной памяти Microsoft Windows или другие файлы, которые по тем или иным причинам нежелательно хранить на диске DriveSpace .

Поэтому мы рекомендуем вам выбрать второй вариант установки (Custom Setup).

Вам будет предложено два варианта создания диска DriveSpace (рис. 6.7). Вы можете преобразовать существующий диск в диск DriveSpace, выбрав строку "Compress an existing drive", или создать новый использовав для него свободное пространство, расположенное на любом диске. В последнем случае надо выбрать строку "Create a new empty compressed drive".

Рис. 6.7. Два варианта создания диска DriveSpace

Выберите второй вариант, так как он не затронет существующие файлы и, следовательно, наиболее безопасен.

Вам будет предложено выбрать логический диск, на котором будет создан скрытый системный файл drvspace.00<n> (рис. 6.8). Вы можете выбрать любой диск, содержащий свободное пространство достаточного размера.

Рис. 6.8. Выбор диска для размещения файла drvspace.00<n>

На следующем этапе вы сможете определить параметры создаваемого диска DriveSpace (рис. 6.9).

Рис. 6.9. Определение параметров создаваемого диска DriveSpace

В поле "Free space to leave on drive ...:" вы можете указать размер свободного пространства, который останется на выбранном для файла drvspace.00<n> логическом диске.

В поле "Compression ratio for new drive" можно указать желаемую степень сжатия файлов, размещенных на диске DriveSpace . Чем больше сжатие, тем будет медленнее выполняться процедура записи на диск DriveSpace. Фактическая степень сжатия может отличаться от указанной, так как она определяется в первую очередь содержимым сжимаемых файлов.

И, наконец, в поле "Drive letter of new drive" можно выбрать обозначение для создаваемого диска DriveSpace .

После выбора параметров переместите курсор на строку "Continue" и нажмите клавишу <Enter>. На экране появится сообщение о запуске процедуры создания диска DriveSpace (рис. 6.10). Вы можете приступить к созданию диска, нажав клавишу <C>, или вернуться к определению параметров, нажав клавишу <Esc>.

Рис. 6.10. Сообщение о запуске процедуры создания диска DriveSpace

В процессе создания диска DriveSpace будет выполнен перезапуск MS-DOS для загрузки драйвера drvspace.bin . Этот драйвер находится в корневом каталоге диска C:, причем его не нужно подключать в файле config.sys . Напомним, что драйвер drvspace.bin загружается до начала обработки файла config.sys.

На следующем этапе установки будет запущена программа scandisk.exe , которая входит в состав MS-DOS версии 6.22 и предназначена для проверки и ремонта файловой системы (рис. 6.11, 6.12).

Рис. 6.11. Проверка файловой системы

Рис. 6.12. Проверка поверхности диска

Далее произойдет второй перезапуск операционной системы MS-DOS, вслед за чем диск DriveSpace станет доступным для использования.

Удаление диска DriveSpace

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

Для удаления диска запустите программу drvspace.exe из командного приглашения MS-DOS. Теперь, когда система DriveSpace установлена, с помощью этой программы можно выполнять различные операции над дисками DriveSpace, такие, как проверка, дефрагментация и т. п. (рис. 6.13).

Рис. 6.13. Работа с диском DriveSpace

Для того чтобы удалить диск DriveSpace , выберите его из меню, расположенном в центре экрана. Затем из меню "Drive" выберите строку "Delete...". На экране появится предупреждающее сообщение о том, что содержимое диска будет уничтожено (рис. 6.14).

Рис. 6.14. Удаление диска DriveSpace

Выберите кнопку "OK". После этого программа удалит диск DriveSpace и освободит место, которое было занято файлом drvspace.00<n>.

Отключение драйвера drvspace.bin

В процессе установки системы DriveSpace в файл config.sys добавляется следующая строка:

DEVICE=C:\DOS\DRVSPACE .SYS /MOVE

Можно было бы подумать, что файл drvspace.sys и есть драйвер системы DriveSpace . Однако это не так.

Драйвер drvspace.sys выполняет перемещение драйвера drvspace.bin в область старших адресов памяти для освобождения основной памяти. При этом сам драйвер drvspace.sys после инициализации удаляется из оперативной памяти.

Для того чтобы полностью отключить систему DriveSpace , после удаления всех дисков DriveSpace описанным выше методом вы должны удалить из корневого каталога диска C: следующие файлы:

drvspace.bin , drvspace.ini

Затем нужно перезапустить операционную систему MS-DOS.

Нестандартное форматирование дискет

В настоящее время наиболее распространены дискеты с двойной (Double Density - DD) и высокой (High Density - HD) плотностью, имеющие диаметр 5,25" и 3,5", соответственно.

При помощи программы format.com можно отформатировать эти дискеты следующим образом.

Дискеты диаметром 5.25":

Плотность Емкость отформатированной дискеты
Двойная (DD) 360 Кбайт
Высокая (HD) 1,2 Мбайт

Дискеты диаметром 3,5":

Плотность Емкость отформатированной дискеты
Двойная (DD) 720 Кбайт
Высокая (HD) 1,44 Мбайт

В документации по операционной системе MS-DOS подробно описано, как форматировать дискеты двойной и высокой плотности.

Чем отличаются дискеты высокой плотности от дискет двойной плотности? Отличия заключаются в материале магнитного покрытия дискеты. Дискеты высокой плотности имеют более качественное (и, соответственно, более дорогое) магнитное покрытие, допускающее более плотную запись информации.

Мы уже рассказывали вам о том, что на дисках (и на дискетах) информация записывается на дорожках. Каждая дорожка делится на секторы. Ниже мы приведем количество используемых дорожек и секторов для дискет, отформатированных стандартным образом:

Формат Количество дорожек и секторов
5,25" DD, 360 Кбайт 40 дорожек, 9 секторов
5,25" HD, 1,2 Мбайт 80 дорожек, 15 секторов
3,5" DD, 720 Кбайт 40 дорожек, 9 секторов
3,5" HD, 1,44 Мбайт 80 дорожек, 18 секторов

Оказывается, на дискетах как двойной, так и высокой плотности можно расположить большее по сравнению с приведенным в этой таблице количество дорожек и секторов!

При этом емкость дискеты увеличится. Например, дискеты DD диаметром 5.25" часто форматируют на емкость 800 Кбайт (стандартная емкость такой дискеты - 360 Кбайт). Дискета, отформатированная на 800 Кбайт, имеет 80 дорожек и 10 секторов.

Для нестандартного форматирования вам потребуются специальные программы. Наиболее распространены программы 800.com , 900.com , fdformat.exe . Кроме того, вы можете воспользоваться программой pu_1700.com , созданной Ю. И. Панковым.

Для форматирования дискет на повышенную емкость, а также для использования таких дискет вам необходимо запустить одну из перечисленных выше программ. Лучше всего это сделать, указав такую программу в файле autoexec.bat, например:

c:\utility\800.com 

Если запущена программа 800.com , вы можете форматировать дискеты обычной программой format.com , задавая при помощи параметров /T: и /N: нужное количество дорожек и секторов на дорожке. Например:

format a: /T:80/N:10

В данном случае дискета, вставленная в дисковод A:, будет форматироваться на емкость 800 Кбайт.

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

Какие параметры можно задавать программе format.com ? Это зависит от типа НГМД, установленного в вашем компьютере. Встречаются 4 типа:

  • НГМД для дискет двойной плотности диаметром 5,25", отформатированных на 360 Кбайт;
  • НГМД для дискет высокой плотности диаметром 5,25", отформатированных на 1,2 Мбайт;
  • НГМД для дискет двойной плотности диаметром 3,5", отформатированных на 720 Кбайт;
  • НГМД для дискет высокой плотности диаметром 3,5", отформатированных на 1,44 Мбайт.

При использовании программы 800.com вместе с НГМД для дискет двойной плотности диаметром 5,25" или 3,5" для программы format.com можно указывать следующие параметры:

Емкость дискеты, Кбайт Параметры
360 /T:40 /N:9
400 /T:40 /N:10

Если у вас дисковод высокой плотности, вам также доступны и другие параметры:

Емкость дискеты, Кбайт Параметры
720 /T:80 /N:9
800 /T:80 /N:10
1200 /T:80 /N:15
1360 /T:80 /N:17
1440 /T:80 /N:18
1600 /T:80 /N:20

Последние две строки таблицы описывают параметры, доступные только для НГМД высокой плотности при использовании дискет диаметром 3,5".

Программа pu_1700.com является функциональным аналогом программы 800.com , но обладает большими возможностями. После ее запуска вы можете задавать программе format.com следующие параметры:

FORMAT drv:[/T:tt][/N:nn][другие параметры]

Здесь:

  • drv - имя НГМД, который используется для форматирования (A или B);
  • tt - число форматируемых цилиндров;
  • nn - число секторов на дорожке.

Приведем таблицу значений объемов отформатированной дискеты в зависимости от типа НГМД, типа дискеты и параметров форматирования tt и nn:

Параметры программы format.com Емкость дискеты, на которую рассчитан НГМД, Кбайт Объем отформатированной дискеты, байт
tt nn 360 720 1200 1440 Норма Максимум
40-41 9 + + + + 362,496 371,712
- '' - 10 + + + + 398,848 409,086
80-83 9   + + + 724,480 752,168
- '' - 10   + + + 806,460 837,120
- '' - 15     + + 1212,928 1259,008
- '' - 16     + + 1294,848 1344,000
- '' - 17     + + 1376,768 1427,968
- '' - 18     + + 1457,664 1512,960
- '' - 19       + 1539,584 1596,928
- '' - 20       + 1620,480 1681,920
- '' - 21       + 1702,400 1765,888

Приведем пример команды форматирования дискеты HD на емкость 1702,400 байт:

format a:/t:80/n:21 /u

Параметр /u необходим для того, чтобы программа format.com не делала попыток сохранения на форматируемой дискете данных, нужных программе unformat.com для восстановления содержимое дискеты после ошибочного форматирования.

Приведем описание некоторых параметров программы pu_1700.com (полностью параметры описаны в документации к программе, составленной на русском языке и распространяемой в файле pu_1700.doc).

  • /cfat контроль FAT при форматировании

Этот параметр допустим только при первом запуске программы.

Следующие параметры можно указывать как при первом запуске программы, так и при последующих ее перезапусках:

  • /off отключение программы pu_1700.com ;
  • /on активизация отключенной программы pu_1700.com ;
  • /A=off НГМД A: не обслуживается (не установлен);
  • /B=off НГМД B: не обслуживается (не установлен);
  • /A=360 параметр указывает, что НГМД A: - это дисковод двойной плотности (DD), рассчитан на дискеты диаметром 5,25" стандартной емкости 360 Кбайт;
  • /B=360 НГМД 360 Kбайт диаметром 5,25" (DD);
  • /A=1.2 НГМД 1,2 Mбайт, 5,25" (HD);
  • /B=1.2 НГМД 1,2 Mбайт, 5,25" (HD);
  • /A=720 НГМД 720 Kбайт, 3,5" (DD);
  • /B=720 НГМД 720 Kбайт, 3,5" (DD);
  • /A=1.44 НГМД 1,44 Mбайт, 3,5" (HD);
  • /B=1.44 НГМД 1,44 Mбайт, 3,5" (HD);
  • /? вызов подсказки;
  • /sm=1 оптимальное расположение секторов при форматировании для увеличения производительности НГМД;
  • /sm=2 другой способ оптимального расположения секторов при форматировании для увеличения производительности НГМД;
  • /sm=off отключение оптимизации расположения секторов при форматировании.

В заключение пара советов относительно использования нестандартно отформатированных дискет.

  • По возможности не используйте нестандартно отформатированные дискеты для резервного копирования дистрибутивных дискет программного обеспечения, особенно операционных систем. У вас могут появиться проблемы с установкой программного обеспечения с нестандартных дискет. В крайнем случае воспользуйтесь программой pu_1700.com . Дискеты, подготовленные этой программой, могут быть загрузочными (системными).
  • Лучшее применение для программ нестандартного форматирования - форматирование дискет двойной плотности диаметром 5,25" (360 Кбайт) на емкость 800 Кбайт. Такие дискеты вы можете использовать для хранения архивов, документации, другого программного обеспечения, не критичного к структуре дорожки.
[Назад] [Содеожание] [Дальше]