Skip to content Skip to sidebar Skip to footer

Le noyau Linux : des ports d’E-S à la gestion de processus

Auteur : Daniel P. Bovet | Marco Cesati

Traducteur : Sandrine Burriel | Michel Luczak | Sébastien Namèche

Date de saisie : 03/10/2006

Genre : Informatique

Editeur : O’Reilly, Paris

Prix : 55.00 € / 360.78 F

ISBN : 2-84177-243-8

  • Les présentations des éditeurs : 03/10/2006

Vous êtes-vous déjà demandé pourquoi Linux était aussi efficace ? Voulez-vous savoir si ses performances seront opérantes avec votre application préférée ? Avez-vous déjà jeté un oeil au code source du noyau ? Souhaitez-vous simplement comprendre comment fonctionne un système d’exploitation moderne ? Si vous acquiescez à chacune de ces questions, alors cet ouvrage est fait pour vous.

La lecture de cette troisième édition vous éclairera sur ce qui fait de Linux l’un des meilleurs systèmes et comment il fournit une réponse efficace au défi de l’ordonnancement de processus, de l’accès aux fichiers et à la gestion de la mémoire dans une multiplicité d’environnements. La plupart des structures de données importantes, de nombreux algorithmes ou astuces de programmation en usage dans le noyau sont étudiés ; dans de nombreux cas, les fragments de codes pertinents sont analysés ligne par ligne. Par ailleurs, de nombreuses discussions relatives à Intel enrichissent cette nouvelle édition qui couvre les noyaux 2.6.

Les auteurs introduisent chaque chapitre en expliquant l’importance et l’interaction entre le noyau et les utilitaires familiers des utilisateurs et des programmeurs. Les sujets abordés sont entre autres :

° La gestion de la mémoire et des processus, le swapping et le DMA
° Le système de fichiers virtuel (VFS) et les systèmes de fichiers Ext2 et Ext3
° Les pilotes de périphériques
° L’ordonnancement des processus
° Les signaux, les interruptions et les principales interfaces des pilotes de périphériques
° La mesure du temps
° La synchronisation du noyau
° La communication inter processus (IPC)
° L’exécution de programmes

Cet ouvrage ne s’adresse pas exclusivement aux administrateurs système ou atix programmeurs, mais aussi aux étudiants et aux passionnés qui souhaitent comprendre comment fonctionnent réellement les choses à l’intérieur de la machine.

Le noyau Linux est une visite guidée à travers des milliers de lignes de code : en route pour l’exploration !

Daniel P. Bovet, Docteur en Informatique, est adepte de l’informatique Libre depuis plus de 25 ans et a consacré ces dernières années à la vulgarisation du système Linux. Il enseigne à l’Université de Rome.

Marco Cesati, diplômé de Mathématiques et Docteur en Informatique, était administrateur système et programmeur Unix avant d’être chercheur à l’Université de Rome.

  • Les courts extraits de livres : 03/10/2006

Architecture du noyau

Comme nous l’avons évoqué auparavant, la plupart des noyaux Unix sont monolithiques : tous les sous-systèmes du noyau sont incorporés au sein d’un seul programme, le noyau, et exécutent des tâches pour le processus actif dans le mode privilégié. À l’opposé, les micro­noyaux de certains systèmes d’exploitation sont extrêmement dépouillés et ne contiennent que quelques primitives de synchronisation, un ordonnanceur basique et un mécanisme de communication inter-processus. Plusieurs processus système exécutés en marge du micro­noyau assurent les autres fonctions du système d’exploitation telles que la gestion des de­mandes d’allocation de mémoire, la communication avec les périphériques matériels ou la prise en charge des appels systèmes.
Bien que la recherche dans le domaine des systèmes d’exploitation s’oriente vers les micro­noyaux, ces derniers sont bien souvent moins véloces que les noyaux monolithiques car la transmission des messages entre les différents sous-systèmes surcharge leur fonctionnement. Cependant, d’un point de vue théorique, les micro-noyaux pourraient avoir des avantages sur leurs homologues. Ils obligent les programmeurs du système à adopter une approche modulaire car chaque sous-système est un programme relativement indépendant qui doit travailler de concert avec les autres sous-systèmes en utilisant des interfaces claires et bien définies. De plus, un système d’exploitation basé sur un micro-noyau peut être porté assez facilement vers d’autres architectures car toutes les composantes spécifiques au matériel sont généralement rassemblées dans le micro-noyau. Enfin, ces systèmes ont tendance à faire un meilleur usage de la mémoire vive disponible par rapport aux noyaux monolithiques car les processus du système qui ne sont pas utiles à un instant donné peuvent être supprimés6. Pour tirer partie de certains avantages des micro-noyaux sans introduire de problèmes de quelle autre fonction liée de manière statique au noyau.