Операционная система MS DOS (том 2)


Форматирование дорожки


На входе: AH = 05h
AL = Количество секторов, которые нужно создать на дорожке, или

Фактор чередования для НМД XT

  CH = Номер дорожки
  CL = Номер сектора
  DH = Номер головки
  DL = Адрес дисковода (0, 1, ..., 80h, 81h, ...)
  ES:BX = Адрес буфера формата, используется для НГМД и НМД машин XT
На выходе: AH = Состояние дисковода после завершения последней операции
  CF = 1, если произошла ошибка,

0, если ошибки нет

Примечание: PC, XT, AT, PS/2

Функция форматирования предназначена для начального формирования структуры дорожки диска, она разрушает все имеющиеся на дорожке данные. С помощью функции 05 вы можете за один раз отформатировать только одну дорожку с указанным номером.

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

Что такое фактор чередования (Interleave)?

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

Фактор 1 означает последовательное расположение секторов на дорожке в порядке их номеров, т.е. чередование отсутствует. Фактор 2 задает расположение секторов через один, 3 - через два и т.д. На рисунке показано использование фактора чередования при форматировании дорожки:

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

Для чего может понадобиться несмежное расположение секторов с последовательными номерами на дорожке диска?

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




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