Базовая архитектура Windows 2000

С Windows 2000 с точки зрения архитектуры организована как многоуровневая система модулей.Система поддерживает защищенный (системный) режим, в котором выполняются

· HAL,

· ядро и

· исполнительная подсистема (executive).

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

Подсистемы защиты реализуют различные функции безопасности.

Исполнительная система и ядро системы.

Ядро Windows 2000

Ядро в системе является основой функционирования исполнительной подсистемы (executive) и подсистем, выполняемых в пользовательском режиме. Отказы страниц в ядре исключены. Его исполнение никогда не прерывается.

 

Ядро выполняет следующие основные функции:

· Планирование потоков

· Обработка прерываний и исключений

· Низкоуровневую синхронизацию процессов

· Восстановление после отказов электропитания.

Особенно важной и принципиально новой в операционных системах особенностью является то, что ядро системы Windows - объектно-ориентированное.

 

Ядро использует два набора объектов:

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

· Управляющие объекты - асинхронные вызовы процедур, обработчики прерываний, объекты нотификации об электропитании, объекты состояния электропитания, объекты профилирования.

 

Поддержка потоков и процессов в ядре.

Процессимеет адресное пространство в виртуальной памяти, информацию (например, базовый приоритет) и тесную связь с одним или несколькими процессами.

Потоки – единицы исполнения, планируемые диспетчером ядра. Каждый поток имеет свое собственное состояние, включая приоритет, связь с процессором и статистическую информацию. Поток может быть в следующих состояниях: ready, standby, running, waiting, transition и terminated.

 

Планирование в ядре.

Диспетчер использует 32-уровневую схему приоритетов для определения порядка выполнения потоков. Приоритеты разбиты на два класса:

· Класс real-time содержит потоки с приоритетами от 16 до 31.

· Класс variable содержит потоки с приоритетами от 0 до 15.

 

Характерными чертами стратегии приоритетов Windows 2000 являются следующие:

· Хорошее время ответа для потоков, использующих мышь и окна.

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

 

Планирование выполняется, когда поток переходит в состояние ready или wait, когда поток завершается, либо когда приложение изменяет приоритет потока или связь с процессором.

 

Потокам реального времени отдается предпочтение при выделении процессора; но ОС не гарантирует, что поток начнет выполняться в течение какого-либо определенного интервала времени (такой подход известен как soft real-time ).