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