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

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

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

Если первый логический сектор не содержит корректного блока начальной загрузки, например, как в дисках, отформатированных в MS-DOS версий до 2.0,то драйвер должен считать первый сектор таблицы размещения файлов (FAT). К счастью, MS-DOS версий до 2.0 поддерживали только несколько форматов, каждый из которых определялся в первом секторе FAT второго логического сектора диска. Самый первый байт первого сектора FAT содержит байт описателя носителя, который можно использовать для определения соответствующего содержимого BPB, возвращаемого к MS-DOS. Версии MS-DOS до 2.0 используют описатели 0FEH и 0FFH.

СМЕЩЕНИЕ СОДЕРЖАНИЕ РАЗМЕР

(hex)

┌───────────────────────────────────────╖

+00 │ Команда перехода на код загрузчика ║ 3 байта

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

+03 │ Имя и версия изготовителя ║ 8 байт

╓─ ├───────────────────────────────────────╢

║ +0B │ Размер сектора в байтах ║ Слово

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

║ +0D │ Количество секторов в кластере ║ Байт

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

║ +0E │ Количество зарезервированных секторов ║ Слово

БЛОК ║ ├───────────────────────────────────────╢

║ +10 │ Количество таблиц FAT ║ Байт

ПАРАМЕТРОВ ─╢ ├───────────────────────────────────────╢

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