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.
Le système linux dispose de 7 niveaux d’exécution numérotés de 0 à 6 :
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.
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
Vraiment génial ton article !!
Je vais pouvoir optimiser mon linux !
Superbe article.
Serait-il possible d'avoir une version imprimable de cet article ???
Excellent article bien clair! J'avais commencé empiriquement à optimiser ma mandriva 2k6…Maintenant je vais pouvoir continuer plus sérieusement 😉
Je ne pense pas que retirer quelques démons va accélerer le système dans la globalité, on va certes gagner en vitesse de démarrage surtout dans des distribs qui lancent des démons en veux-tu en voila au demarrage. Une fois lancés, les démons et les processus noyaux ne consomment pratiquement aucune ressource CPU et l'utilisation mémoire et généralement négligeable (cf la capture d'écran de la commande "top" en 1ère page). Et penser optimiser son linux en virant des terminaux "mode texte" me parait vraiment illusoire. A mon avis ce qui change vraiment la rapidité d'un linux ce sont les applications qu'on… Lire la suite »
Excellent article.
Ceci dit je conseille à tous ceux qui souhaitent se mettre à Linux d'utiliser une distribution plus propre que Mandriva…
Je dois avouer que je ne lisais plus vraiment les messages de la mailing-lis de zebulon.fr car n'utilisant plus vraiment Windows (sauf au bureau). Et quelle ne fut ma surprise de recevoir un fort beau mail avec le mot magique : Linux. Avec deux astuces Linux en plus 😉 Alors là je dis BRAVO !!! Continuez comme ça, messieurs, vous démontrer ainsi que Linux s'impose de plus en plus comme LE systême d'exploitation idéal et que le monopole de Microsoft est réellement terminé. Je continuerais donc à vous lire et si vous souhaitez des suggestions, n'hésitez pas à me contacter.… Lire la suite »
bravo et merci pour cet article.
demystifier ce systeme est une excellente demarche.
comme tout est accessible cela apparait comme tres complexe, d'autant que nous sommes habitues depuis de trop nombreuses annees a windows, cela semble tres deroutant.
ouais vouloir parler de Linux c'est bien, mais savoir en parler ces mieux… Linux n'est pas Windows ! avoir plus de 100 process est une chose normale parce que dans sa conception Sous Linux un programme n'a qu'une tache à remplire et doit le faire au mieux. donc on a foule de petits process et je ne vois pas en quoi killer getty par exemple qui consome 0% de CPU et 0% de mémoire va optimiser quoi que ce soit… pareil, stopper dbus est stupide à moins que tu veuille jouer au vieux geek qui monte encore ses volumes à… Lire la suite »
plop, Bah c’est pas le peu de ressources que consomme un ou l’autre petit process qui va faire gagner quoi que ce soit on est tous bien d’accord, mais en virer plusieurs aura forcement une consequence sur les perfs. Il faut bien se dire que c’est pas parceque le process consomme 0% quand tu le regarde, qu’il ne ralentit pas le systeme. Tout depend des evenement aux quels ils sont abonnes etc… Si tu as 3 process qui sont abonnés aux evenement d’un folder, chaque modif dans ce folder va interpeller les 3 process, c’est la que tu perd en… Lire la suite »