пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

7. Операционные системы с монолитным ядром.

 

Монолитное ядро — классическая и, на сегодняшний день, наиболее распространённая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

Монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий, кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС. Это делает монолитные ядерные архитектуры мало пригодными к эксплуатации в системах, сильно ограниченных по объёму ОЗУ, например, встраиваемых системах, производственных микроконтроллерах и т. д.

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

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

Перекомпиляция - это единственный способ добавить в него новые компоненты или исключить неиспользуемые.

*Достоинства: скорость работы, упрощённая разработка модулей.

*Недостатки: поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

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

Такая организация ОС предлагает следующую структуру:

1 уровень: Главная программа

2 уровень: Набор служебных процедур

3 уровень: Набор утилит

Главная программа вызывает требуемую служебную процедуру. Набор служебных процедур выполняет системные вызовы, которые выполняются в привелигированном режиме. Набор утилит помогает выполнить сервисные процедуры.

*Примеры: Традиционные ядра UNIX(такие как BSD), Linux; ядро MS-DOS, ядро KolibriOS

 

 


21.01.2018; 20:08
хиты: 88
рейтинг:0
Точные науки
информатика
Теория вычислений
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь