КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

12.7, подробнее они описаны в [4, 9]. Устройства могут не поддерживать некоторые функции, о чем драйверы должны «честно сообщить» кодом возврата Olh.
Таблица 12.7. Функции традиционного дискового сервиса



12.8. Сервисы и прерывания BIOS

1
Только для фиксированных дисков.
2
Только для дискет и других сменных носителей.
3
Назначение отличается от обычного.
Формально традиционный сервис позволяет работать с дисками, имеющими до 1024 х 256 х 63 = 16 515 072 секторов (около 8,4 Гбайт). Ряд операционных сис¬тем имеет ошибку, не позволяющую использовать полный объем, допустимый дан¬ным сервисом. Для дисков объемом более 15 481 935 секторов следует пользо¬ваться только функциями расширенного сервиса (см. ниже). Однако при работе с устройствами АТА имеется еще и барьер в 528 Мбайт. Дело в том, что контрол¬лер жесткого диска АТА, на который ориентированы драйверы Int 13h, имеет только 4-битный регистр номера головки (а в BIOS — 6 бит). Правда, этот же кон¬троллер способен принимать 16-битный номер цилиндра (в BIOS — 10 бит). По¬нятно, что непосредственно без искажений через эти два фильтра (формат вызова и формат регистров контроллера) может пройти только вызов с самыми жестки¬ми ограничениями по каждой координате. Тогда ограничение, полученное тем же перемножением диапазонов координат, получается около 528 миллионов байт:

(210 = 1024 цилиндра) х (24 - 528 482 304 байт.

16 головок) х (26 - 1 = 63 сектора) х 512 байт =

Для преодоления 528-мегабайтного барьера дисков АТА, не трогая программного интерфейса, в BIOS ввели расширение традиционного дискового сервиса. Интер-

490
Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера
фейс АТА в трехмерной геометрии позволяет реализовать довольно большой (но уже не запредельный) объем диска:
(216 = 65 536 цилиндров) х (24 = 16 головок) х (28 - 1 = 255 сектора) х 512 байт = - 136,9 Гбайт.
Чтобы достичь хотя бы интерфейсного ограничения BIOS (8,4 Гбайт), стали при¬менять трансляцию параметров вызова функций Int 13h, которые будем теперь называть логическими, в физические* параметры, передаваемые контроллерам АТА-дисков.

Hosted by uCoz