Что такое накладные расходы ядра?

Что такое (микро) накладные расходы ядра и какие компоненты увеличивают количество циклов в микроядре? Источники информации были бы более чем полезны.


person Ajan    schedule 11.08.2013    source источник


Ответы (2)


Микроядра стремятся сделать ядро ​​​​более безопасным / отказоустойчивым, удаляя большинство служб уровня ОС (драйверы, файловые системы, сети и т. д.) из привилегированного режима ядра и помещая их в выделенные приложения уровня пользователя. Тогда само микроядро лишь предоставляет механизмы для запуска этих приложений и их связи.

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

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

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

person BjoernD    schedule 09.10.2013