ФЭНДОМ


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

Модульное ядро, как видно из его названия, делится на отдельные загрузочные модули ядра, причём в оперативную память они могут загружаться как все вместе, так и по отдельности, что зависит от особенностей системы, от конфигурации аппаратных средств и настроек, установленных пользователем. Однако, как и в случае монолитного ядра, все модули ядра по-прежнему находятся в общем адресном пространстве и исполняются в режиме ядра, то есть не вытесняются другими задачами.

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

Примеры

Такие распространённые современные операционные системы, как Linux и NetBSD, являются бесспорно ОС с монолитным модульным ядром.

Также термин модульное ядро иногда адресуют и к различным «гибридным ядрам» от DragonFly BSD, MacOS X до Windows NT, что не является верным, т.к. большинство системных служб и драйверов данных систем реализуется в виде процессов пользовательского режима, то есть активно используется архитектура микроядра, и следовательно относятся, как минимум, к гибридным ядрам. Это связано с тем, что данные гибридные ядра поддерживают архитектуру загузочных модулей ядра, но здесь также есть важное отличие - подгружаемые модули ядра и прочие компоненты ядер Windows NT и MacOS X располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как положено в микроядерных операционных системах.

Ссылки

Архитектура ядра