Что такое издержки ядра?

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

2 ответа

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

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

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

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

Я не знаю, проверили ли вы это или нет, но вот оно.

Другие вопросы по тегам