Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену СМО(ответы. Еличева).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.96 Mб
Скачать

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

Исполнительная система NT (NT executive) — это часть Windows NT, исполняю­щаяся в режиме ядра; за исключением пользовательского интерфейса, она сама по себе является законченной ОС. Исполнительная система состоит из ряда ком­понентов, причем каждый из них реализует два набора функций: системные сервисы, к которым могут обращаться как подсистемы среды, так и компоненты исполнительной системы, а также внутренние процедуры, доступные только ком­понентам исполнительной системы. Эти интерфейсы изображены на рис. 2-7.

Хотя исполнительная система и предоставляет системные сервисы, похо­жие на API, она фундаментально отличается от подсистем среды. Исполнитель­ная система не исполняется постоянно в собственном процессе, а работает в контексте некоторого существующего процесса, завладевая выполняющимся потоком, когда происходит важное системное событие. Например, когда поток вызывает системный сервис и перехватывается процессором, или когда внеш­нее устройство вызывает прерывание процессора, ядро получает управление потоком, который выполнялся процессором. Оно вызывает соответствующий системный код для обработки события, выполняет его и затем возвращает уп­равление коду, выполнявшемуся перед прерыванием.

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

Ниже перечислены различные компоненты исполнительной системы и их области ответственности:

• Диспетчер объектов. Создает, поддерживает и уничтожает объекты ис­полнительной системы NT — абстрактные типы данных, представляю­щие системные ресурсы.

• Справочный монитор защиты. Гарантирует выполнение политики за­щиты на локальном компьютере. Оберегает ресурсы ОС, обеспечивая защиту объектов и аудит во время выполнения.

• Диспетчер процессов. Создает и завершает процессы и потоки. Кроме того, приостанавливает и возобновляет исполнение потоков, хранит и выдает информацию о процессах и потоках NT.

• Средство локального вызова процедур (LPC). Передает сообщения меж­ду клиентскими и серверными процессами, расположенными на одном и том же компьютере. LPC — это гибкая, оптимизированная версия удаленного вызова процедур (remote procedure call, RPC), средства комму­никации между клиентскими и серверными процессами по сети, являю­щегося промышленным стандартом.

Рис. 2-7. Системные интерфейсы.

• Диспетчер виртуальной памяти. Реализует виртуальную память (vir­tual memory, VM) — схему управления памятью, которая предоставляет каждому процессу большое собственное адресное пространство и за­щищает это пространство от других процессов. Если память использу­ется слишком интенсивно, то диспетчер виртуальной памяти перено­сит содержимое выбранного блока памяти на диск и загружает обрат­но, когда он снова понадобится. Такая практика называется подкачкой страниц (paging).

• Ядро. Реагирует на прерывания и исключения, направляет потоки на выполнение, выполняет межпроцессорную синхронизацию и предос­тавляет набор элементарных объектов и интерфейсов, используемый остальными частями исполнительной системы NT для реализации объектов более высокого уровня.

• Система ввода—вывода. Состоит из группы компонентов, отвечающих за выполнение ввода-вывода на разнообразные устройства. В систему ввода-вывода входят следующие подкомпоненты:

• Диспетчер ввода-вывода. Реализует средства ввода-вывода, не зави­сящие от типа устройства, и устанавливает модель для ввода-вывода исполнительной системы NT.

• Файловые системы. Драйверы NT, принимающие запросы файлово­го ввода-вывода и транслирующие их в запросы, привязанные к кон­кретному устройству.

Сетевой редиректор (network redirector) и сетевой сервер (net­work server). Драйверы файловой системы, передающие удаленные запросы ввода-вывода на машины в сети и принимающие от них такие запросы.

• Драйверы устройств исполнительной системы NT Низкоуровневые драйверы, напрямую работающие с оборудованием для записи вы­вода или считывания ввода с физических устройств или с сети.

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

• Слой абстрагирования от оборудования (HAL). Помещает кодовую про­слойку между исполнительной системой NT и аппаратной платформой, на которой работает ОС. Скрывает аппаратно-зависимые детали, такие как интерфейсы ввода-вывода, контроллеры прерываний и механизмы межпроцессорных связей. Вместо того, чтобы обращаться к аппаратуре непосредственно, исполнительная система NT сохраняет максималь­ную переносимость, обращаясь к функциям. HAL , когда ей нужна платформенно-зависимая информация.

Windows NT — это переносимая ОС, разработанная так, чтобы ограничить объем кода, который зависит от конкретной архитектуры оборудования. Тем не менее, некоторый объем такого кода необходим; он располагается на самых нижних уровнях ядра NT плюс небольшие порции в диспетчере виртуальной памяти. Эти компоненты, особенно ядро NT, скрывают процессорные различия от остальной части ОС.

Код, зависящий от платформы, — т. е. от способа реализации некоторым производителем,— располагается в HAL и поставляется самими производителями компьютеров. Драйверы устройств со­держат, конечно, код, зависящий от устройства, но избегают кода, зависящего от процессора или платформы, вызывая процедуры ядра NT и HAL.