Comment ça fonctionne sous Linux
Le premier processus : init
Lorsque la machine boote, le noyau du système est chargé et décompressé, il s’exécute et s’initialise : réservation mémoire, prise en compte de la zone d’échange (swap), détection du matériel et chargement des pilotes des périphériques, montage du système de fichiers et enfin lance le 1er processus /sbin/init.
L’exécution effective de ce processus fondamental est entièrement contrôlée par le contenu du fichier de configuration /etc/inittab qui va déterminer le niveau d’exécution par défaut du système et charger le niveau S qui correspond au minimum vital avant de commencer à exécuter le script correspondant au niveau choisi.

Ici, c’est le niveau 2 qui est par défaut
Le système linux dispose de 7 niveaux d’exécution numérotés de 0 à 6 :

Niveaux d’exécution Linux
0 – correspond à la procédure d’extinction de la machine (tapez telinit 0 en root dans une console pour arrêter la machine en utilisant le runlevel 0, …)
6 – correspond à la procédure de redémarrage de la machine (idem)
1 – correspond au mode d’administration qui charge un minimum de choses et se conclut par l’accès à un shell root direct si la distribution est peu sécurisée ou avec demande de mot de passe dans le cas contraire
2, 3, 4 et 5 – permettent de déterminer différents niveaux d’exécution avec différents services chargés
2 – est normalement multi-utilisateur sans serveur X
5 – sous Mandriva, est associée à un système multi-utilisateur avec serveur X
Ces niveaux d’exécution permettent au système de déterminer dans quel répertoire rcX.d piocher les scripts de démarrage.
Sous Mandriva, ces scripts se retrouvent dans les répertoires /etc/rc.d/rc[0-6].d
Sous Debian, ces scripts se retrouvent dans les répertoires /etc/rc[0-6].d
En regardant de plus près ces répertoires, on s’aperçoit qu’ils ne contiennent que des liens symboliques vers les scripts du même nom contenus dans le répertoire /etc/rc.d/init.d (Mandriva) ou /etc/init.d(Debian).
Ces liens sont tous formés selon la même syntaxe [S|K]XX«nom_du_script».
S indique au système que le script doit être lancé avec l’opérande start (démarrage du service).
K indique au système que le script doit être lancé avec l’opérande stop (arrêt du service).
XX est un niveau d’exécution, on peut en effet modifier l’ordre dans lequel se lance ces scripts.

Le dossier /etc/init.d qui contient tout les processus
Getty et les terminaux «virtuels» :
Le programme getty, ou l’une de ses innombrables variantes, est le programme qui vous demande votre nom d’utilisateur sur les terminaux virtuels. Plus précisément, getty initialise le terminal, demande le nom d’utilisateur et lance le programme login en lui fournissant le nom saisi afin que celui-ci demande le mot de passe de cet utilisateur.
En mode multi-utilisateur, la console est partagée entre plusieurs terminaux dits « virtuels », parce qu’ils simulent la présence de plusieurs terminaux sur la même console.
Ces terminaux virtuels se partagent le clavier et l’écran, mais seulement un de ces terminaux peut accéder à la console à chaque instant : celui qui traite les caractères saisis au clavier et qui réalise l’affichage.
Chaque terminal virtuel utilise un fichier spécial de périphérique du répertoire /dev/. Le nom de ce fichier commence toujours par « tty » et est complété par le numéro du terminal. Ainsi, le fichier spécial de périphérique /dev/tty0 correspond au premier terminal virtuel, etc.
Si vous utilisez très peu les terminaux virtuels, il est possible d’en désactiver quelques-uns, en éditant le fichier /etc/inittab et en ajoutant un # devant les lignes.
Gardez-en au moins 1, c’est toujours utile de passer sur un terminal, ne serait-ce que pour mettre à jour son Window Manager.
Dernière mise à jour le 2 décembre 2018