Структура ядра.

l Исполняющая система, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами;

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

Например, исполняющая система включает в себя менеджер виртуальной памяти, менеджер кэш-памяти, менеджер объектов, менеджер системы безопасности.

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

 

l Ядро (микроядро) выполняет низкоуровневые функции ОС: диспетчеризация потоков, прерываний и исключений, синхронизация процессоров. Ядро также включает набор процедур и базовых объектов, используемый исполняемой частью для создания высокоуровневых конструкций;

Микроядро (Microkernel) является основным компонентом операционной системы и координирует выполнение большинства базовых операций Windows.

В отличие от остальной части ядра ОС, МЯ никогда не выгружается из оперативной памяти, его выполнение никогда не прерывается другими потоками.

Код МЯ написан в основном на Си, а фрагменты, оказывающие наибольшую нагрузку на процессор, на языке Ассемблера.

Функции микроядра:

- МЯ, в первую очередь, занимается планированием загрузки процессора на основании следующих принципов:

l квантование времени;

l абсолютные приоритеты;

l динамические приоритеты.

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

- МЯ также обеспечивает работу других базовых объектов ядра, которые используются исполняющей системой (и в некоторых случаях экспортируются в режим пользователя).

 

l Уровень абстракции от оборудования (HAL – Hardware Abstraction Layer), изолирует остальное ядро от специфики аппаратной платформы, на которой выполняется ОС. Подобный подход позволяет обеспечить переносимость Windows. HAL можно рассматривать в качестве наноядра.

l Драйверы устройств включают как файловую систему, так и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода;

l Функции графического интерфейса пользователя работают с окнами, элементами управления и изображениями.

 

2.4 Объекты Windows 2000-2008.

В ОС Windows 2000-2003 объект – это отдельный экземпляр периода выполнения (runtime instance) статически определенного типа объекта.

Тип объектов(object type), иногда называемый классом объектов (object class) состоит из общесистемного типа данных, функций, оперирующих экземплярами этого типа данных, и набора атрибутов.

Атрибут объекта (object attribute) это поле данных внутри объекта частично определяющее его состояние.

Методы объекта (средства для манипулирования объектами) обычно считывают атрибуты объекта.

Не все структуры данных в Windows 2000-2008 являются объектами. В объекты помещаются лишь те данные, которые нужно разделять, защищать, именовать или сделать доступными программам пользовательского режима (через системные сервисы).

Структуры, используемые только одним из компонентов операционной системы для поддержки каких-то внутренних функций, к объектам не относятся.

MS Windows 2000 – 27 объектов

MS Windows XP-2003 – 29 объектов