Организация ввода-вывода. Драйверы WDM. Рощин А.В. - 14 стр.

UptoLike

Составители: 

14
На рисунке 1.5 три столбца означают следующее:
левый столбец представляет стек (направленный снизу вверх) структур
ядра DEVICE_OBJEKT, каждая из которых описывает специфику
управления одним устройством,
средний столбец представляет набор драйверов устройств, участвующих
в управлении,
правый столбец показывает направления передачи IRP (пакетов запросов
ввода-вывода) между драйверами.
Модель WDM предусматривает
как минимум два драйвера для каждого
устройства. Один из драйверовфункциональный драйверотвечает за операции
ввода-вывода, обработку прерываний, а также предоставления пользователю
возможностей управления устройством. Это то, что в MS-DOS выполняет драйве
устройства.
Вторым драйвером является драйвер шины, отвечающий за взаимодействие
оборудования с компьютером. Так, например, драйвер шины PCI (Peripheral
Component Interconnect) обнаруживает карту
расширения, вставленную в слот
PCI, определяет требования карты к ресурсам, которые должны быть выделены
для обеспечения связи с компьютером (порты ввода-вывода, области памяти),
включает и выключает питание в слоте карты
Многие устройства имеют более двух драйверов. Эти дополнительные
драйверы обычно называют драйверами-фильтрами (или фильтрующими
драйверами). Драйверы-фильтры отслеживают
выполнение операций ввода-
вывода функциональными драйверами или модифицируют их поведение.
Верхний фильтрующий драйвер получает доступ к пакетам IRP до
функционального драйвера, что позволяет ему поддерживать дополнительные
функции, отсутствующие в функциональном драйвере. Иногда верхний драйвер-
фильтр исправляет недостатки функционального драйвера.
Нижний фильтрующий драйвер получает пакеты IRP, которые
функциональный драйвер отправляет (как он
думает) драйверу шины. Его задача
     На рисунке 1.5 три столбца означают следующее:
     − левый столбец представляет стек (направленный снизу вверх) структур
          ядра DEVICE_OBJEKT, каждая из которых описывает специфику
          управления одним устройством,
     − средний столбец представляет набор драйверов устройств, участвующих
          в управлении,
     − правый столбец показывает направления передачи IRP (пакетов запросов
          ввода-вывода) между драйверами.
     Модель WDM предусматривает как минимум два драйвера для каждого
устройства. Один из драйверов – функциональный драйвер – отвечает за операции
ввода-вывода, обработку прерываний, а также предоставления пользователю
возможностей управления устройством. Это то, что в MS-DOS выполняет драйве
устройства.
     Вторым драйвером является драйвер шины, отвечающий за взаимодействие
оборудования с компьютером. Так, например, драйвер шины PCI (Peripheral
Component Interconnect) обнаруживает карту расширения, вставленную в слот
PCI, определяет требования карты к ресурсам, которые должны быть выделены
для обеспечения связи с компьютером (порты ввода-вывода, области памяти),
включает и выключает питание в слоте карты
     Многие устройства имеют более двух драйверов. Эти дополнительные
драйверы      обычно   называют   драйверами-фильтрами      (или   фильтрующими
драйверами). Драйверы-фильтры отслеживают выполнение операций ввода-
вывода функциональными драйверами или модифицируют их поведение.
Верхний     фильтрующий     драйвер   получает   доступ     к   пакетам   IRP   до
функционального драйвера, что позволяет ему поддерживать дополнительные
функции, отсутствующие в функциональном драйвере. Иногда верхний драйвер-
фильтр исправляет недостатки функционального драйвера.
     Нижний       фильтрующий     драйвер   получает      пакеты   IRP,   которые
функциональный драйвер отправляет (как он думает) драйверу шины. Его задача



                                       14