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