En informatique, qu'est-ce qu'un noyau?
Dans la plupart des systèmes d'exploitation, le noyau est le composant central. C'est le pont entre l'utilisateur et les applications et le matériel informatique. C'est également le mécanisme qui permet à l'ordinateur de gérer plusieurs utilisateurs et plusieurs tâches simultanément. Les types de noyaux sont le noyau monolithique, le micro-noyau, le noyau hybride, le nanokernel et le noyau.
Le noyau gère toutes les ressources système de l'ordinateur. Cela inclut le stockage à long terme, l'unité de traitement centrale (CPU), la mémoire à court terme et les périphériques d'entrée et de sortie. Lorsqu'une application a besoin de l'une de ces ressources, le noyau la rend disponible et complète la demande.
Cette gestion des ressources permet aux systèmes d'exploitation d'être à la fois multi-utilisateurs et multitâches. Le système d'exploitation n'effectue pas plus d'une tâche à la fois. Au lieu de cela, le noyau bascule les tâches à une vitesse telle que l'ordinateur semble effectuer plusieurs tâches. Le noyau est également responsable de s'assurer que les ressources utilisées par un utilisateur ou un processus ne violent pas la demande d'un autre utilisateur ou processus.
Il existe deux types principaux de noyaux: le noyau monolithique et le micro-noyau. Les noyaux monolithiques utilisent une méthode de supervision de la gestion des ressources dans laquelle tous les services du système d'exploitation sont exécutés dans le même espace adresse, appelé espace noyau. Certains noyaux monolithiques peuvent charger et décharger des modules exécutables. Cela étend les capacités du système d'exploitation tout en maintenant une quantité minimale de code s'exécutant dans l'espace du noyau à tout moment.
Les micro-noyaux n'exécutent que le minimum de services du système d'exploitation, tels que la gestion de la mémoire, la gestion des threads et la communication inter-processus dans l'espace noyau. Tous les autres services, tels que les pilotes de périphérique, les interfaces utilisateur et la gestion de fichiers, sont exécutés dans l'espace utilisateur. Le micro-noyau minimise considérablement la quantité de code en cours d'exécution en mode noyau.
Un noyau hybride est une combinaison du monolithique et des micro-noyaux. La plupart des services système du système d'exploitation sont exécutés dans l'espace du noyau, à la manière d'un noyau monolithique. D'autres services, tels que le système de fichiers et le système de fenêtrage, sont exécutés dans l'espace utilisateur.
Les autres types de noyau sont le nanokernel et l'exokernel. Le nanokernel utilise des pilotes de périphérique pour gérer la quasi-totalité des services. Exokernel utilise des programmes pour allouer des ressources physiques.