
- •Режимы ядра и пользователя Windows
- •Процесс, контекст процесса и потоки
- •Архитектура Windows nt
- •Уровень аппаратных абстракций
- •Диспетчер объектов
- •2. Монитор ссылок безопасности
- •3. Диспетчер процессов
- •4. Подсистема Plug and Play
- •5. Диспетчер энергопитания
- •6. Диспетчер виртуальной памяти
- •7. Диспетчер кэша
- •1. Программный интерфейс приложений ввода-вывода (I/o api)
- •2. Диспетчер ввода-вывода (I/o Manager)
- •3. Драйверы файловых систем
- •Графическая подсистема
- •Пользовательский режим
Диспетчер объектов
Диспетчер объектов (Object Manager) Windows NT предоставляет свои услуги другим компонентам Windows NT, включая непосредственно выполняемый модуль (элементом которого диспетчер и является). Диспетчер объектов предоставляет службы для именования, создания, удаления, манипулирования и совместного использования объектов. Он активно сотрудничает с монитором ссылок безопасности, чтобы обеспечить соответствующий доступ к определенным объектам только пользователям и процессам с достаточными разрешениями.
Соответствующий означает, что предоставляется доступ определенного типа, например доступ только для чтения. Каждый объект, созданный диспетчером объектов, имеет связанный с ним список управления доступом (access control list — ACL). На самом деле этот список представляет собой группу объектов, которые указывают разрешения, явно или неявно предоставленные пользователю или группе;
2. Монитор ссылок безопасности
Монитор ссылок безопасности (Security Reference Monitor) заведует проверкой доступа и протоколированием ресурсов.
Проверка доступа выполняется на самом низком уровне, включая не только предоставление доступа, но и определение его типа, например доступ только для чтения или доступ для чтения и записи. Функциональность подсистемы безопасности обеспечивается объектно-ориентированной структурой Windows NT.
При предоставлении доступа к объекту монитор ссылок безопасности сравнивает список управления доступом, который связан с объектом, с маркером (token) безопасности процесса перед тем, как предоставить или запретить доступ.
Списки управления доступом бывают двух типов: явно или неявно разрешающие или запрещающие доступ. Монитор ссылок безопасности активно используется другими подсистемами выполняемого модуля Windows NT, например диспетчером объектов.
3. Диспетчер процессов
Диспетчер процессов (Process Manager) обеспечивает создание и удаление процессов и потоков, а также управление ими. Диспетчер не поддерживает иерархию компонентов; например, отношения между процессами вида "родитель-потомок" не отслеживаются. Эта работа ложится на компонент, который создал процесс.
По аналогии представьте диспетчер файлов, который предоставляет возможность создания файла, однако внедрением этого файла в структуру каталогов должен заниматься пользователь диспетчера файлов. Диспетчер процессов пользуется услугами как диспетчера объектов, так и подсистемы безопасности.
Для каждого запущенного процесса передается, как минимум, два вызова диспетчеру процессов: первый вызов для создания процесса, второй — для создания потока в пределах процесса, так как каждый процесс должен содержать хотя бы один поток.
4. Подсистема Plug and Play
На рис. 1 управление питанием и подсистема Plug and Play схематически размещены в едином прямоугольнике, что сделано для упрощения структуры диаграммы. На самом'же деле это различные подсистемы, хотя и тесно взаимодействующие друг с другом.
Термин Plug and Play используется для описания программно и аппа-ратно реализованных функциональных возможностей, которые позволяют Windows динамически распознавать аппаратное обеспечение и реализовать программную поддержку для корректной работы устройства.
В частности, это программное обеспечение отвечает за выполнение следующих функций:
корректное определение аппаратного обеспечения;
корректное определение динамического подключения или отключения аппаратного обеспечения;
выделение и настройка ресурсов для работы аппаратного обеспечения;
поиск и загрузка драйверов устройств;
поддержка механизма уведомления, с помощью которого определяется появление и удаление аппаратного обеспечения; этот механизм может использоваться программным обеспечением как в режиме ядра, так и в пользовательском режиме.