Благодаря такой организации Windows 2000 соединяет в себе достоинства микроядерной и расширяемой библиотечной архитектур.
На практике часто используется сочетание этих двух механизмов.
Вызов исполнительной системы из пользовательского режима осуществляется посредством интерфейсов ее системных сервисов.
Интерфейс ядра используется только исполнительной системой и программам пользовательского режима недоступен.
Между ядром и аппаратной частью компьютера располагается слой программного обеспечения, называемый слоем абстрагирования от оборудования или уровнем аппаратных абстракций (Hardware Abstraction Layer, HAL).
Он включает программы, которые предназначены для конкретного аппаратного обеспечения, и «изолирует» систему от особенностей последнего (в частности, эти программы осуществляют взаимодействие с контроллером прерываний или управление взаимодействием между центральными процессорами в мультипроцессорной системе).
Приложения взаимодействуют с исполнительной системойопосредованно, через защищенные подсистемы среды, которые реализуют интерфейсы прикладного программирования.
Защищенные подсистемы среды могут либо взаимодействовать с клиентскими приложениями
- либо по принципу клиент-сервер,
- либо функционировать как совместно используемые библиотеки, связываемые с клиентскими приложениями во время их компоновки.
Компоненты исполнительной системы
Исполнительная система Windows 2000 функционирует в режиме ядра и выполняет основные функции операционной системы.
В ее состав входят следующие компоненты.
Менеджер объектов.
Создает и удаляет объекты исполнительной системы. Когда пользовательскому процессу требуется создать объект определенного типа, он вызывает соответствующую подсистему, а та направляет вызов менеджеру объектов. Последний реализует унифицированный механизм управления объектами и хранения соответствующих данных и используется всеми компонентами исполнительной подсистемы.
Дескрипторы объектов исполнительной системы Windows 2000 универсальные: с их помощью можно идентифицировать процессы, потоки и другие объекты.
Справочный монитор зашиты.
Обеспечивает защиту объектов во время работы системы, участвует в операциях с объектами и может обеспечивать аудит их использования.
Менеджер процессов.
Отвечает за управление процессами и потоками. При создании процесса в его состав сразу включается один поток (единицей диспетчеризации является поток). Во время существования процесса в нем могут быть созданы дополнительные потоки. Процесс является единицей владения ресурсами.
Средство локального вызова процедур.
(Local Procedure Call, LPC). Поддерживает взаимодействие между клиентами и серверами, расположенными на одном узле.
Менеджер виртуальной памяти.
Обеспечивает страничную организацию памяти и защиту адресного пространства каждого процесса (совместно используемого всеми его потоками).
Менеджер ввода-вывода.
Поддерживает независимые от устройств функции ввода-вывода, управляет файлами и сетевыми буферами.
Объектная модель Windows 2000/XP и менеджер объектов
Объекты – все системные ресурсы и структуры данных (процессы, потоки, файлы, семафоры и т.д.).
Объекты предоставляютунифицированный интерфейс.
Объекты подразделяются натипы.У каждого объекта есть свойства, общие для всех объектовданного типа.
- Поддержка объектов позволяет реализовать унифицированный подход к именованию ресурсов, защите от несанкционированного доступа и совместному использованию.
В Windows 2000 используется следующая объектная терминология:
- Объект - экземпляр объектного типа
- Атрибуты объекта - элементы данных состояния объекта.
- Объектные сервисы операционной системы (наборы операций, связанных с объектами) используются для управления объектами.
Одна часть этих сервисов является внутренней и используется только компонентами исполнительной системы, а другая часть открыта для процессов пользовательского режима и составляет интерфейс исполнительной системы.
Термин метод, который в соответствии с традиционной объектной терминологией используется для обозначения интерфейсной операции объекта, в Windows 2000 имеет специфическое значение.
- Менеджер объектов создает и удаляет объекты, а также отслеживает их использование.
Каждый тип объектов поддерживается определенной подсистемой.
В табл. 13.1 перечислены основные типы объектов исполнительной системы Windows 2000 и указано, к какой из ее подсистем относится каждый из них.
Табл. 13.1. Объекты исполнительной системы Windows 2000
Использование объектов
Использование объектов в операционной системе Windows 2000 осуществляется согласно общим принципам: открытие, работа с объектом, закрытие.
Объекты могут быть:
Постоянными(файлы),
Динамическими(потоки).
Постоянные объекты открываются с помощью операции открыть(), а динамические - с помощью операции создать(), в составе которой выполняется и операция открыть().