Les processus du système


Le BOOTSTRAP

Le bootstrap est un petit programme d'amorçage qui permet d'en lancer un plus gros qui sous unix sera ce que l'on nomme couramment le noyau (kernel). Le bootstrap est chargé automatiquement lors du boot du système (Cette opération à lieu à chaque fois que le système est mis sous tension).

 

Le noyau

La première chose que le noyau fait est d'initialiser les interfaces. Il initialise aussi quelques structures de données qui incluent les buffers de blocs, les buffers d'inodes et variables qui indiquent la quantité de mémoire centrale disponible.

 

PROCESSUS 0

Après ces différentes initialisations, le noyau crée le processus 0 en allouant une structure de données et en installant les pointeurs sur cette structure dans le premier élément de la table des processus. Le processus 0 est unique et est donc constitué d'une structure utilisée par le noyau(sans code) lors des opérations de gestion des processus.

La valeur 0 car il s'agit du tout premier processus véritablement créé par le système. Son PID (Process Id) vaut donc 0. Il sera alors possible de voir ce processus. Cependant, on évitera de taper une commande du genre kill -9 0 !!! Cela aurait pour effet d'arrêter le processus, mais pas du tout convenablement !!! Il existe des commandes pour cela, qui permettront d'arrêter correctement le système (vidage de la cache, ...). Heureusement, ce processus appartient au root, il est donc difficile pour un utilisateur de lancer ce genre d'opération ...ouf !


PROCESSUS 1

Généralement, il s'agit du processus appelé processus INIT. Il se charge d'installer et de configurer le système. Son identifiant est 1 (ou PID = 1).

init du System V permet aussi de définir des « niveaux d'exécution » (runlevels).

Le processus de connexion commence à l’exécution du daemon /etc/init (parfois dans sbin), pendant l'amorçage du système d'exploitation. Le processus init lit les instructions situées dans le fichier /etc/inittab, et les exécute dans l'ordre. init est souvent responsable de l'exécution du programme /etc/getty pour chaque terminal connecté au système.

La commande init q : force init à relire le fichier initab
La commande init n avec n pouvant prendre les valeurs suivantes :
0 = halte
1 = mono utilisateur
2, 3, 4 & 5 = multi utilisateurs
6 = reboot

Il peut y avoir encore d'autres valeurs suivant le système utilisé.

Voir le processus INIT

 

GETTY

Ce programme surveille la connexion d'un terminal. Lorsqu'une connexion est établie, GETTY se remplacera par le processus LOGIN.

LOGIN

Ce processus permet de vérifier l'existance d'un utilisateur et que le mot de passe et bon avant de donner la main (en se remplaçant) au programme auquel est autorisé cet utilisateur (généralement un shell).