Самоучитель по программированию систем защиты

       

Характеристики подсистемы ввода/вывода



Характеристики подсистемы ввода/вывода

В предыдущем разделе мы рассмотрели схему использования системных сервисов, то есть прохождение запроса ввода/вывода от приложения к драйверу и обратно. Компонентом ОС, отвечающим за реализацию этой схемы, является Диспетчер ввода/ вывода. Диспетчер ввода/вывода является компонентом более общей модели - подсистемы ввода/вывода. Подсистема ввода/вывода включает в себя все компоненты, которые обеспечивают возможность осуществления ввода/вывода. В число этих компонент входит Диспетчер ввода/вывода и все драйверы режима ядра. В числе характеристик подсистемы ввода/вывода NT принято выделять следующие:

  • 1. согласованность и высокая структурированность;
  • 2. переносимость между процессорными архитектурами;
  • 3. конфигурируемость;
  • 4. вытесняемость и прерываемость;
  • 5. поддержка многопроцессорности;
  • 6. объектная базированность (но не объектная ориентированность);
  • 7. асинхронность;
  • 8. подсистема ввода/вывода управляется пакетами;
  • 9. подсистема ввода/вывода многоуровневая (послойная модель).
  • Как уже говорилось, подсистема ввода/вывода NT управляется пакетами. При таком подходе каждый запрос ввода/вывода описывается своим собственным пакетом запроса ввода/вывода (I/O Request Packet - IRP). При задействовании системного сервиса (например, при запросе на чтение или запись в файл) Диспетчер ввода/вывода обрабатывает этот запрос путем создания пакета IRP, Описывающего запрос, и затем передает указатель на этот пакет драйверу для обработки.

     



    Содержание раздела