Микроядро Mach
Ядро любой современной
коммерческой версии UNIX
представляет собой набор очень
большого количества функций, с
запутанными взаимосвязями и очень
расплывчатыми границами между
основными подсистемами. В
результате любая модификация
организованной таким образом
системы дается тяжело и приводит к
появлению в новых версиях большого
количества ошибок. Кроме того, не во
всех инсталляциях нужны все
компоненты ядра, а при монолитном
его построении удаление ненужных
функций затруднено. Недостатки,
присущие операционным системам с
большим монолитным ядром (а это в
первую очередь различные версии
UNIX'а), породили интерес к системам,
построенным на основе микроядра.
Напомним, что микроядерный подход
заключается в том, что базовые
функции ядра оформляются в виде
отдельной небольшой компоненты,
выполняемой в привилегированном
режиме, а остальные функции ОС
выполняются в пользовательском
режиме с использованием примитивов
микроядра. Ввиду больших
потенциальных преимуществ, которые
сулит этот подход, можно
предположить, что в ближайшее время
большинство новых операционных
систем будет строиться на основе
микроядра. Наиболее известными
реализациями этого подхода
являются микроядра Mach и Chorus.
Основной сложностью
использования микроядерного
подхода на практике является
замедление скорости выполнения
системных вызовов при передаче
сообщений через микроядро по
сравнению с классическим подходом.
Мы достаточно подробно
рассмотрим принципы организации и
функции микроядра Mach по двум
причинам. Во-первых, микроядро по
определению содержит базовые
механизмы, имеющиеся внутри любой
операционной системы, поэтому
знакомство с этими механизмами в
чистом виде полезно и для изучения
любой конкретной ОС.
Во-вторых, микроядра
лицензируются и используются как
готовый программный продукт в
качестве основы для построения
коммерческой сетевой операционной
системы. Сейчас имеется несколько
коммерческих реализаций
операционных систем на основе
микроядра Mach (NextStep фирмы Next, UNIX BSD,
OSF/1 v.1.3), а также проводится ряд
работ по использованию этого ядра.
Так как свойства микроядра в
значительной степени определяют
свойства ОС, построенной на его
основе, то знание микроядра
помогает в оценке характеристик
использующей его ОС.
Предыдущая
глава || Оглавление
|| Следующая глава
|