meta données pour cette page
Les différents noyaux (kernel) d'un système
Le rôle du kernel est de gérer es ressrouces de l'ordinateur aux différents composants. Il permet la communication entre le matériel et les logiciels.
- Ses besoins : d'une partition virtuelle logé dans la mémoire vive (RAM).
- Une partie sera dédié au kernel appelé X? qui sera très rapde (~40x)
- Une autre partie sera dédié à l'espace utilisateur (userland)
Le noyau offe des fonction (utilisé pour accéder aux différentes ressources) à travers des appels systèmes. Il transmet / interprète les informations du matériel via des intérruptions (I/O). Le noyau en lui-même n'est pas compté comme une tâche. Mais il est un ensemble de processus dont des niveaux de privilèges sont différents.
Un processus est capable d'exécuter 1 seul prcessus à la fois. Les noyaux multi-tâche qui exécute des processus en parallèle, on utilise dans ce cas un ordonnanceur. La communication entre les services se fait grâce aux IPC.
Un ordonnanceur peut être :
- Coopératif : une tâche peut être mis en pause pendant l'exécution d'une autre.
- Préemptif : Capacité à stopper une tâche et d'en lancer une autre (en plus de la gestion des priorités).
Les noyaux Monolitiques
Nous avons par exemple : Linux
C'est multiplateforme et modulaire. Par exemple pour installer la 4.8 on procède comme suit :
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list apt-get update apt-get -t jessie-backports install linux-image-4.8.0-0.bpo.2-amd64 -y
Les micro-noyaux
Nous avons par exemple : Mach
Ils ont des fonctionnalités restraintes.
Ses fonctions :
- Changement d'un processus
- Execution d'un processus
- Gère les entrées (Input)
- Gère les sorties (Ouput)
- Propose une interface entre l'espace noyau et l'espèce utilisateur
- etc.
Il peut avoir comme fonction également :
- Gestion du système de fichier
- Support réseau / services réseau (NFS)
- Ordonnanceur spécialisé (bash)
- Fournissement les pilotes
Les micro-noyaux Hybrides
Nous avons par exemple : Windows NT de Microsoft, XNU de chez Apple ou même Xenomai (Open source)
⇒ Il est préférable d'écrire un logiciel dans l'espace utilisateur car il y a une protection de la mémoire.
En effet le gestionnaire de mémoire cache la localisation physique de la mémoire en plus de gérer la protection de la mémoire dédié aux processus. Un processus ne peut donc pas accéder à la mémoire d'un autre processus.
Ce page est un résumé de la documentation trouvé du wikipédia : https://fr.wikipedia.org/wiki/Noyau_de_syst%C3%A8me_d%27exploitation