La question du fonctionnement s’explique avec une autre question : qu’est-ce que n’est pas un noyau ? Le noyau n’est pas un cœur de processeur, mais le noyau du système d’exploitation. Un noyau n’est pas non plus une interface de programmation d’application ou un Framework.
Au lieu de cela, les systèmes d’exploitation multi-noyau peuvent utiliser différents noyaux d’un processeur multi-noyau comme un réseau de processeurs indépendants. Comment cela fonctionne-t-il ? Grâce à la structure particulière du noyau, qui se compose d’une série de composants différents :
- Sa couche inférieure étant proche de la machine, elle peut communiquer directement avec le matériel, le processeur et la mémoire. Le long des cinq couches, les fonctions du noyau diffèrent, de la gestion de processus au gestionnaire d’appareils. La couche supérieure, en revanche, n’a pas accès à la machine, mais crée la transition vers le logiciel.
- Les applications fonctionnent sur le système d’exploitation séparément du noyau et n’utilisent que ses fonctions. Sans le noyau, la communication entre le programme et le matériel ne serait pas possible.
- Plusieurs processus peuvent se dérouler en même temps via des noyaux multitâches. En principe, un seul processus peut être traité par un processeur, sauf s’il existe un système à noyaux multiples. Le changement rapide de processus, qui ressemble plutôt à du multitâche, est réglé par le planificateur.
On peut en déduire les quatre fonctions du noyau :
- Gestion de la mémoire : règle la quantité de mémoire vive utilisée et l’endroit où elle est utilisée.
- Gestion des processus : détermine quels processus le processeur peut utiliser, quand et pendant combien de temps.
- Pilote de périphérique : intermédiaire entre le matériel et les processus.
- Appel au système et sécurité : reçoit des demandes de service des processus.
Les fonctions d’un noyau, lorsqu’il est correctement implémenté, restent invisibles pour les utilisateurs. Il travaille dans son propre monde, l’espace du noyau. Les fichiers, les programmes, les jeux, les navigateurs, bref, tout ce que l’utilisateur voit, se passe dans l’espace utilisateur. L’interaction des deux mondes passe par une interface d’appel système, ou syscall en anglais.
Le noyau du système d’exploitation
Pour comprendre comment le noyau fonctionne dans le système d’exploitation, il est préférable de considérer qu’un ordinateur est divisé en trois parties :
- Matériel : base du système comprenant la mémoire de travail, le processeur et les dispositifs d’entrée et de sortie. L’unité centrale effectue des opérations de lecture, d’écriture et de calcul pour la mémoire.
- Kernel : noyau d’un système d’exploitation. Indique à l’unité centrale ce qu’elle doit faire.
- Processus utilisateurs : tous les processus en cours gérés par le noyau. Le noyau permet la communication entre les processus et les serveurs, également connus sous le nom de communication inter-processus (IPC).