Главная
»
Информационные системы
»
Операционные системы
»
Ядро системы 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.Завершен, поскольку завершилось выполнение его программного кода. Объект-поток не обязательно будет сразу удален, вероятно его повторное использование исполнительной системой.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.