В некотором смысле концепция наноядра
близка к концепции HAL — Hardware Abstraction Layer, предоставляя вышележащему
ПО удобные механизмы абстракции от конкретных
устройств и способов обработки их прерываний.
Наиболее часто в современных компьютерах
наноядра используются для виртуализации аппаратного обеспечения реальных компьютеров или для реализации
механизма гипервизора, с целью позволить нескольким
или многим различным операционным системам
работать одновременно и параллельно
на одном и том же компьютере. Например, VMware ESX
Server реализует собственное наноядро, не зависимое
от ОС и устанавливаемое на «голое железо».
Поверх этого наноядра работают пользовательские
и административные утилиты VMware и сами
операционные системы, виртуализируемые
в ESX Server.
Наноядра также могут использоваться
для обеспечения переносимости (портабельности) операционных систем
на разное аппаратное обеспечение или
для обеспечения возможности запуска
«старой» операционной системы на новом,
несовместимом аппаратном обеспечении
без её полного переписывания и портирования.
Например, фирма Apple Computer использовала наноядро в версии Mac
OS Classic для PowerPC для того, чтобы транслировать аппаратные
прерывания, генерировавшиеся их компьютерами
на базе процессоров PowerPC в форму, которая могла «пониматься»
и распознаваться Mac OS для процессоров
Motorola 680x0. Таким образом, наноядро эмулировало
для Mac OS «старое» 680x0 железо. Альтернативой
было бы полное переписывание и портирование
кода Mac OS на PowerPC при переходе с 680x0 на них. Другие удачные примеры использования
наноядерных архитектур включают наноядро Adeos,
работающее как модуль ядра для Linux и
позволяющее выполнять одновременно с
Linux какую‐либо операционную систему реального
времени.
Наноядро может быть настолько маленьким
и примитивным, что даже важнейшие устройства,
находящиеся непосредственно на материнской
плате или на плате контроллера встраиваемого
устройства, такие, как таймер или программируемый контроллер прерываний,
обслуживаются специальными драйверами устройств, а не непосредственно ядром.
Такого рода сверхминималистичные наноядра
называют иногда пикоядрами.
Термин «наноядро» иногда неформально
используется для описания очень маленьких,
упрощённых и лёгких микроядер, таких, как L4.
Гибридное
ядро
Гибридное ядро — модифицированные микроядра, позволяющие для ускорения
работы запускать «несущественные» части
в пространстве ядра.
Имеют «гибридные» достоинства и недостатки.
Смешанное ядро, в принципе,
должно объединять преимущества монолитного
ядра и микроядра: казалось бы, микроядро
и монолитное ядро — крайности, а смешанное —
золотая середина. В них возможно добавлять
драйвера устройств двумя способами: и
внутрь ядра, и в пользовательское пространство.
Но на практике концепция смешанного ядра
часто подчёркивает не только достоинства,
но и недостатки обоих типов ядер.
К гибридным ядрам относят MacOS X, Windows NT, DragonFly BSD, поскольку значительная
часть системных служб и драйверов данных
систем реализуется в виде процессов пользовательского
режима, то есть активно используется
архитектура микроядра. Большинство гибридных
ядер поддерживают архитектуру подгружаемых модулей ядра,
но есть важное отличие от монолитно модульных ядер - подгружаемые модули ядра
и прочие компоненты гибридных ядер располагаются
в вытесняемой памяти и взаимодействуют
друг с другом путем передачи сообщений,
как положено в микроядерных операционных
системах. Кроме того, в отличии от микроядер,
как правило, большинство компонентов
ядра работают в одном адресном пространстве.
Таким образом гибридные ядра имеют отличия
как от монолитных и модульных ядер, так
и от микроядер.
Рис.7 Сравнение
Гибридного ядра в сравнении с Монолитным
ядром и Микроя
Заключение
В итоге хотелось бы сказать
что каждая архитектура ядра ОС имеет
,как ни странно, свои недостатки и преимущества,
но совместное использование нескольких
архитектур сводит к минимуму недостатки
Операционной системы в целом.