Базовая архитектура 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 ).