Главная » Информационные системы » Операционные системы » Ядро системы Windows

Ядро системы Windows

В отличие от исполнительной системы, [1ядро является резидентным и выполняется без вытеснения, хотя его работа может быть приостановлена для обработки прерываний. Оно всегда работает в привилегированном режиме процессора. Ядро написано в основном на языке С, и лишь отдельные его части на языке Ассемблер.1] Ядро выполняет четыре функции:

1.Планирует выполнение потоков.

2.Передает управление процедурам обработки прерываний и исключений.

3.Выполняет низкоуровневую многопроцессорную синхронизацию.

4.Обеспечивает восстановление системы после сбоя питания.

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

Если объекты исполнительной системы достаточно сложны, то лежащие в их основе объекты ядра имеют более простую систему. Перечислим объекты ядра, разделив их на две категории:

1.[2Управляющие объекты. Устанавливают семантику управления функциями ОС. Сюда входят объекты: процесс ядра, асинхронный вызов процедуры (АРС), отложенный вызов процедуры (DPC) и объекты, используемые системой ввода-вывода (прерывание, уведомление питания и состояние питания)2].

(Семантика – это описание ее действия.)

2.[3Диспетчерские объекты. Предназначены для синхронизации и планирования потоков. К ним относятся: поток ядра, событие ядра, семафор и таймер ядра.3]

Ядро реализует основанное на приоритетах вытесняющее планирование потоков с поддержкой приоритетов от 0 (самый низкий) до 31 (самый высокий). За планирование потоков и переключение контекста отвечает диспетчер ядра. Уровень приоритета 0 зарезервирован для системных целей. С приоритетами 16-31 выполняются потоки реального времени. С приоритетами 1-15 выполняются потоки переменного приоритета.

Состояния потока:

1.[4Готов – ожидает возможности выполнения на процессоре.4]

2.[5Резервный – выбран для выполнения на процессоре и получит управление, как только процессор освободится.5]

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

4.Ждет по одной из следующих причин: поток перешел в состояние ожидания самостоятельно или c помощью операционной системы.

5.Переходный – готов к исполнению, но необходимые ему ресурсу недоступны.

6.Завершен, поскольку завершилось выполнение его программного кода. Объект-поток не обязательно будет сразу удален, вероятно его повторное использование исполнительной системой.


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины