Архитектура Windows NT

Архитектура Windows NT присуща семейству операционных систем (ОС) на ядре Windows NT. Это следующие ОС: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows 10 и Windows 11.

Все они являются операционными системами с вытесняющей многозадачностью, разработаны для работы как с однопроцессорными, так и с симметричными мультипроцессорными компьютерами. Для обработки запросов ввода-вывода используется пакетноуправляемый ввод-вывод, который применяет пакеты запросов ввода\вывода (IRP) и асинхронный ввод-вывод.

Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней — компоненты, работающие в режиме пользователя, и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя, имеют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers)[1][2].

Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода-вывода соответствующему драйверу режима ядра посредством менеджера ввода-вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера.

## Содержание

* 1 Режим пользователя
* 2 Режим ядра
* 2.1 Исполнительная подсистема
* 2.2 Менеджер объектов
* 3 Примечания

## Режим пользователя

[править | править код]

Режим пользователя состоит из подсистем, которые передают запросы ввода-вывода соответствующему драйверу режима ядра посредством менеджера ввода-вывода. Уровень пользователя состоит из двух подсистем — подсистемы окружения (Environment) и интегральной подсистемы (Integral).

Подсистема окружения разработана для запуска приложений, написанных для разных типов операционных систем. Ни одна из подсистем окружения не имеет прямого доступа к аппаратной части компьютера. Доступ к ресурсам памяти происходит посредством Менеджера виртуальной памяти, который работает в режиме ядра. Также приложения запускаются с меньшим приоритетом, чем процессы режима ядра.

Подсистема окружения состоит из следующих подсистем — подсистема Win32, подсистема OS/2 и подсистема POSIX. Подсистема окружения Win32 запускает 32-разрядные Windows-приложения. Она содержит консоль и поддержку текстового окна, обработку ошибок для всех других подсистем окружения. Поддерживает VDM (Virtual DOS Machine), которая позволяет запускать 16-разрядные DOS и Windows- (Win16) приложения. VDM запускается в своем собственном адресном пространстве и эмулирует систему MS-DOS, запущенную на компьютере с процессором Intel 80486. Программы Win16 запускаются в режиме Win16 VDM. Каждая программа запускается в одном процессе с использованием одного адресного пространства, но для каждой программы используется свой отдельный поток. Однако Windows NT позволяет запускать Win16-программы в отдельных Win16 VDM-процессах, реализуя вытесняющую многозадачность. Процесс подсистемы окружения Win32 — csrss.exe также включает в себя функциональность менеджера окон, то есть обрабатывает входящие события, такие, как нажатие клавиш клавиатуры и мыши, и передает их на обработку соответствующим приложениям. Каждое приложение само производит перерисовку окон в ответ на эти сообщения.

Подсистема окружения OS/2 поддерживает неграфические 16-разрядные приложения операционной системы OS/2 и эмулирует систему OS/2 2.1.x.

Подсистема окружения POSIX поддерживает приложения, написанные в соответствии со стандартом POSIX.1.

Интегрированная подсистема (Integral subsystem) следит за некоторыми функциями операционной системы от имени подсистемы окружения. Состоит из подсистемы безопасности, службы рабочей станции и службы сервера. Служба безопасности обращается с маркерами доступа, разрешает или запрещает доступ к учётной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Служба Рабочая станция обеспечивает доступ компьютера к сети — является API для сетевого редиректора (ПО, эмулирующее доступ к удаленной файловой системе как к локальной). Служба Сервер позволяет компьютеру предоставлять сетевые сервисы.

## Режим ядра

[править | править код]

Режим ядра Windows NT имеет полный доступ к аппаратной части компьютера и системным ресурсам. Работает в защищенной области памяти. Управляет памятью и взаимодействием с аппаратной частью. Предотвращает доступ к критическим областям памяти со стороны приложений и служб пользовательского режима. Для выполнения подобных операций процесс пользовательского режима должен попросить режим ядра выполнить её от своего имени.

Архитектура x86 поддерживает 4 уровня привилегий — от 0 до 3, но используются только 0-й и 3-й уровень. Режим пользователя использует уровень 3, а режим ядра — 0. Это было сделано для возможности переноса на платформу RISC, которая использует только два уровня привилегий. Режим ядра состоит из исполнительных служб, которые представляют собой различные модули, выполняющие определённые задачи, драйверы ядра, само ядро и уровень аппаратных абстракций HAL.

### Исполнительная подсистема

[править | править код]

Работает с вводом-выводом, менеджером объектов, управлением над процессами и безопасностью. Неофициально делится на несколько подсистем — менеджер кэша, менеджер конфигурации, менеджер ввода/вывода, вызов локальных процедур, менеджер памяти, монитор безопасности. Системные службы, то есть системные вызовы, реализованы на этом уровне, за исключением нескольких вызовов, которые вызывают непосредственно ядро для большей производительности. В данном контексте термин «служба» относится к вызываемым подпрограммам, или набору вызываемых подпрограмм. Они отличаются от служб, выполняемых в режиме пользователя, которые в какой-то мере являются аналогом демонов в UNIX-подобных системах.

### Менеджер объектов

[править | править код]

Это исполнительная подсистема, к которой обращаются все остальные модули исполнительной подсистемы, в частности, системные вызовы, когда им необходимо получить доступ к ресурсам Windows NT. Менеджер объектов служит для уменьшения дублирования объектов, что может привести к ошибкам в работе системы. Для менеджера объектов каждый ресурс системы является объектом — будь то физический ресурс типа периферийного устройства, файловой системы или логический ресурс — файл и др. Каждый объект имеет свою структуру, или тип объекта.

Создание объекта делится на две стадии — создание и вставка. Создание — создается пустой объект и резервируются необходимые ресурсы, например, имя в пространстве имен. Если создание пустого объекта произошло успешно, то подсистема, ответственная за создание объекта, заполняет его. Если инициализация успешна, то подсистема заставляет менеджер объектов произвести вставку объекта — то есть сделать его доступным по своему имени или дескриптору.

## Примечания

[править | править код]

1. ↑ Графические драйверы ATI Catalyst в операционной системе Windows Vista | Видеокарты — 3DNews — Daily Digital Digest  (неопр.). Дата обращения: 20 августа 2009. Архивировано 4 мая 2009 года.
2. ↑ w:User-Mode Driver Framework

Компоненты Microsoft Windows

Основные|

* Aero
* ClearType
* Диспетчер окон рабочего стола
* DirectX
* Панель задач
* Пуск
* Область уведомлений
* Проводник
* Пространство имён
* Ассоциации файлов
* Поиск Windows
* IFilter
* Indexing Service
* GDI
* SMB
* Active Scripting
* WSH
* VBScript
* JScript
* COM
* OLE
* DCOM
* ActiveX
* Теневая копия
* WDDM
* UAA
* Консоль Win32
* Windows Spotlight
* Windows Mixed Reality

Службы
управления|

* Служба архивации и восстановления
* COMMAND.COM
* cmd.exe
* Средство переноса данных
* Просмотр событий
* Windows Installer
* netsh
* PowerShell
* rundll32.exe
* Sysprep
* MSConfig
* Проверка системных файлов
* Индекс производительности
* Центр обновления
* Восстановление системы
* Дефрагментация диска
* Диспетчер задач
* Диспетчер устройств
* Консоль управления
* Очистка диска
* Параметры Windows
* Панель управления

Приложения|

| Win32|

* Microsoft Edge
* Журнал
* Распознавание речи
* Таблица символов
* Факсы и сканирование
* Центр мобильности
* Центр устройств Windows Mobile
* Экранная лупа

|

UWP/WASDK[англ.]|

* Media Player
* Microsoft Copilot
* Microsoft Recall
* Microsoft Store
* Paint
* Удалённый помощник
* Блокнот
* Записки
* Звукозапись
* Калькулятор
* Ножницы
* Параметры
* Фотографии
* Экранный диктор

Исторические|

* Anytime Upgrade
* Киностудия
* NetMeeting
* Paint 3D
* Outlook Express
* Диспетчер программ
* Диспетчер файлов
* Фотоальбом
* Windows To Go
* Контакты
* DVD-студия
* Проигрыватель Windows Media
* Internet Explorer
* WordPad
* Media Center
* Боковая панель
* Календарь
* Почта
* Кортана
* Люди
* Просмотр фотографий

Игры|

* Chess Titans
* Purble Place
* Пасьянсы
* Косынка
* Паук
* Солитер
* Microsoft Mahjong
* Microsoft Solitaire Collection
* Сапёр
* Пинбол
* Червы
* InkBall
* Microsoft Tinker

Ядро ОС|

* Ntoskrnl.exe
* hal.dll
* svchost.exe
* Реестр
* Служба
* Диспетчер управления службами
* NTLDR
* Диспетчер загрузки
* Программа входа в систему (winlogon.exe)
* Консоль восстановления
* Windows RE
* Windows PE
* Защита ядра от изменений

Службы|

* Background Intelligent Transfer Service
* Отчёты об ошибках
* Планировщик классов мультимедиа
* Теневая копия
* Планировщик задач
* Беспроводная настройка

Файловые
системы|

* ReFS
* NTFS
* Точка соединения
* Точка повторной обработки
* TxF
* EFS
* WinFS
* FAT
* exFAT
* CDFS
* UDF
* DFS
* IFS

Серверы|

* Active Directory
* Службы развёртывания
* Служба репликации файлов
* Служба доменов
* Hyper-V
* IIS
* Media Services
* MSMQ
* Защита доступа к сети (NAP)
* Службы печати для UNIX
* Службы удалённой установки
* Службы управления правами
* Перемещаемые профили пользователей
* SharePoint
* Диспетчер системных ресурсов
* Программа удалённого администрирования
* WSUS
* Координатор распределённых транзакций

Архитектура|

* NT
* Диспетчер объектов
* Пакеты запроса ввода/вывода
* Диспетчер транзакций ядра
* Диспетчер логических дисков
* Диспетчер учётных записей безопасности
* Защита ресурсов
* lsass.exe
* csrss.exe
* smss.exe
* spoolsv.exe
* Запуск

Безопасность|

* BitLocker
* Защитник
* Предотвращение выполнения данных
* Обязательный контроль целостности
* UAC
* UIPI
* Брандмауэр
* Центр обеспечения безопасности
* Защита файлов

Совместимость|

* Подсистема UNIX (Interix)
* Виртуальная машина DOS
* Windows on Windows
* WOW64