Quelle est la différence entre microkernel et monolithique?

le différence principale entre micro-noyau et noyau monolithique est que le Les systèmes basés sur un micro-noyau ont des services OS et un noyau dans des espaces d'adressage séparés, tandis que les systèmes monolithiques basés sur un noyau ont des services OS et un noyau dans le même espace d'adressage.

Le micro-noyau et le noyau monolithique sont deux types de noyaux. Le noyau est le noyau du système d'exploitation. Par conséquent, il existe une zone de mémoire spéciale pour stocker le code critique du noyau. Le noyau est un composant important car il assure le bon fonctionnement de l’ensemble du système. Il effectue la gestion du matériel et des processus, la gestion des fichiers et de nombreuses autres tâches..

Zones clés couvertes

1. Quel est microkernel
     - Définition, fonctionnalité
2. Qu'est-ce que le noyau monolithique?
     - Définition, fonctionnalité
3. Quelle est la différence entre microkernel et monolithique?
     - Comparaison des différences clés

Mots clés

Noyau, micro-noyau, noyau monolithique, système d'exploitation

Quel est microkernel

Le micro-noyau est un type de noyau qui permet la personnalisation du système d'exploitation. Il fonctionne en mode privilégié et fournit une gestion d'espace d'adressage de bas niveau et une communication inter-processus (IPC). De plus, les services du système d'exploitation, tels que le système de fichiers, le gestionnaire de mémoire virtuelle et le planificateur de processeur, sont au-dessus du micro-noyau. Chaque service a son propre espace d'adressage pour les sécuriser. En outre, les applications ont également leurs propres espaces adresse. Par conséquent, il existe une protection entre les applications, les services OS et le noyau.

Figure 1: Architecture du micro-noyau

Lorsque l'application demande les services du système d'exploitation pour un service, les services du système d'exploitation communiquent entre eux pour fournir le service requis à l'application. Ici, la communication inter-processus (IPC) aide à établir cette communication. Globalement, les systèmes d’exploitation basés sur un micro-noyau offrent un grand niveau d’extensibilité. Il est également possible de personnaliser les services du système d'exploitation en fonction des exigences de l'application..

Qu'est-ce que le noyau monolithique?

Dans les systèmes monolithiques basés sur un noyau, chaque application possède son propre espace d'adressage. Par conséquent, chaque application est sécurisée. En outre, le noyau contient tous les services du système d'exploitation. Par conséquent, les applications peuvent demander des services au noyau. Certains services du système d'exploitation sont le système de fichiers, le planificateur d'UC, l'accès au réseau, le gestionnaire de mémoire, etc. Cependant, le système d'exploitation se trouve dans un espace d'adressage séparé. Par conséquent, il est sécurisé des applications normales et des applications défectueuses..

Figure 2: Architecture monolithique basée sur un noyau

Si une application nécessite un service, l'espace d'adressage matériel de l'application bascule vers l'espace d'adressage matériel du système d'exploitation pour l'exécuter..

Différence entre le micro-noyau et le noyau monolithique

Définition

Un micro-noyau est un type de noyau qui fournit des mécanismes tels que la gestion de l'espace d'adressage de bas niveau, la gestion des threads et la communication interprocessus pour implémenter un système d'exploitation. En revanche, un noyau monolithique est un type de noyau dans les systèmes d'exploitation où tout le système d'exploitation fonctionne dans l'espace du noyau. Ces définitions expliquent la principale différence entre micro-noyau et noyau monolithique.

Services OS

Une différence notable entre le noyau micro-noyau et monolithique réside dans le fait que, dans un système basé sur un micro-noyau, les services de système d'exploitation et le noyau sont séparés. Mais dans un système monolithique, le noyau contient les services du système d'exploitation.

La vitesse

La vitesse est également une différence majeure entre le micro-noyau et le noyau monolithique. Un système à micro-noyau est lent alors qu'un système à noyau monolithique est rapide.

Les échecs

Dans un système basé sur un micro-noyau, une défaillance d'un composant n'affectera pas les autres composants. Toutefois, dans un système basé sur un noyau monolithique, une défaillance d’un composant affectera l’ensemble du système. C’est pourquoi il s’agit également d’une différence importante entre les noyaux microkernel et monolithique..

Personnalisation

Une autre différence entre le micro-noyau et le noyau monolithique est qu’il est plus facile d’ajouter de nouvelles fonctionnalités au micro-noyau; par conséquent, il est plus personnalisable. Cependant, il est difficile d’ajouter de nouvelles fonctionnalités au noyau monolithique; donc, il n'est pas personnalisable.  

Ordre de grandeur

De plus, la taille du micro-noyau est plus petite que celle du noyau monolithique..

Conclusion

Le micro-noyau et le noyau monolithique sont deux types de noyaux. La différence entre un noyau microkernel et monolithique réside dans le fait que les systèmes basés sur un microkernel ont des services de système d'exploitation et un noyau dans des espaces d'adressage séparés, tandis que le système monolithique à base de noyau comporte des services OS et un noyau dans le même espace d'adressage..

Référence:

1. Structure monolithique - Georgia Tech - Systèmes d'exploitation avancés, Udacity, 23 février 2015, disponible ici.
2. Structure de système d'exploitation basée sur un micro-noyau - Georgia Tech - Systèmes d'exploitation avancés, Udacity, 23 février 2015, disponible ici.