next up previous contents Next: /etc/inittab. Up: init, ?getty et niveaux Previous: init, ?getty et niveaux   Table des matières  

33.1 init, le premier processus.

Après qu'il ait été décompressé en mémoire, le noyau commence son exécution et l'initialisation du matériel. La dernière opération qu'il réalise est le montage du système de fichiers qui contient nécessairement le programme /sbin/init que le noyau exécute. init est un des seuls programmes que le noyau exécute explicitement; init a la responsabilité de monter le système UNIX; son PID est 1.

Par ailleurs, une autre notion -celle de niveau d'exécution (ou run level)- a été introduite. Le niveau d'exécution est le mode sous lequel la machine fonctionne, sachant que la numérotation des niveaux s'étend de 0 à 9. Dans un niveau d'exécution donné, le système UNIX fonctionne avec un certain nombre de services. Ainsi, la machine pourrait être un serveur de courriel, ou une station de travail fonctionnant sous X selon le niveau d'exécution. Traditionnellement, les niveaux d'exécution sont:

0 ``Halt''.
1 Mode mono-utilisateur.
2 Mode multi-utilisateur, sans système de fichiers réseau (NFS).
3 Mode multi-utilisateur complet.
4 Non-utilisé.
5 Station de travail X-Window (identique à 3 + écran graphique).
6 Ré-amorçage (reboot).
7 Non-défini.
8 Non-défini.
9 Non-défini.


L'idée sous-jacente est qu'init commence à un niveau d'exécution donné qui peut être modifié de manière manuelle par le super-utilisateur. init utilise une liste de scripts pour démarrer et arrêter chacun des nombreux services associés à chaque niveau d'exécution. Ces scripts sont /etc/rc?.d/KNNservice ou /etc/rc?.d/SNNservice [Sur certains sytèmes, il s'agit de /etc/rc.d/rc?.d/...] NN,K ou S est un préfixe forçant l'ordre d'exécution (en effet, les fichiers sont ordinairement exécutés selon l'ordre alphabétique).

Tous ces scripts présentent start et stop comme options de la ligne de commandes, et ce pour initier ou arrêter un service.

Par exemple, lorsque init passe du niveau 3 au niveau 5 (disons), il exécute les scripts particuliers de /etc/rc3.d/ et /etc/rc5.d pour activer et désactiver les services idoines. Par exemple, ceci peut impliquer:

/etc/rc3.d/S20exim stop


next up previous contents Next: /etc/inittab. Up: init, ?getty et niveaux Previous: init, ?getty et niveaux   Table des matières  
1-01-2006