Читайте также: |
|
При микроядерной архитектуре в привилегированном режиме остается работать только очень небольшая часть операционной системы, называемая микроядром (см. рис. 3.8.). Микроядро защищено от остальных частей операционной системы и приложений. В состав микроядра обычно входят машинно - зависимые модули, а также частично, модули выполняющие базовые функции ядра. Все остальные базовые функции и другие, более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Однозначного решения о том, какие из системных функций нужно оставить в привилегированном режиме, а какие перевести в пользовательский, не существует. Обычно, набор функций микроядра составляют базовые функции операционной системы, которые трудно или не возможно выполнить в пространстве пользователя. В общем случае многие менеджеры ресурсов, являющиеся неотъемлемыми частями обычного ядра становятся “периферийными” модулями, работающими в пользовательском режиме.
Работающие в пользовательском режиме менеджеры ресурсов имеют принципиальные отличия от традиционных утилит и обрабатывающих программ операционной системы, хотя также оформлены в виде приложений. Утилиты и обрабатывающие программы вызываются в основном пользователями. Совсем другая ситуация возникает, когда в форме приложения оформляется часть операционной системы, основным назначением которой является обслуживание запросов других приложений, например создание процесса, выделение памяти и т.п. Именно поэтому менеджеры ресурсов, вынесенные в пользовательский режим, называются серверами операционной системы, то есть модулями, основным назначением которых является обслуживание запросов локальных приложений и других модулей операционной системы.
Схематично механизм обращения к функциям операционной системы, оформленных в виде серверов, выглядит следующим образом (см. рис. 3.9.). Клиент, которым может быть либо прикладная программа, либо другой компонент операционной системы, запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему сообщение. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы друг от друга. Микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам каждого из этих приложений и поэтому может работать в качестве посредника. Микроядро сначала передает сообщение, содержащее имя и параметры вызываемой процедуры нужному серверу, затем сервер выполняет запрошенную операцию, после чего ядро возвращает результат клиенту с помощью другого сообщения. Таким образом, работа микроядерной операционной системы соответствует известной модели клиент- сервер, в которой роль транспортных средств выполняет микроядро.
Дата добавления: 2015-01-30; просмотров: 33 | Поможем написать вашу работу | Нарушение авторских прав |