Sur l’accueil
Carnet
Ce qui m’occupe, daté. Quand la ligne « En ce moment » de l’accueil change, l’ancienne ne s’efface plus : elle se range ici, de la plus récente à la plus ancienne. S’abonner (flux Atom)
Ce que j’apprends
Comment démarre un PC
J’apprends à lire le noyau de Linux, le cœur du système qui fait tourner mon ordinateur, pour écrire ensuite mon propre système dans le langage de programmation Rust.
- 1Le réveilLe processeur ne sait lire qu’une petite puce.
- 2Le firmwareRéveille la mémoire et cherche le chargeur.
- 3Le chargeurCopie le noyau dans la mémoire.
- 4Le noyauSe décompresse et prend tout en main.
- 5Le premier programmeLe parent de tous les autres.
On appuie sur le bouton. L’alimentation stabilise le courant et prévient la carte mère, la plaque où tout se branche, qui réveille le processeur, le cerveau de la machine. Il n’y a ni mémoire utilisable ni disque : le processeur sait seulement lire une petite puce de la carte mère, toujours à la même adresse. Elle contient le firmware, le premier programme.
Le firmware (sur un PC récent, il s’appelle UEFI) réveille la mémoire et fait l’inventaire du matériel : disques, clavier, écran. Son petit carnet de réglages lui dit où trouver la suite : dans une petite partie du disque prévue pour lui, le chargeur, celui qui charge le système.
Le chargeur (GRUB sur beaucoup de Linux) affiche le menu « quel système démarrer ? ». Il lit le disque, copie en mémoire le noyau, le cœur du système, et lui passe la main.
Le noyau (Linux, ou celui de Windows ou de macOS) se décompresse lui-même, prend le contrôle de tout le matériel, puis lance un seul programme.
Ce premier programme (systemd sous Linux) est le parent de tous les autres : il démarre les services, ces programmes qui travaillent en coulisses, le réseau, puis l’écran de connexion. Tout ce qu’on fera ensuite descend de lui.
Tout cela prend de quelques secondes à une minute. Le firmware et le chargeur sont souvent les plus longs : sur mon PC, le chargeur a attendu 36 secondes qu’on choisisse dans son menu.
Chacun fait juste ce qu’il faut pour réveiller le suivant : le firmware ne lit qu’une façon très simple de ranger les fichiers, le chargeur en lit plusieurs, le noyau les lit toutes.