Микроядерная операционная система

Микроядерная операционная система
Архитектура микроядра основывается на программах-серверах пользовательского режима

Микроядро — это минимальная реализация функций ядра операционной системы.

Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов, реализующих базовые сервисы операционной системы.

Сюда относятся:

Все остальные сервисы ОС, в классических монолитных ядрах предоставляемые непосредственно ядром, в микроядерных архитектурах реализуются в адресном пространстве пользователя (Ring3) и называются сервисами. Примерами таких сервисов, выносимых в пространство пользователя в микроядерных архитектурах, являются сетевые сервисы, файловая система, драйверы.

Такая конструкция позволяет улучшить общее быстродействие системы (небольшое микроядро может уместиться в кэше процессора).[1] Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.

И чтобы добавить в ОС с микроядром драйвер того или иного устройства, не надо перекомпилировать всё ядро, а надо лишь отдельно откомпилировать этот драйвер и запустить его в пользовательском пространстве.

В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с передачей сообщений, что отрицательно влияет на производительность. Для того чтобы микроядерная операционная система по скорости не уступала операционным системам на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты, стараясь минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных операционных систем — необходимость очень аккуратного проектирования.

Микроядра типа ядра ОС GNU Hurd развиваются медленно, гораздо медленнее, чем BSD, но они обладают огромным потенциалом, то есть заделом на будущее, и, возможно, в этом самом будущем, достигнут аналогичного функционала.

Классическим примером микроядерной системы является Symbian OS. Это пример распространенной и отработанной микроядерной (a начиная c версии Symbian OS v8.1, и наноядерной) операционной системы.

B отличие от Windows NT, создателям Symbian OS удалось совместить эффективность и концептуальную стройность, несмотря на то что современные версии этой системы предоставляют обширные возможности, в том числе средства для работы c потоковыми данными, стеками протоколов, критичными к латентности ядра, графикой и видео высокого разрешения).

Будучи микроядерной операционной системой, Symbian «выносит» практически все прикладные (т.e. выходящие за пределы компетенции ядра) задачи в модули-серверы, функционирующие в пользовательском адресном пространстве.

В ОС Windows NT версий 3.х микроядерная архитектура с сервисным процессом использовалась для подсистемы графики и пользовательского интерфейса. В частности, драйвер графической аппаратуры загружался в контекст сервисного процесса, а не ядра. Начиная с версии 4, от этого отказались, сервисный процесс сохранился только для управления консольными окнами командной строки, а собственно графическая подсистема вместе с драйвером аппаратуры (в том числе трехмерной графики) переместилась в специально обособленный регион ядра ОС.

ОС Windows CE (и созданные на ее основе сборки, такие, как Windows Mobile), будучи практически полностью совместимой (как подмножество) с Windows NT по вызовам и методам программирования приложений, тем не менее полностью отличается от Windows NT по внутренней архитектуре и является микроядерной ОС с выносом всех драйверов устройств, сетевых стеков и графической подсистемы в сервисные процессы.

Недостаток — плата за принудительное «переключение» процессов в ядре (переключение контекста); этот факт собственно и объясняет трудности в проектировании и написании ядер подобной конструкции. Эти недостатки способны обойти ОС, использующие архитектуру экзоядра, являющуюся дальнейшим развитием микроядерной архитектуры.

Примечания

  1. У ряда современных процессоров кэш процессора достаточно велик, чтобы вместить даже монолитное ядро, поэтому по мере улучшения процессоров данное достоинство все больше нивелируется увеличивающимися размерами кэша процессора.

См. также

Микроядра
  • Ссылки


    Wikimedia Foundation. 2010.

    Полезное


    Смотреть что такое "Микроядерная операционная система" в других словарях:

    • Amoeba (операционная система) — У этого термина существуют и другие значения, см. Amoeba (значения). Amoeba Разработчик Эндрю Таненбаум и др. Исходный код Открытый Первый выпуск 1983 Последняя версия 5.3 1996 Тип ядра Мик …   Википедия

    • Spring (операционная система) — Spring экспериментальная микроядерная объектно ориентированная операционная система, разработанная Sun Microsystems в начале 1990 х. В ней использовались принципы, сходные с теми, что использовались в ядре Mach. Разработка прекратилась в середине …   Википедия

    • Список операционных систем — Это список известных операционных систем. Операционные системы могут быть классифицированы по базовой технологии (UNIX подобные, пост UNIX/потомки UΝΙΧ), типу лицензии (проприетарная или открытая), развивается ли в настоящее время (устаревшие или …   Википедия

    • Ядро (операционной системы) — У этого термина существуют и другие значения, см. Ядро. Ядро центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное… …   Википедия

    • ОC —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавл …   Википедия

    • Операционные системы —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавливается на информационные статьи списки и глоссари …   Википедия

    • Minix — 3.1.3a Разработчик Эндрю Таненбаум …   Википедия

    • QNX — Рабочий стол QNX 6 (Neutrino) по …   Википедия

    • Микроядро — У этого термина существуют и другие значения, см. Микроядро (цитология). Архитектура микроядра основывается на программах серверах пользовательского режима …   Википедия

    • Jari OS — 200px Jari OS framebuffer console Разработчик Jari OS Core Team Семейство ОС Unix подобная операционная система, Операционная система реального времени Поддерживаемые платформы …   Википедия


    Поделиться ссылкой на выделенное

    Прямая ссылка:
    Нажмите правой клавишей мыши и выберите «Копировать ссылку»