Поделиться через


Общие сведения о модели ввода-вывода Windows

Каждая операционная система имеет неявную или явную модель ввода-вывода для обработки потока данных на периферийных устройствах и из нее. Одной из функций модели ввода-вывода Microsoft Windows является поддержка асинхронного ввода-вывода. Кроме того, модель ввода-вывода имеет следующие общие функции:

  • Диспетчер операций ввода-вывода представляет согласованный интерфейс для всех драйверов режима ядра, включая драйверы минимального уровня, промежуточных и файловых систем. Все запросы ввода-вывода к драйверам отправляются в виде пакетов запросов ввода-вывода (IRPs).

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

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

  • Как и сама операционная система, драйверы основаны на объектах. Драйверы, их устройства и системное оборудование представлены в виде объектов. Диспетчер ввода-вывода и другие компоненты операционной системы экспортируют подпрограммы режима ядра, которые драйверы могут вызывать для выполнения работы, управляя соответствующими объектами.

Помимо использования irPs для передачи традиционных запросов ввода-вывода, диспетчер ввода-вывода работает с PnP и диспетчерами питания для отправки irPs, содержащих PnP и запросы питания.