Экзоядро

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Экзоядро — ядро операционной системы, предоставляющее лишь функции для взаимодействия между процессами и безопасного выделения и освобождения ресурсов.

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

Основная идея операционной системы на основе экзоядра состоит в том, что ядро должно выполнять лишь функции координатора для небольших процессов, связанных только одним ограничением — экзоядро должно иметь возможность гарантировать безопасное выделение и освобождение ресурсов оборудования.

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

libOS может обеспечивать произвольный набор абстракций, совместимый с той или иной уже существующей операционной системой, например Linux или Windows.