Пакет запроса ввода-вывода
Пакеты запросов ввода-вывода ( IRP ) — это структуры режима ядра , которые используются моделью драйверов Windows (WDM) и Windows NT драйверами устройств для взаимодействия друг с другом и с операционной системой . Это структуры данных, которые описывают запросы ввода-вывода, и их можно с таким же успехом рассматривать как «дескрипторы запросов ввода-вывода» или что-то подобное. Вместо передачи драйверу большого количества мелких аргументов (таких как адрес буфера, размер буфера, тип функции ввода-вывода и т. д.), все эти параметры передаются через один указатель на эту постоянную структуру данных. IRP со всеми его параметрами можно поместить в очередь, если запрос ввода-вывода не может быть выполнен немедленно. О завершении ввода-вывода сообщается обратно диспетчеру ввода-вывода путем передачи его адреса подпрограмме для этой цели IoCompleteRequest. IRP может быть перепрофилирован как специальный объект APC ядра, если это необходимо для сообщения о завершении ввода-вывода запрашивающему потоку.
IRP обычно создаются диспетчером ввода-вывода в ответ на запросы ввода-вывода из пользовательского режима. Однако IRP иногда создаются диспетчером Plug-and-Play, диспетчером питания и другими компонентами системы, а также могут создаваться драйверами и затем передаваться другим драйверам.
Механизм пакетов запросов ввода-вывода также используется Digital Equipment Corporation компании операционной системой VMS , а до этого использовался Digital RSX-11 семейством операционных систем . Пакет запроса ввода-вывода в RSX-11 называется блоком параметров директивы. [1] поскольку он также используется для системных вызовов, отличных от вызовов ввода-вывода.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Справочное руководство по драйверам ввода-вывода RSX-11M/M-PLUS (PDF) . Корпорация цифрового оборудования . Апрель 1983 г., стр. 1-13–1-14. АА-L677A-TC.
Внешние ссылки
[ редактировать ]- Технический документ по модели ввода-вывода Windows
- Как работают драйверы устройств на Wayback Machine (архивировано 26 августа 2017 г.)
- IRP (драйверы Windows)
- Руководство по поддержке устройств OpenVMS VAX на Wayback Machine (архивировано 23 июня 2021 г.)