Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Int 13h — поддержка дисков



Функции дискового сервиса вызываются программным прерыванием Int 13h.

Традиционно дисковый сервис подразделяет физические диски на дискеты (diskette) и фиксированные диски (fixed disk). Набор функций (табл. 7.8) для этих классов устройств несколько различается как по составу, так и по реализации. Классы различаются по диапазонам номеров физических устройств: для дискет отводят­ся номера 0-7Fh (реально только 0-3), а для фиксированных дисков — 80h-FFh.

Контроллеры дисковых интерфейсов, имеющие в своем составе дополнительные модули BIOS, перехватывают вектор Int 13h, беря на себя обслуживание своих устройств. Когда в IBM PC/XT появились жесткие диски со своим контроллером, модуль BIOS этого контроллера, инициализирующийся во время теста POST, вставал на место Int 13 h, а указатель на исходный обработчик дискового сервиса (драйвер НГМД из системной BIOS) сохранялся на месте Int 40h. Хотя поддерж­ка жестких дисков давно уже включена в системную BIOS, ради совместимости


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

возможность использования прерывания Int 40h для вызова драйвера гибких дисков сохраняется. Интерфейс этого вызова совпадает clnt 13h,но номер устрой­ства (в регистре DL) не должен превышать 7Fh.

Кроме функций дискового сервиса (Int 13h)c дисковыми устройствами связа­ны еще и векторы, обслуживающие аппаратные прерывания от контроллера НГМД — Int 0Eh (линия IRQ 6) и от контроллера жестких дисков — Int 76h (линия IRQ 14). При наличии двухканального порта АТА второй канал обычно за­действует линию IRQ 15 (вектор 77h). В XT контроллер жестких дисков занимал линию IRQ 5 (вектор ODh). Дополнительные контроллеры дисков могут исполь­зовать и другие прерывания. Аппаратные прерывания вырабатываются контрол­лерами по завершении (нормальному и аварийному) внутренних операций. На эти прерывания BIOS не реагирует, а при инициализации их векторы направляются на программную заглушку (инструкцию IRET).

Стандартные драйверы дисковых функций BIOS (включая и расширенный сер­вис) имеют однозадачное происхождение. Во время выполнения функции значи­тельное процессорное время может затрачиваться на ожидание завершения опе­рации устройством. Драйверы многозадачного режима построены иначе: у них есть вызывающая часть, инициализирующая начало операции, и обработчик аппа­ратного прерывания от контроллера, сообщающий операционной системе о вы­полнении операции и результате.





Дата публикования: 2015-07-22; Прочитано: 528 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...