Noyau monolithique

Définition - Que signifie le noyau monolithique?

Un noyau monolithique est une infrastructure logicielle de système d'exploitation qui détient tous les privilèges pour accéder aux périphériques d'entrée / sortie (E / S), à la mémoire, aux interruptions matérielles et à la pile du processeur. Les noyaux monolithiques ont tendance à être plus gros que les autres noyaux car ils traitent de nombreux aspects du traitement informatique au niveau le plus bas, et doivent donc incorporer du code qui s'interface avec de nombreux périphériques, des canaux d'E / S et d'interruption, et d'autres opérateurs de matériel.

Cette forme de noyau est la base de Linux, Unix, MS-DOS et Mac OS. Les systèmes d'exploitation plus récents utilisent généralement un noyau hybride pour faciliter la maintenance et les améliorations du système d'exploitation.

Definir Tech explique le noyau monolithique

Les noyaux monolithiques conservent un accès privilégié complet sur les différents composants sous leur contrôle. Ceux-ci inclus:

  • Systèmes de fichiers
  • Communication interprocessus
  • Gestion des E / S et des périphériques
  • Gestion des processus fondamentaux
  • Notre matériel

La raison pour laquelle les architectures de noyau plus récentes telles que le micro-noyau ou la conception de noyau hybride sont préférées est que plus le noyau devient grand, plus il doit assumer de fonctions. Cela rend le code encombrant et plus lent à charger. Un autre inconvénient de la conception monolithique du noyau est que le code du noyau doit être modifié pour ajouter des fonctionnalités ou corriger des bogues. Cela nécessite généralement une recompilation du code du noyau et des pilotes matériels; cela peut même signifier une mise à niveau complète du système d'exploitation, ce qui est coûteux et réduit la confiance des utilisateurs.

Les architectures de noyau plus récentes ne conservent l'accès qu'à des privilèges limités et les transmettent à l'espace utilisateur via des serveurs, qui assurent la gestion des ressources indépendamment avec leurs propres privilèges. Ces serveurs fonctionnent en dehors de l'espace mémoire du noyau, ce qui permet des tailles de noyau beaucoup plus petites et une route de mise à niveau beaucoup plus efficace.

L'architecture de noyau monolithique est toujours utilisée pour des systèmes tels que les systèmes basés sur Linux, où un noyau en constante évolution qui est constamment mis à jour et remplacé fait partie de la culture du système d'exploitation. La nature rationalisée de Linux a maintenu son noyau monolithique à une taille acceptable, ce qui facilite l'ajout de fonctionnalités.