En informatique, qu'est-ce qu'un noyau?
Dans la plupart des systèmes d'exploitation informatique, le noyau est le composant central. Il s'agit du 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 l'Exokernel.
Le noyau gère toutes les ressources système de l'ordinateur. Cela comprend le stockage à long terme, l'unité centrale de traitement (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 rend la ressource disponible et termine la demande.
Cette manipulation des ressources permet aux systèmes d'exploitation d'être à la fois multi-utilisateurs et multitâches. Le système d'exploitation n'accompagne pas réellement plus d'une tâche à la fois. Au lieu de cela, le noyau commandant des tâches à une vitesse si élevée que l'ordinateur semble effectuer plusieurs tâches. Le noyau alIl est donc responsable de s'assurer que les ressources utilisées par un utilisateur ou un processus ne sont pas violées la demande d'un autre utilisateur ou d'un autre processus.
Il y a deux principaux types de noyaux le noyau monolithique et le micro-noyau. Les noyaux monolithiques utilisent une méthode de supervision de gestion des ressources dans laquelle tous les services du système d'exploitation sont exécutés dans le même espace d'adressage, appelé espace du 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 conservant une quantité minimale de code fonctionnant dans l'espace du noyau à tout moment.
Les microkernels exécutent uniquement la quantité minimale de services de système d'exploitation, tels que la gestion de la mémoire, la gestion des threads et la communication interproduite dans l'espace du noyau. Tous les autres services, tels que les pilotes de périphériques, les interfaces utilisateur et la gestion des fichiers, sont exécutés dans l'espace utilisateur. Le micro-noyauminimise gravement la quantité de code qui s'exécute en mode noyau.
Un noyau hybride est une combinaison des monolithiques et des micro-noyes. La plupart des services système du système d'exploitation sont exécutés dans l'espace du noyau, comme un noyau monolithique. Il existe d'autres services, tels que le système de fichiers et le système de fenêtres, qui sont exécutés dans l'espace utilisateur.
Les autres types de noyau sont le nanokernel et l'exocernel. Le nanokernel utilise des pilotes d'appareils pour gérer presque tous les services. L'exokernel utilise des programmes pour allouer des ressources physiques.