Учебники

9) Микроядро

Прежде чем мы изучим MicroKernel, давайте разберемся:

Что такое ядро?

Ядро является важной частью ОС, которая управляет системными ресурсами. Он также действует как мост между программным и аппаратным обеспечением компьютера. Это одна из первых программ, которая загружается при запуске после загрузчика. Ядро также отвечает за обеспечение безопасного доступа к оборудованию машины для различных программ. Он также решает, когда и как долго определенное приложение использует конкретное оборудование.

Что такое микроядро?

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

Микроядра и их пользовательские среды обычно реализуются на языках программирования C ++ или C с небольшой сборкой. Однако другие языки реализации возможны с некоторым кодированием высокого уровня.

Из этого руководства по операционной системе вы узнаете:

Что такое монолитное ядро?

Монолитное ядро ​​выполняет все основные системные службы, такие как управление процессами, управление памятью, обмен данными ввода / вывода, обработка прерываний, файловая система и т. Д. В пространстве ядра.

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

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

Микроядро — самая важная часть для правильной реализации операционной системы. На приведенной ниже диаграмме видно, что микроядро выполняет основные операции, такие как память, механизмы планирования процессов и межпроцессное взаимодействие.

Основанная на микроядре операционная система

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

Компоненты микроядра

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

Минимальные функциональные возможности, требуемые в микроядре:

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

Разница между микроядром и монолитным ядром

параметры Монолитное ядро микроядра
основной Это большой процесс, работающий в одном адресном пространстве Его можно разбить на отдельные процессы, называемые серверами.
Код Для написания монолитного ядра требуется меньше кода. Для написания микроядра требуется больше кода
Безопасность В случае сбоя службы вся система рушится в монолитном ядре. Если служба выходит из строя, это никогда не влияет на работу микроядра.
связь Это один статический двоичный файл Серверы общаются через IPC.
пример Linux, BSD, Microsoft Windows (95,98, Me), Solaris, OS-9, AIX, DOS, XTS-400 и т. Д. L4Linux, QNX, SymbianK42, Mac OS X, целостность и т. Д.

Преимущества микроядра

Вот преимущества / преимущества использования Microkernel

  • Архитектура микроядра небольшая и изолированная, поэтому она может функционировать лучше.
  • Микроядра безопасны, потому что включены только те компоненты, которые в противном случае нарушают работу системы.
  • Расширение системы более доступно, поэтому его можно добавить в системное приложение, не нарушая работу ядра.
  • Микроядра являются модульными, и различные модули можно заменять, загружать, модифицировать, даже не касаясь ядра.
  • Меньше сбоев системы по сравнению с монолитными системами.
  • Интерфейс микроядра помогает обеспечить более модульную структуру системы.
  • Не перекомпилируя, добавьте новые функции
  • Неисправность сервера также изолирована, как и любая другая пользовательская программа.
  • Система микроядра является гибкой, поэтому разные стратегии и API, реализованные на разных серверах, могут сосуществовать в системе.
  • Повышенная безопасность и стабильность приведут к уменьшению количества кода, работающего в режиме ядра

Недостаток микроядра

Вот недостатки / недостатки использования Microkernel:

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

Резюме:

  • Ядро является важной частью ОС, которая управляет системными ресурсами.
  • Микроядро — это программное обеспечение или код, который содержит минимальный необходимый набор функций, данных и функций для реализации операционной системы.
  • В подходе Monolithic Kernel вся операционная система работает как одна программа в режиме ядра
  • Микроядро — самая важная часть для правильной реализации операционной системы.
  • Микроядро включает в себя только основные функции системы.
  • Монолитное ядро ​​- это большой процесс, работающий в одном адресном пространстве, тогда как микроядро можно разбить на отдельные процессы, называемые серверами.
  • Архитектура микроядра мала и изолирована, поэтому она может функционировать лучше
  • Предоставление услуг в микроядерной системе обходится дороже, чем в обычной монолитной системе.