Boot, chargeur, noyau, services, X… Comment tout cela démarre-t-il ?
icone comprendre
Signature :
Linux Pratique

Retrouvez cet article dans : Linux Pratique Hors série8

Lorsque l'ordinateur est mis sous tension, un programme initial situé en mémoire morte de la carte mère s'exécute : le BIOS (Basic Input/Output System). Il est responsable des tâches basiques d'initialisation du matériel et effectue quelques vérifications sur celui-ci. Il dispose également d'un utilitaire de configuration accessible par une combinaison de touches particulière (variable selon le modèle) permettant de configurer certains aspects du matériel (fréquence processeur, délai d'accès à la mémoire, etc.) ou du démarrage, notamment l'ordre dans lequel les lecteurs sont parcourus à la recherche d'un secteur de démarrage. Pour chacun des lecteurs à tester, le BIOS vérifie si le premier secteur est bootable, c'est-à-dire héberge un programme chargé de démarrer le système d'exploitation (bootloader). Une fois qu'un lecteur satisfaisant cette condition est trouvé (typiquement, votre disque dur – mais cela peut aussi être une disquette, ou un live-CD), ce programme est exécuté. Si un système Linux est installé, il s'agira sans nul doute de GRUB ou de LILO. Chacun de ces deux programmes est capable de charger et démarrer un noyau Linux, mais également de démarrer d'autres systèmes d'exploitation comme Windows. Pour les systèmes multi-boot, ils vous donnent généralement le choix du système à démarrer sous forme de menu. GRUB va plus loin que cette simple tâche puisqu'il s'agit également d'un véritable mini-système d'exploitation, permettant de monter des partitions et de les explorer. Une fois que la sélection du système à démarrer est effectuée (en l'occurrence, Linux), le bootloader charge le noyau et l'exécute. C'est à partir de ce moment-là que Linux " démarre " véritablement. Le noyau effectue quelques opérations d'initialisation sur le matériel et lui-même, puis monte la partition correspondant à la racine du système de fichiers (celle-ci aura été spécifiée par le bootloader). Enfin, il exécute le programme init. Ce programme est chargé de terminer le démarrage du système en exécutant toutes les tâches situées dans le répertoire /etc/rcX.d, où X correspond au " niveau " d'exécution du système (généralement, 2 ou 5). Chacune de ces tâches est en fait un script chargé d'effectuer une opération spécifique (monter tous les systèmes de fichier) ou de démarrer un service (par exemple, KDM ou GDM pour le login graphique). Une fois que tous ces scripts sont exécutés, le système est entièrement démarré et peut être utilisé. Actuellement, la tendance des distributions est d'abandonner init, considéré comme dépassé, au profit d'autres schémas de démarrage. En effet, l'exécution séquentielle d'un ensemble de scripts offre très peu de flexibilité dans le démarrage. Quid du démarrage d'un service à la condition qu'un matériel soit présent ? Et si ce dernier n'a pas été branché au même endroit que d'habitude ? Pourquoi démarrer des services jamais utilisés ? Plusieurs solutions ont été développées, notamment initNG qui permet de déterminer l'ordre optimal de démarrage de ces scripts et de lancer parallèlement deux scripts indépendants, afin de réduire le temps de démarrage. Récemment, une alternative plus moderne a vu le jour. Upstart est un remplaçant à init démarrant les services non plus d'après une liste, mais à la réception d'évènements. Ceux-ci peuvent être le démarrage du système (auquel cas, on monte les systèmes de fichiers), mais également la présence d'une imprimante (démarrage du service d'impression), etc. Cette manière de faire permet de réduire grandement le temps de démarrage du système en l'affranchissant des services inutilisés, et en délayant l'activation de certains services à partir du moment où ils deviennent utilisés. Upstart est utilisé dans la toute récente Ubuntu 6.10 (Edgy), et d'autres distributions devraient l'adopter sous peu...

Retrouvez cet article dans : Linux Pratique Hors série8

Il y a : 0 commentaire(s)

Donnez votre avis

Vous devez avoir ouvert une session pour écrire un commentaire.

Brèves
Édito : Linux Pratique Essentiel N°24
Édito : Linux Pratique HS N°23
Édito : GNU/Linux Magazine 146
Édito : GNU/Linux Magazine HS N°58
Édito : Open Silicium N°5
Communication
Linux Pratique HS 23 – Communiqué de presse
Linux Pratique Essentiel N°24 – Communiqué de presse
Gnu/Linux Magazine sponsor et partenaire de PROLOGIN
Linux Essentiel partenaire des Rencontres du Libre de Lion sur Mer (Normandie)
GNU/Linux Magazine HS 58 – Communiqué de presse
prochainement moteur de recherches des articles
 
:
:
Jours heures minutes secondes
En kiosque
Le tout nouveau Linux Pratique Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...

Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site...

Lire la suite...