![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В привилегированном режиме работает только небольшая часть ОС - микроядро, защищенное от остальных частей ОС приложений.
В состав функций микроядра включаются те функции ОС, которые трудно или невозможно выполнить в пространстве пользователя. В соответствии с рис. 5.3 это функции слоя базовых механизмов обычного ядра и ниже. Остальные, высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Соотношение классической и микроядерной архитектур приведено на рис. 5.4.
Рисунок 5.4 - Перенос функций ядра в пользовательское пространство:
а - классическая архитектура, б - микроядерная архитектура
Однозначного решения о переносе в пользовательский режим тех или иных системных функций не существует. В общем случае как пользовательские приложения оформляются многие менеджеры ресурсов.
По определению, основным назначением такого приложения является обслуживание запросов других приложений (создание процесса, выделение памяти, проверка прав доступа и т.д.). Поэтому менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами ОС. Одной из главных задач микроядра является поддержка взаимодействия серверов. Механизм обращения к функциям ОС с микроядерной архитектурой изображен на рис. 5.5.
5.5 - Реализация системного вызова в ОС с микроядерной архитектурой
Клиент (прикладная программа либо другой компонент ОС) посылает соответствующему серверу сообщение-запрос на выполнение некоторой функции. Непосредственная передача этого сообщения серверу невозможна, так как каждое приложение работает в своем адресном пространстве. В качестве посредника выступает микроядро, выполняющееся в привилегированном режиме и имеющее доступ к адресным пространствам всех приложений. Микроядро передает сообщение нужному серверу, сервер выполняет запрошенную операцию и результат, снова через посредство микроядра, возвращается клиенту с помощью другого сообщения.
Такая схема обработки запроса соответствует модели клиент-сервер, где микроядро выполняет роль транспортных средств.
Микроядерная архитектура используется, в частности, в некоторых вариантах ОС Unix и частично - в ОС Windows NT.
Дата публикования: 2015-10-09; Прочитано: 507 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!