Noyau monolithique vs micro

8

Quelles sont les différences entre un noyau monolithique et un micro-noyau en termes de structure et de sécurité. Mon ami m'a dit que les systèmes Linux ont un noyau monolithique et ne sont donc pas plus faciles à pirater, mais je ne pense pas qu'il était en fait correct.

Quelqu'un, s'il vous plaît, éclaire-moi.

Prasoon Saurav
la source
Pour un peu de contexte historique, vous pouvez lire le débat The Tanenbaum-Torvalds de 1992.
Pause jusqu'à nouvel ordre.

Réponses:

6

La différence fondamentale est qu'un micro-noyau (MK) est très petit et ne fournit qu'un ensemble de services très minimal. La majorité des services du système d'exploitation normalement considérés sont fournis par des processus distincts qui s'exécutent en dehors du noyau et dans un mode moins privilégié. Ces processus doivent communiquer via certains IPC, au lieu de simplement lire / écrire dans la structure de données à laquelle ils veulent accéder.

Les MK ont tendance à être assez faciles à porter car le noyau est petit, l'effort de portage est faible.

Étant donné qu'un grand nombre des services fournis s'exécutent potentiellement dans l'espace utilisateur au lieu de l'espace noyau, ils ne peuvent pas facilement supprimer les autres processus. C'est un plus pour la sécurité.

Par exemple, disons que la partie de la pile de mise en réseau se trouvait dans l'espace utilisateur et qu'elle était compromise, elle pourrait ne pas être en mesure de perturber d'autres processus / tâches. Alors que si cette même partie de la pile réseau dans un noyau monolithique pouvait s'exécuter dans l'espace du noyau, si elle était compromise, elle pourrait mettre à la poubelle d'autres processus, car elle serait privilégiée.

Jason Tan
la source
1

Pour illustrer le discours de Jason, voici une illustration pour voir la différence entre le noyau micro-hybride et le noyau monolithique:

noyau

Fichier source d' image lisible sur Wikipédia .

Studer
la source