Микроядро – минимальная стержневая часть операционной системы, служащая основой модульных и переносимых расширений.
Основная идея, заложенная в технологию микроядра (ОС или графический интерфейс), заключается в том, чтобы конструировать необходимую среду верхнего уровня, из которой можно легко получить доступ ко всем функциональным возможностям уровня аппаратного обеспечения, ядро служит стартовой точкой для создания системы.
Искусство разработки микроядра заключается в выборе базовых примитивов, которые должны в нем находиться для обеспечения необходимого и достаточного сервиса. В микроядре содержится и исполняется минимальное количество кода, необходимое для реализации основных системных вызовов:
- передача сообщений;
- организация взаимодействия между внешними по отношению к микроядру процессами;
- поддержка управления прерываниями и др.
Микроядро – маленький модуль системного программного обеспечения, работающий в наиболее приоритетном состоянии компьютера и поддерживающий остальную часть операционной системы, рассматриваемую как набор серверных приложений.
Исполняемые микроядром функции ограничены в целях сокращения его размера и максимизации количества кода, работающего как прикладная программа.
Микроядро включает только те функции, которые требуются для определения набора абстрактных сред обработки для прикладных программ и для организации совместной работы приложений. Микроядро обеспечивает пять различных типов сервисов:
- управление виртуальной памятью;
- задания и потоки;
- межпроцессные коммуникации;
- управление вводом/выводом и прерываниями;
- сервисы набора Хоста и процессора.
В качестве приложения ядра работают следующие подсистемы и функции операционной системы:
- система управления файлами;
- поддержка внешних устройств;
- традиционные программные интерфейсы.
Микроядра проще, чем ядра монолитных или модульных операционных систем. Функция операционной системы разбивается на модульные части, которые могут быть сконфигурированы целым рядом способов.
Поскольку микроядра малы и имеют сравнительно мало требуемого к исполнению кода уровня ядра, они обеспечивают удобный способ поддержки характеристик реального времени