Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_модуль1.doc
Скачиваний:
10
Добавлен:
25.08.2019
Размер:
276.48 Кб
Скачать

Микроядерная архитектура

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

В состав микроядра обычно входят машинно-зависимые модули, и модули, выполняющие базовые функции:

  1. обработку прерываний;

  2. управление процессами;

  3. управление виртуальной памятью;

  4. управление устройствами ввода-вывода.

Нет однозначного ответа на вопрос о том, какие функции следует оставлять в режиме ядра, а какие переносить в пользовательский режим. Часто переносят в пользовательский режим менеджеры ресурсов (которые в классической схеме являются функциями ядра). Это файловая система, подсистемы управления процессами, менеджер безопасности и другие.

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

Специфическим свойством работы микроядра является то, что каждое приложение работает в своем адресном пространстве. Непосредственная передача сообщений между приложениями невозможна. В качестве посредника работает микроядро, которое имеет доступ ко всем адресным пространствам.

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

Основные достоинства микроядерной архитектуры ОС.

  1. Хорошая переносимость, поскольку весь машинно-зависимый код локализован в микроядре.

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

  3. Надежность ОС, поскольку каждый сервер использует свое адресное пространство, и не затрагивает других модулей ОС. В традиционной ОС все модули ядра могут влиять друг на друга.

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

Но из-за снижения производительности при использовании микроядра, разработчики включают в ядро больше функций ОС, чем это делает микроядерная архитектура.

Пример. В Windows NT над ядром и драйверами устройств располагается исполняющая система, состоящая из 10 компонентов. Эти компоненты:

  1. Менеджер объектов (объекты – процессы, потоки, файлы, каталоги, семафоры, таймеры…).

  2. Менеджер процессов – занимается созданием и завершением процессов и потоков.

  3. Менеджер памяти – реализует механизм виртуальной памяти со страничной подкачкой.

  4. Менеджер безопасности.

  5. Менеджер ввода-вывода (управляет устройствами ввода-вывода).

  6. Менеджер дискового КЭШа.

  7. Менеджер plug-and-play (получает все уведомления об установленных новых устройствах, находит и загружает соответствующий драйвер).

  8. Менеджер энергопотребления – выключает монитор и диски, если к ним не было обращения в течение заданного времени.

  9. Менеджер конфигурации – отвечает за состояние реестра.

  10. Менеджер локального вызова процедуры – обеспечивает специальный механизм взаимодействия процессов и потоков для обеспечения максимальной скорости обработки системных вызовов (а не стандартный механизм взаимодействия процессов).