ФЭНДОМ


Микроядро архитектурно является практически полной противоположностью монолитному ядру, в том числе и в улучшенном, модульном варианте. Принципиальная разница между ними заключается в том, что в случае микроядерной архитектуры функции, возлагаемые на ядро операционной системы, разделяются между несколькими независимыми модулями, которые выполняются в отдельных адресных пространствах и по сути ничем, кроме функций, не отличаются от обычных прикладных программ. «Идеальное» микроядро в такой системе выполняет лишь одну функцию: обеспечивает обмен информацией между различными программами, в том числе между модулями, образующими «большое ядро» ОС и выполняющими в совокупности те же функции, что одно монолитное ядро.

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

В действительности всё обстоит сложнее. В частности, микроядерная архитектура не является панацеей от всех бед, поскольку определённые сбои всё равно будут носить фатальный характер, когда нормальное восстановление работоспособности после них окажется невозможным (например, сбой, приводящий к разрушению информации о выполняющихся в системе процессах). Кроме того, «идеальная» микроядерная система окажется очень медленной, поэтому на практике микроядро, как правило, реализует значительно больший набор функций, чем простое обеспечение коммуникации между разными компонентами системы. В результате провести абсолютно чёткую и формальную границу между микроядерной системой и ОС с монолитным модульным ядром не представляется возможным, и деление здесь больше интуитивное: если основные функции ядра сосредоточены в собственно ядре, то перед нами система с модульным ядром, а если часть основных функций реализуется отдельными программами, то это микроядерная система.

Примеры

Наиболее заметными представителями микроядерной архитектуры на сегодняшний день являются операционные системы QNX и Symbian OS, хотя таких систем больше. Можно отметить, например, учебную по сути Minix3 и пока не доведённую до реально работоспособного состояния GNU Hurd. Велико значение операционных систем с гибридными ядрами Mac OS X и Windows NT, использующих архитектуру микроядер.

Ссылки