Драйвер жесткого диска

Страница: 12/17

║ +11 │ Количество элементов директория ║ Слово

BIOS ║ ├───────────────────────────────────────╢

║ +13 │ Количество логических секторов ║ Слово

║ ├───────────────────────────────────────╢

║ +15 │ Описатель носителя ║ Байт

║ ├───────────────────────────────────────╢

║ +16 │ Количество секторов в одной FAT ║ Слово

╙─ ├───────────────────────────────────────╢

+18 │ Количество секторов на дорожке ║ Слово

├───────────────────────────────────────╢

+1A │ Количество головок чтения/записи ║ Слово

├───────────────────────────────────────╢

+1C │ Количество скрытых секторов ║ Слово

╘═══════════════════════════════════════╝

Рисунок 6-7. Содержимое первых 30 байт блока начальной загрузки

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

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

Вкратце, последовательность обработки команды BUILD BPB следующая :

1. Драйвер должен прочитать блок начальной загрузки (обычно на-

ходящийся в первом логическом секторе диска - сектор #0) и

проверить его на наличие блока параметров BIOS. Если BPB об-

наружен, то переход к шагу 3, иначе переход к шагу 2.

2. Драйвер должен прочитать первый сектор FAT для того, чтобы

Реферат опубликован: 19/01/2009