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

UptoLike

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

4
1 Структура WDM-драйвера
WDM (Windows Driver Model) была разработана для стандартизации
драйверов и требований к ним. WDM-драйверы используются, начиная с
операционной системы Windows 98. Такой драйвер представляет собой контейнер
для функций, вызываемых операционной системой. Упрощенное представление о
концепции WDM-драйвера дает рисунок 1.1 [3].
Рисунок 1.1 – Драйвер, как контейнер функций
Некоторые из указанных функций являются обязательными для каждого
драйвера. Это функции DriverEntry, AddDevice, а также диспетчерские функции
для некоторых типов запросов ввода-вывода IRP. Драйверы, использующие
очереди, обычно содержат функцию StartIo. Драйверы, осуществляющие
передачу данных по каналам прямого доступа к памяти содержат функцию
AdapterControl. Драйверы,
работающие с прерываниями, содержат обработчики
прерываний (ISRInterrupt Service Routine), а также функции отложенного
вызова процедур (DPC – Deffered Procedure Call). Большая часть драйверов
кроме трех необходимых диспетчерских функций содержат другие диспетчерские
функции для нескольких типов IRP.
     1 Структура WDM-драйвера
     WDM (Windows Driver Model) была разработана для стандартизации
драйверов и требований к ним. WDM-драйверы используются, начиная с
операционной системы Windows 98. Такой драйвер представляет собой контейнер
для функций, вызываемых операционной системой. Упрощенное представление о
концепции WDM-драйвера дает рисунок 1.1 [3].




                Рисунок 1.1 – Драйвер, как контейнер функций
     Некоторые из указанных функций являются обязательными для каждого
драйвера. Это функции DriverEntry, AddDevice, а также диспетчерские функции
для некоторых типов запросов ввода-вывода IRP. Драйверы, использующие
очереди, обычно содержат функцию StartIo. Драйверы, осуществляющие
передачу данных по каналам прямого доступа к памяти содержат функцию
AdapterControl. Драйверы, работающие с прерываниями, содержат обработчики
прерываний (ISR – Interrupt Service Routine), а также функции отложенного
вызова процедур (DPC – Deffered Procedure Call). Большая часть драйверов
кроме трех необходимых диспетчерских функций содержат другие диспетчерские
функции для нескольких типов IRP.




                                     4