Монолитное ядро
Монолитное ядро — это операционной системы архитектура , в которой вся операционная система работает в пространстве ядра . Монолитная модель отличается от других архитектур, таких как микроядро. [1] [2] в том смысле, что он сам по себе определяет виртуальный интерфейс высокого уровня над компьютерным оборудованием . Набор примитивов или системных вызовов реализует все службы операционной системы, такие как управление процессами , параллелизм и управление памятью .
Драйверы устройств можно добавлять в ядро в виде модулей .
Примеры ядра монолитной архитектуры: Unix (включая Linux ), MS-DOS , Windows 9x .
Загружаемые модули [ править ]
Модульные операционные системы, такие как OS-9 , и большинство современных монолитных операционных систем, таких как OpenVMS , Linux , BSD , SunOS , AIX и MULTICS , могут динамически загружать (и выгружать) исполняемые модули во время выполнения.
Эта модульность операционной системы находится на уровне двоичного кода (образа), а не на уровне архитектуры. Модульные монолитные операционные системы не следует путать с архитектурным уровнем модульности, присущим серверно-клиентским операционным системам (и их производным, иногда продаваемым как гибридное ядро ), которые используют микроядра и серверы (не путать с модулями или демонами).
На практике динамическая загрузка модулей — это просто более гибкий способ обработки образа операционной системы во время выполнения, в отличие от перезагрузки с другим образом операционной системы. Модули позволяют легко расширять возможности операционных систем по мере необходимости. [3] Динамически загружаемые модули требуют небольших накладных расходов по сравнению со встраиванием модуля в образ операционной системы.
объем кода, выполняющегося в пространстве ядра Однако в некоторых случаях динамическая загрузка модулей (по мере необходимости) помогает свести к минимуму ; например, чтобы минимизировать нагрузку на операционную систему для встроенных устройств или устройств с ограниченными аппаратными ресурсами. А именно, выгруженный модуль не обязательно хранить в дефицитной оперативной памяти .
См. также [ править ]
- Экзоядро
- Гибридное ядро
- Ядро (операционная система)
- Микроядро
- Наноядро
- Дебаты Таненбаума и Торвальдса
Ссылки [ править ]
- ^ «Модульное системное программирование в Minix3» (PDF) .
- ^ «Сервер-Клиент, или многоуровневая структура» (PDF) . Проект микроядра PARAS. Архивировано из оригинала (PDF) 17 июля 2010 года . Проверено 15 июля 2009 г.
- ^ «Определение ядра» .