Драйверы устройств NT executive — низкоуровневые драйверы, которые непосредственно управляют устройством;
Сетевой редиректор и сетевой сервер — драйверы файловых систем, передающие удаленные запросы на ввод-вывод на машины сети и получающие запросы от них;
Файловые системы — NT-драйверы, выполняющие файл-ориентированные запросы на ввод-вывод и транслирующие их в вызовы обычных устройств;
Менеджер ввода-вывода, предоставляющий средства ввода-вывода, независимые от устройств;
Рис. 2 Структура Windows NT
Структурно Windows NT может быть представлена в виде двух частей: часть операционной системы, работающая в режиме пользователя, и часть операционной системы, работающая в режиме ядра (рис. 2).
При разработке структуры Windows NT по аналогии с NetWare и UNIX была использована концепция микроядра. В соответствии с этой идеей ОС разделена на несколько подсистем, каждая из которых выполняет отдельный набор сервисных функций, например сервис памяти, сервис по созданию процессов или сервис по планированию процессов. Каждая подсистема выполняется в пользовательском режиме, осуществляя цикл проверки запроса от клиента на одну из его сервисных функций. Клиент, которым может быть либо другая компонента ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (или микроядро), работая в привилегированном режиме, доставляет сообщение нужному серверу, затем сервер выполняет операцию, после этого ядро возвращает результаты клиенту с помощью другого сообщения.
Поддержку защищенных подсистем обеспечивает исполнительная часть Windows NT executive, которая работает в пространстве ядра и никогда не сбрасывается на диск. Ее составными частями являются:
· менеджер объектов. Создает, удаляет и управляет объектами NT executive – абстрактными типами данных, используемых для представления ресурсов системы;
· монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов;
· менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию;
· менеджер виртуальной памяти;
· подсистема ввода-вывода. Включает в себя следующие компоненты:
Исполнительная часть, в свою очередь, основывается на службах нижнего уровня, предоставляемых ядром (его можно назвать и микроядром) NT. В функции ядра входит:
· планирование процессов;
· обработка прерываний и исключительных ситуаций;
· синхронизация процессоров для многопроцессорных систем;
· восстановление системы после сбоев.
Windows NT использует защищенные подсистемы в следующих целях:
· обеспечение нескольких программных интерфейсов (API), по возможности не усложняя при этом базовый программный код (NT executive);
· изоляция базовой ОС от изменений или расширений в поддерживаемых API;
· объединение части глобальных данных, требующихся всем API, и в то же время отделение данных, использующихся каждым отдельным API от данных, использующихся другими API;
· защита окружения каждого API от приложений, а также от окружений других API, и защита базовой ОС от различных окружений;