ВУЗ:
Составители:
80
2.7 Диспетчер ввода-вывода
Диспетчер ввода-вывода (I/O Manager) определяет модель доставки
запросов ввода-вывода драйверам устройств. Подсистема ввода-вывода
управляется пакетами. Большая часть запросов ввода-вывода
представляется пакетами запросов ввода-вывода (I/O Request Packets, IRP),
передаваемых от одного компонента подсистемы ввода-вывода к другому.
(Исключением является быстрый ввод-вывод, при котором IRP не
используются.) Подсистема ввода-вывода позволяет потоку приложения
управлять сразу несколькими запросами ввода-вывода. IRP – это структура
данных, которая содержит информацию, описывающую запрос ввода-
вывода. Она используется диспетчером ввода-вывода следующим образом.
− Диспетчер ввода-вывода создает IRP, представляющий операцию
ввода-вывода, передает указатель на IRP соответствующему
драйверу и удаляет пакет
по завершении операции ввода-вывода.
− Драйвер, получивший IRP, выполняет указанную в пакете
операцию и возвращает IRP диспетчеру ввода-вывода.
− Диспетчер ввода-вывода либо завершает эту операцию, либо
передает пакет другому драйверу для дальнейшей обработки.
Диспетчер ввода-вывода не только создает и уничтожает IRP, но и
содержит общий для различных
драйверов код, используемый ими при
обработке ввода-вывода. Благодаря этому коду драйверы стали проще и
компактнее. Например, одна из таких функций диспетчера ввода-вывода
позволяет драйверу вызывать другие драйверы. Диспетчер управляет
также буферами ввода-вывода и тайм-аутами драйверов, регистрирует
устанавливаемые в систему файловые системы. Диспетчер ввода-вывода
предоставляет драйверам
около сотни готовых функций.
Диспетчер ввода-вывода предоставляет также гибкие сервисы ввода-
вывода, используя которые подсистемы окружения (Win32, POSIX)
2.7 Диспетчер ввода-вывода
Диспетчер ввода-вывода (I/O Manager) определяет модель доставки
запросов ввода-вывода драйверам устройств. Подсистема ввода-вывода
управляется пакетами. Большая часть запросов ввода-вывода
представляется пакетами запросов ввода-вывода (I/O Request Packets, IRP),
передаваемых от одного компонента подсистемы ввода-вывода к другому.
(Исключением является быстрый ввод-вывод, при котором IRP не
используются.) Подсистема ввода-вывода позволяет потоку приложения
управлять сразу несколькими запросами ввода-вывода. IRP – это структура
данных, которая содержит информацию, описывающую запрос ввода-
вывода. Она используется диспетчером ввода-вывода следующим образом.
− Диспетчер ввода-вывода создает IRP, представляющий операцию
ввода-вывода, передает указатель на IRP соответствующему
драйверу и удаляет пакет по завершении операции ввода-вывода.
− Драйвер, получивший IRP, выполняет указанную в пакете
операцию и возвращает IRP диспетчеру ввода-вывода.
− Диспетчер ввода-вывода либо завершает эту операцию, либо
передает пакет другому драйверу для дальнейшей обработки.
Диспетчер ввода-вывода не только создает и уничтожает IRP, но и
содержит общий для различных драйверов код, используемый ими при
обработке ввода-вывода. Благодаря этому коду драйверы стали проще и
компактнее. Например, одна из таких функций диспетчера ввода-вывода
позволяет драйверу вызывать другие драйверы. Диспетчер управляет
также буферами ввода-вывода и тайм-аутами драйверов, регистрирует
устанавливаемые в систему файловые системы. Диспетчер ввода-вывода
предоставляет драйверам около сотни готовых функций.
Диспетчер ввода-вывода предоставляет также гибкие сервисы ввода-
вывода, используя которые подсистемы окружения (Win32, POSIX)
80
Страницы
- « первая
- ‹ предыдущая
- …
- 78
- 79
- 80
- 81
- 82
- …
- следующая ›
- последняя »
