Архитектура ОС с монолитным ядром. Особенности, преимущества и недостатки.

Пользоват

ПривилегирАрхитектура ОС с монолитным ядром. Особенности, преимущества и недостатки. - student2.ru

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

ОС представляется в виде набора процедур, каждую из которых может вызывать любая пользовательская процедура (пример – MS DOS). Такая монолитная структура не обеспечивает изоляции данных, в разных участках кода используется информация об устройстве всей ОС. Расширение ОС такого типа приводит к тому, что изменение некоторой процедуры может вызвать ошибки в других частях ОС.

Во многих монолитных ОС, кроме самых простых, приложения отделены от операционной системы. Код ОС исполняется в привилегированном режиме процессора – в режиме ядра (Kernel mode) и имеет доступ к системным данным и к аппаратуре; приложения (пользовательские программы) исполняются в непривилегированном, так называемом пользовательском режиме (user mode), в котором им предоставлен ограниченный набор интерфейсов и ограниченный доступ к системным данным. Когда пользовательская программа вызывает системную процедуру, процессор перехватывает вызов и переключает вызывающий поток в режим ядра. Когда выполнение системного вызова завершается, ОС переключает поток обратно в пользовательский режим и даёт возможность вызывающей программы продолжить выполнение. Структура монолитной ОС с разделением пользовательского режима и режима ядра показана на рис.1.

 
  Архитектура ОС с монолитным ядром. Особенности, преимущества и недостатки. - student2.ru

пользовательский режим

режим ядра

Процедуры ОС

Многослойная структура ОС.

Данный подход предполагает разделение кода ОС на модули, наслоенные один поверх другого. Каждый модуль предоставляет набор функций, которые могут вызываться другими модулями. Код, расположенный в некотором слое, вызывает код только из нижележащих слоёв. Одним из преимуществ многослойной организации ОС является то, что код каждого слоя получает доступ только к необходимым ему интерфейсам и структурам данных нижележащих слоёв. Кроме того, такая структура позволяет при отладке ОС начинать с самого нижнего слоя и добавлять по одному уровню до тех пор, пока вся система не станет работать правильно. Многослойная структура облегчает и расширение системы: можно целиком заменить любой слой, не затрагивая остальные части. Сверху вниз определяются требуемые функции слоев и интерфейсы, а снизу вверх разрабатывается программное обеспечение.

В первую очередь данный подход применим к ядру:

 
  Архитектура ОС с монолитным ядром. Особенности, преимущества и недостатки. - student2.ru

Слои 1 и2 в Win NT называются HAL.

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

2) Машинно-зависимые компоненты – программные модули, которые отражают особенности аппаратной платформы компьютера.

3) Базовые механизмы ядра, выполняет самые примитивные операции ядра –программное переключения контекста процессов, диспетчеризация прерываний, перемещение страниц из памяти на диск и обратно.

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

5) Интерфейс системных вызовов. Взаимодействие с приложениями и системными утилитами и реализация прикладного интерфейса API.


Наши рекомендации