Системное программное обеспечение персональных ЭВМ


Пример 4



Пример 4

0 e m 0 p 0 0 0 0 l 0 0 0 0 s 0,

    где

  • i - драйвер консоли ввода;
  • o - драйвер консоли вывода;
  • n - драйвер нулевого (пустого) устройства;
  • c - драйвер часов;
  • l - драйвер поддерживает функции, введенные в DOS 3.2;
  • p - драйвер выполняет операции Open/Close;
  • b - драйвер неIBM-овского блочного устройства;
  • e - драйвер поддерживает функции IOCTL;
  • s - драйвер поддерживает 32-битную адресацию сектора;
  • m - драйвер определяет тип диска проверкой 1-го байта FAT.

По правилам DOS кодовая часть драйвера состоит из двух секций, называемых секцией стратегии и секцией обработки прерываний. Поля strat_off и intr_off заголовка содержат смещения этих секций от начала драйвера. Поле name для символьного устройства содержит имя устройства (возможно, дополненное пробелами), а для блочного - первый байт этого поля содержит количество устройств, поддерживаемых драйвером.

При помощи поля next, заполняемого системой при загрузке драйвера, все драйверы (системные и устанавливаемые) связываются в список. Начало этого списка - заголовок драйвера NUL в CVT. Значение 0xFFFF в части смещения поля next является признаком конца списка (такой же признак конца используется и в списках, образуемых другими управляющими блоками). Программа примера 13.1 отслеживает этот список.




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