human
Différence entre monolithique et micro-noyau. A quelle catégorie appartient Linux ? Explique comme si j'avais cinq ans.
gpt
Un noyau monolithique exécute le fonctionnement dans « l'espace du noyau », une position privilégiée, et définit toutes les interfaces virtuelles sur le matériel. Lorsque vous écrivez un programme , vous ne dites pas au disque dur d' ouvrir un fichier particulier , encore moins comment le faire -- file - open est une abstraction fournie par le système d' exploitation , qu'il s'agisse d' un disque dur , d' un lecteur de CD ou autre appareil. Un micro-noyau est très petit en comparaison, et gère peu de services essentiels comme la gestion de la mémoire, et a peu d'interfaces génériques avec lesquelles les pilotes et les piles de protocoles peuvent interagir. Les pilotes et les piles de protocoles ne sont pas exécutés en privilège comme le noyau lui-même, ils sont exécutés dans l'espace utilisateur, qui a un ensemble différent d'autorisations et de contrôle d'accès sur le système, dicté par le noyau. L'espace utilisateur doit franchir des barrières logiques et obtenir la permission d'effectuer certaines tâches élevées. Les noyaux monolithiques ont aussi de l'espace noyau par rapport à l'espace utilisateur, c'est juste avec le micro-noyau, il y a plus dans l'espace utilisateur. L'avantage est que tout ce qui se trouve dans l'espace utilisateur peut tomber en panne ou être vidé et remplacé sans mettre tout le système hors service. Dans un noyau monolithique, s'il y a un bogue dans le code du système de fichiers, cela affecte tout le système. Les noyaux Exo sont également une branche passionnante de la conception du noyau - ils remplissent un rôle, multiplexer le matériel. C'est ça . Même la gestion de la mémoire est un programme d'espace utilisateur. Cela permet à ces services de bas niveau d'interagir les uns avec les autres sans nécessiter d'accès au noyau (un changement de contexte coûteux en calculs), et chaque service peut être personnalisé pour l'application afin d'obtenir de meilleures performances. Le noyau Linux est discutable, qu'il s'agisse d'un micro-noyau ou d'un noyau monolithique, ce n'est ni l'un ni l'autre, pas purement, du moins. Il fait une tonne de merde , de nombreux services et protocoles essentiels , et leurs interfaces , sont définis par le noyau , mais il peut également dériver cela vers des modules dans l' espace utilisateur .