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


Форматирование дорожки - часть 2


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

Для подбора оптимального фактора чередования при форматировании НМД можно использовать специальные программы или делать это методом проб и ошибок, задавая каждый раз новое значение фактора и проверяя быстродействие диска.

Заметим, что современные контроллеры НМД обеспечивают достаточную большую скорость передачи данных (5-10 Мбайт/с), поэтому при форматировании можно указать фактор чередования , равный 1.

Займемся теперь буфером формата . Перед вызовом функции форматирования в регистры ES:BX следует записать полный адрес буфера формата.

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

Код Размер сектора в байтах
0 128
1 256
2 512
3 1024

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

Для НМД буфер формата должен представлять из себя массив размером 512 байт. В начале этого массива для каждого сектора необходимо подготовить двухбайтовые элементы. Первый байт содержит признак - хороший это сектор (00) или плохой (80h), второй байт - номер сектора.

Задавая последовательность номеров в буфере формата соответствующим образом, программа определяет фактор чередования .

Приведем пример подготовленного буфера формата для форматирования дорожки на 17 секторов с фактором чередования, равным 2:

db 00h,01h,00h,0ah,00h,02h,00h,0bh,00h,03h,00h,0ch db 00h,04h,00h,0dh,00h,05h,00h,0eh,00h,06h,00h,0fh db 00h,07h,00h,10h,00h,08h,00h,11h,00h,09h

Отметим, что буфер формата используется только для IBM PC/AT. В IBM PC/XT при форматировании НМД буфер формата не используется. Вместо этого значение фактора чередования указывается в регистре AL при вызове функции форматирования.

При форматировании дискет с помощью только что описанной функции таблица параметров НГМД должна содержать правильное значение количества секторов на дорожке и другие параметры, например, код размера сектора.




- Начало -  - Назад -  - Вперед -