АНАЛИЗ АРХИТЕКТУР ЯДЕР ОПЕРАЦИОННЫХ СИСТЕМ
к. т.н. доцент
Ядро — центральная часть операционной системы (ОС), которая обеспечивает всем приложениям координированный доступ к ресурсам компьютера. Монолитное ядро представляет собой одну большую программу, состоящую из отдельных компонентов, каждый из которых работает с одними и теми же системами данных. Этот тип ядер работает наиболее быстро и надежно. Но если нарушается работа хотя бы одного из компонентов, то всё ядро перестает нормально функционировать. Модульное ядро является модификацией монолитного ядра. Оно представляет собой одну программу и состоит из отдельных модулей. Нарушение работы одного из модулей не сказывается на работе остальных. При загрузке новых модулей перекомпиляция ядра не требуется. Микроядро это минимальная реализация функций ядра операционной системы. Оно содержит минимальный набор модулей, а все остальные модули находятся вне ядра, т. е. в сервисах. Преимуществом микроядра является его высокая степень надежности, так как сбой в одном из сервисов никак не затрагивает само микроядро. Экзоядро – тип ядра, отвечающий только за взаимодействие между процессами. Все остальные данные, которые должны находиться в ядре ОС, содержатся во внешних по отношению к нему библиотеках. В отличие от ОС на основе микроядра, ОС, базирующиеся на экзоядре, обеспечивают большую эффективность за счет отсутствия необходимости в переключении между процессами при каждом обращении к оборудованию. Наноядро это ядро с минимальными функциями, которое работает всего лишь с аппаратными прерываниями. Оно анализирует аппаратное прерывание (например, нажатие клавиши с символом), а затем передает его другим программам. Гибридное ядро – в ходе своей работы использует «несущественные» части системы, за счет чего увеличивается скорость процессов.
Все типы ядер имеют свои положительные и отрицательные свойства. В большинстве случаев современные ОС используют различные комбинации этих подходов, как правило, монолитных и микроядер. Запуск операционной системы с монолитным ядром под управлением микроядра объединят преимущества обоих ядер. Для работы с простыми приложениями следует использовать микроядра, наноядра, гибридные ядра и экзоядра. Для работы с программами, требующими сложных вычислений или выполнения нескольких функций одновременно, следует использовать монолитные и модульные ядра.


