Структура ОС Windows.

Она имела первоначально микроядерный дизайн. Потом стали использовать гибридную архитектуру. Платформы – Intel, Alpha (DEC), Power PC (IBM), MIPS (Silicon Graphics).

В ОС существует компоненты, которые работают как в режиме ядра, так и в режиме пользователя.

Упрощенная схема ОС Windows.

    Режим пользователя Служебные процессы Приложения Win32 Серверный процесс
  DLL подсистемы Win32  
Интерфейс системных вызовов
  Режим ядра     Поддержка окон и графики Исполнительная система Драйверы устройств, Ядро Уровень абстрагирования от оборудования Аппаратное обеспечение  

 

Hardware Abstraction Layer (уровень абстрагирования от оборудования) – скрыть различия аппаратных архитектур для потенциального переноса системы с одной платформы на другую. Этот уровень предоставляет вышележащим уровням аппаратные устройства в абстрактном виде.

Ядром обычно называют все компоненты ОС, работающие в привилегированном режиме работы процессора. Корпорация Microsoft называет ядром компонент, находящийся в невыгружаемой памяти и содержащий низкоуровневые функции ОС, такие, как диспетчеризация прерываний и исключений, планирование потока и т.д.

Эти 2 компонента написаны на языках Си и Ассемблера, остальные – на языке Си.

Драйверы устройств содержат аппаратно-зависимый код, обеспечивают трансляцию пользовательских вызовов в запросы, специфичные для конкретных устройств.

Исполнительная система обеспечивает управление памятью, процессами и потоками, защиту, ввод/вывод и взаимодействие между процессами.

Подсистема поддержки окон и графики реализует функции пользовательского интерфейса.

В пространстве пользователя работают сервисы, управляемые диспетчером сервисов и решающие различные системные задачи.

Среду для выполнения пользовательских процессов предоставляют 3 подсистемы: Win32, POSIX, OS/2.

Основные компоненты реализованы в следующих системных файлах, находящихся в каталоге system32.

1. ntoskrn.exe – исполнительная система и ядро.

2. ntdll.dll – внутренние функции поддержки и диспетчер системных сервисов, функции исполнительной системы.

3. hal.dll – уровень абстрагирования.

4. win32k.sys – часть подсистемы win32, работающая в режиме ядра.

5. kernel32.dll, advapi32.dll, user32.dll, gdi32.dll.