Table des matières

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.

Le kernel est un seul logiciel
  1. Une partie sera dédié au kernel appelé X? qui sera très rapde (~40x)
  2. 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 :

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 :

Il peut avoir comme fonction également :

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