Question Monolithique vs Micro-noyau


Quelles sont les différences entre un noyau monolithique et un microkernel en ce qui concerne la structure et la 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 ait réellement raison.

Quelqu'un s'il vous plaît m'éclairer.


8
2017-08-14 13:39


origine


Pour un peu de contexte historique, vous pouvez lire le Débat Tanenbaum-Torvalds à partir de 1992. - Dennis Williamson


Réponses:


La différence fondamentale réside dans le fait qu'un micro-noyau (MK) est très petit et ne fournit qu'un ensemble très minimal de services. La plupart des services du système d'exploitation considérés normalement 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 composants d'IPC, au lieu de simplement lire / écrire dans la structure de données à laquelle ils souhaitent accéder.

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

Étant donné que bon nombre des services fournis sont potentiellement exécutés dans l’espace utilisateur au lieu de l’espace noyau, ils ne peuvent pas facilement détruire d’autres processus. C'est un avantage de sécurité.

E.g dit que la partie de la pile de mise en réseau se trouvait dans l'espace utilisateur et qu'elle était compromise, elle risquait de ne pas perturber d'autres processus / tâches. En revanche, si la même partie de la pile réseau d’un noyau monolithique pouvait s’exécuter dans l’espace noyau, elle pourrait détruire d’autres processus, car elle serait privilégiée.


6
2017-08-14 14:11





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

kernel 

Image lisible fichier source sur Wikipedia.


1
2017-08-14 18:19