![]() |
Le processus de démarrage |
Publié par :
Docenstoc
|
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/. Le processus de démarrage.
La fonction " init " se charge ensuite, entre autres opérations, d'exécuter successivement les programmes portant le nom " init " dans les répertoires /etc, /bin et /sbin. Notons que si le lancement de init s'achève sans erreur dans le premier ou le second répertoire, alors le noyau ne tentera pas de réitérer l'opération dans les autres répertoires. Nous reviendrons plus tard sur les agissements de cette fonction.
Les deux premiers processus démarrés se nomment " idle " et " init " et portent, par une fantaisie d'un certain Linus T., les numéros d'identification 0 et 1. La seule tâche affectée à idle est de consommer le temps processeur qui n'est pas exploité par les autres processus. idle se voit aidé dans son entreprise par le scheduler qui répartit en permanence le temps processeur entre tous les processus. Et si d'aventure aucun processus ne demande de temps de calcul, le scheduler s'en remet à idle pour occuper un peu votre foudre de guerre.
Heureusement, " init " se révèle un peu plus intéressant et efficace que cet imbécile de " idle ". Ce processus s'avère être le parent de tous les processus du système (hormis le singulier " idle "). Les processus sont en effet classés suivant une arborescence dont chaque branche définit un processus possédant obligatoirement un parent et éventuellement un ou plusieurs enfants. Le processus init effectue un contrôle des partitions puis effectue le montage du système de fichiers principal sous /.
Le programme " init " exécuté va ensuite permettre de faire la distinction entre divers modes de fonctionnement de Linux, appelés niveaux d'exécution. Chaque niveau d'exécution exécute une série de scripts de démarrage. Vous trouverez l'ensemble de ces scripts dans l'arborescence " /etc/rc.d/init.d ". Le fonctionnement de ces scripts est décrit plus en détails dans la partie suivante. Le choix du niveau d'exécution sous lequel Linux doit être démarré est défini par le fichier de configuration nommé /etc/inittab.
Le mode d'initialisation ne doit sous aucun prétexte être assigné aux modes 0 et 6 sans quoi vous rencontreriez de gros problèmes pour démarrer le système d'exploitation. Le mode 5 quant à lui permet de démarrer le système en niveau 3 avec en sus un gestionnaire de login graphique tel que kdm ou xdm.
Lors du passage à un niveau d'exécution donné, fichier nommé " rc " pilote ce passage. L'emplacement de ce fichier varie d'une distribution à l'autre. Dans notre cas, le fichier est nommé /etc/rc, qui est en réalité un lien symbolique vers /etc/rc.d/rc (il en va de même pour les répertoires /etc/rc*.d qui sont des liens vers /etc/rc.d/rc*.d). Ce fichier rc va définir deux variables d'environnement nommées " runlevel " et " previous " (ces noms peuvent également varier) contenant respectivement le niveau d'exécution demandé et le niveau d'exécution précédent.
Vient ensuite le changement de niveau à proprement parler. Ce changement consiste à exécuter une série de scripts destinés à démarrer et à arrêter des services. Les scripts sont placés dans les répertoires /etc/rc*.d (où * est le niveau d'exécution). Lors du changement de niveau, tous les scripts commençant par " K " (pour " kill ") dans le répertoire correspondant au niveau précédent seront exécutés avec l'argument " stop ". Ensuite, les scripts commençant par un " S " dans le répertoire du nouveau niveau seront lancé avec l'argument " start ". Les scripts K et S sont en fait des liens vers des scripts placés dans /etc/rc.d/init.d et qui exécutent des tâches différentes suivant l'argument (start ou stop).
Guide pratique - Comment créer un site web en 24h avec Joomla!
Cours de PHP par le PHP Documentation Group. Ce manuel peut être redistribué sous licence GNU General Public License. PHP,...
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/.
Méthodes de programmation systèmes par Emmanuel DESVIGNE. Document sous licence GNU/FDL.
Cours d'introduction aux architectures n-tier dispensé à TELECOM Bretagne. Cours sous licence Creative Commons :...
Livre Blanc : Industrialisation PHP par Alter Way. Document publié sous licence OpenContent.
Document sous licence CC: http://creativecommons.org/licenses/by-sa/2.0/fr/. Java pour le développement d'applications Web.
Aucun commentaire pour cette publication |