Текст лекции. Подсистема ввода-вывода операционной системы Windows 2000 состоит из ряда компонентов исполнительной системы ОС

Подсистема ввода-вывода операционной системы Windows 2000 состоит из ряда компонентов исполнительной системы ОС, которые управляют аппаратными средствами и предоставляют интерфейсы для обращения к ним системе и приложениям пользователя. Основным средством работы прикладного программного обеспечения с аппаратным обеспечением являются драйверы. В ОС Windows 2000 используются различные типы драйверов, которые по-разному взаимодействуют с системными компонентами и с программами пользователя.

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

Упрощенная схема архитектуры операционной системы Windows 2000 показана на рисунке 2.1 [1].

Рисунок 2.1 – Упрошенная архитектура Windows 2000

Понятно, что представленная на рисунке схема дает лишь приближенное представление об элементах системы и об их взаимодействии. Однако уже на этой упрощенной схеме можно заметить, что элементы операционной системы разделяются на два класса – одни выполняются в пользовательском режиме, другие – в режиме ядра. Потоки процессов пользовательского режима выполняются в защищенных адресных пространствах процессов (хотя при выполнении в режиме ядра они получают доступ к системному пространству). Таким образом, процессы поддержки системы, сервисов, приложений и подсистем окружения выполняются в своих адресных пространствах.

Существует четыре типа пользовательских процессов [1]:

- фиксированные процессы поддержки системы (System Support Processes) – например, процесс обработки входа в систему и диспетчер сеансов, не являющиеся сервисами Windows 2000 (то есть, они не запускаются диспетчером управления сервисами),

- процессы сервисов (Service processes) – носители Win32-сервисов, вроде Task Scheduler (планировщик задач) и Spooler (спулер печати); многие серверные приложения Windows 2000, например, Microsoft SQL Server и Microsoft Exchange Server, также включают в себя компоненты, выполняемые, как сервисы,

- пользовательские приложения (User Applications) – бывают пяти типов: Win32, Windows 3.1, MS-DOS, Posix и OS/2 1.2,

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

Следует обратить особое внимание на элемент «DLL подсистем». Его присутствие связано с тем, что в Windows 2000 пользовательские приложения не могут напрямую вызывать встроенные сервисы операционной системы – они работают через одну или несколько DLL подсистем (Subsystem DLL). Они предназначены для трансляции документированных функций в соответствующие недокументированные внутренние вызовы системных сервисов Windows 2000.

Windows 2000 включает следующие компоненты режима ядра [1]:

- исполнительная система (executive), содержащая базовые сервисы операционной системы (обеспечивающие управление памятью, процессами и потоками, защиту, ввод-вывод и взаимодействие между процессами),

- ядро (kernel), содержащее низкоуровневые функции операционной системы (поддерживающие планирование потоков, диспетчеризацию прерываний и исключений, синхронизацию процессов и т. д.); ядро предоставляет также набор процедур и базовых объектов, используемых исполнительной системой для реализации структур высшего уровня,

- драйверы устройств (Device Drivers) – драйверы аппаратных устройств, транслирующие пользовательские вызовы функций ввода-вывода в специализированные запросы для конкретных устройств, сетевые драйверы и драйверы файловых систем,

- уровень аппаратных абстракций (Hardware Abstraction Layer, HAL), изолирующий ядро, драйверы и исполнительную систему Windows 2000 от специфики внешних устройств и аппаратной платформы,

- подсистема поддержки окон и графики (Windowing and Graphics System), реализующая функции графического пользовательского интерфейса (GUI), более известные как Win32 -функции модулей User и GDI; эти функции обеспечивают поддержку окон, элементов управления интерфейса пользователя и прорисовку графики.

В таблице 2.1 приведены основные файлы системных компонентов Windows 2000.

Таблица 2.1 – Основные файлы системных компонентов Windows 2000

Имя файла Компоненты системы
Ntoskrnl.exe Исполнительная система и ядро
Ntkrnlpa.exe Исполнительная система и ядро с поддержкой механизма Physical Address Extension (PAE), позволяющего использовать 36-разрядную адресацию (адресное пространство в 64 Гбайта)
Hal.dll Уровень аппаратных абстракций
Win32k.sys Часть подсистемы Win32, работающая в режиме ядра
Ntdll.dll Внутренние функции поддержки и интерфейсы диспетчера системных сервисов с функциями исполнительной системы
Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll Основные DLL подсистемы Win32


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: