Архитектура ОС с микроядром. Особенности, преимущества и недостатки.
Сравним две архитектуры: монолитную и микроядерную
серверы
Пользовательский режим
Привилегированный режим
Монолитная структура Микроядерная
При микроядерной архитектуре в привилегированном режиме остается работать только очень небольшая часть ОС – микроядро. В него входят машинозависимые модули, аппаратура и базовые функции по управлению ресурсами (примерно равно уровню базовых механизмов ядра классической архитектуры). Все более высокоуровневые функции реализуются в виде приложений пользовательского режима, которые называются серверы.
Отличие утилит от серверов:
1. Утилиты вызываются пользователями для выполнения каких-либо отдельных функций, взаимодействия между ними практически нет. А отличие от этого, серверы (прежде всего менеджеры ресурсов), вызываются, прежде всего, приложениями для выполнения системных функций.
2. Серверы (менеджеры ресурсов) изначально создаются в расчете на взаимодействие друг с другом. Вся работа происходит через микроядро.
Достоинства микроядерной архитектуры:
- Высокая переносимость, так как машинозависимый код изолирован в микроядре.
- Очень высокая расширяемость, новые возможности добавляются в виде серверов.
- Высокая надежность, каждый сервер выполняется в собственном, защищенном пространстве памяти. В случае сбоя, работа системы не страдает.
- Хорошая поддержка распределенных вычислений, взаимодействие между микроядрами строится аналогично взаимодействию серверов.
Недостатки микроядерной архитектуры:
- Производительность ниже, чем у классической (монолитной) архитектуры.
Монолитная
прилож прилож
ОС
Микроядерная
прилож сервер прилож
Микроядро микроядро
Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.