3.Внутреннее устройство Windows (гл. 8-11)   ::   Руссинович Марк

Страница: 156 из 255

Драйвер задает два таймаута: первый — для энергосберегающей конфигурации, второй — для максимально производительной. Вызвав PoRegisterDeviceForIdleDetection, драйвер должен уведомлять диспетчер электропитания об активности устройства через функцию PoSetDeviceBusy.

Резюме



Подсистема ввода-вывода определяет модель обработки ввода-вывода в Windows и предоставляет функции, необходимые многим драйверам. Основная сфера ее ответственности — создание IRP, представляющих запросы ввода-вывода, передача этих пакетов через различные драйверы и возврат результатов вызывающему потоку по завершении ввода-вывода. Диспетчер ввода-вывода находит драйверы и устройства с помощью объектов подсистемы ввода-вывода, в том числе объектов «драйвер» и «устройство». Для большего быстродействия подсистема ввода-вывода Windows всегда работает асинхронно — даже при обработке синхронного ввода-вывода, запрошенного из пользовательского режима.

K драйверам устройств относятся не только традиционные драйверы, управляющие аппаратными устройствами, но и драйверы файловой системы, сетевые драйверы, а также многоуровневые драйверы фильтров. Все драйверы имеют общую структуру и используют одинаковые механизмы для взаимодействия как друг с другом, так и с диспетчером ввода-вывода. Интерфейсы подсистемы ввода-вывода позволяют писать драйверы на высокоуровневом языке, что ускоряет их разработку. Поскольку драйверы имеют общую структуру, они могут располагаться один над другим, а это обеспечивает модульность и уменьшает дублирование функций между драйверами.

|< Пред. 154 155 156 157 158 След. >|

Java книги

Контакты: [email protected]