Лекция "Микроядерная архитектура ОС"

  • Лекции
  • doc
  • 31.03.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Микроядерная архитектура является альтернативой классическому способу построения ОС. В отличие от традиционной архитектуры, согласно которой ОС представляет собой монолитное ядро, реализующее основные функции по управлению аппаратными ресурсами и организующее среду для выполнения пользовательских процессов, микроядерная архитектура распределяет функции ОС между микроядром и входящими в состав ОС системными сервисами, реализованными в виде процессов, равноправных с пользовательскими приложениями.Главной особенностью данного подхода является то, что в привилегированном режиме остается работать только очень малая часть ОС, называемая соответственно микроядром. Микроядро защищено от остальных частей ОС и пользовательских приложений.
Иконка файла материала Микроядерная архитектура ОС.doc
Микроядерная архитектура ОС Микроядерная архитектура является альтернативой классическому способу построения  ОС. В отличие от традиционной архитектуры, согласно которой ОС представляет собой  монолитное ядро, реализующее основные функции по управлению аппаратными ресурсами  и организующее среду для выполнения пользовательских процессов, микроядерная  архитектура распределяет функции ОС между микроядром и входящими в состав ОС  системными сервисами, реализованными в виде процессов, равноправных с  пользовательскими приложениями.Главной особенностью данного подхода является то,  что в привилегированном режиме остается работать только очень малая часть ОС,  называемая соответственно микроядром. Микроядро защищено от остальных частей ОС и  пользовательских приложений. Набор входящих в состав микроядра функций, как правило, соответствует слою базовых механизмов обычного ядра, хотя в состав микроядра  включаются далеко не все базовые функции ядра, а только функции управления  процессами, обработки прерываний, управления виртуальной памятью, пересылки  сообщений, управления устройствами ввода­вывода. Выполнение таких функций ОС  практически невозможно реализовать в пользовательском режиме. Все машинно­зависимые  модули ОС также включаются в микроядро.Не вошедшие в состав микроядра  высокоуровневые функции и модули ядра оформляются в виде обычных приложений,  работающих в пользовательском режиме. При этом на разработчика ОС ложится далеко  неоднозначная задача принятия решения о том, какой из модулей  будет работать в  привилегированном режиме, а какой в пользовательском. Как правило, на это решение  сильное влияние оказывает специфика применения данной ОС и критерии, которым она  должна удовлетворять. В общем случае многие менеджеры ресурсов, являющиеся  неотъемлемой частью ядра ОС с классической архитектурой, остаются за пределами  микроядра и работают в пользовательском режиме. Работающие в пользовательском  режиме менеджеры ресурсов имеют принципиальные отличия от традиционных утилит ОС  и системных обрабатывающих программ ОС, хотя при микроядерной архитектуре всеэти  программные компоненты также оформлены в виде приложений. Утилиты и  обрабатывающие программы вызываются в основном пользователями. Ситуации, когда  одному приложению требуется выполнение функции другого приложения, возникают  крайне редко, поэтому в ОС с классической архитектурой отсутствует механизм, с  помощью которого одно приложение могло бы вызвать функции другого. Принципиально  другая ситуация возникает в том случае, если в форме обычного приложения оформляется  часть ОС. По определению основным назначением такого приложения является  обслуживание запросов других приложений, например создание процесса, выделение  памяти, проверка прав доступа к ресурсу и т.д. Вследствие этого вынесенные в  пользовательский режим менеджеры ресурсов являются серверами ОС, то есть модулями,  основное назначение которых – обслуживание запросов локальных приложений и других  модулей ОС. Совершенно очевидно, что при реализации микроядерной архитектуры  необходимо обеспечить наличие в ОС удобного и эффективного способа вызова процедур  одного процесса из другого. Поддержка такого механизма является одной из главных  задач, возложенных на микроядро ОС. Клиент, которым может быть как пользовательская  прикладная программа, так и другой компонент ОС, запрашивает у соответствующего  сервера выполнение некоторой функции, посылая ему сообщение. Микроядро ОС,  выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам  каждого из этих приложений и поэтому может выступать в качестве посредника при  передаче сообщений. Микроядро сначала передает сообщение, содержащее имя и  параметры вызываемой процедуры соответствующему серверу, затем сервер выполняет  запрошенную операцию, после чего микроядро возвращает результаты клиенту  посредством другого сообщения. Таким образом, работа микроядерной ОС соответствуетизвестной модели клиент­сервер, в которой роль транспортных средств выполняет  микроядро