“livre”
2006/8/26
page xiv
xiv Préface
Plan du livre
Afin d’en faciliter l’abord, le Chapitre 1, Introduction, présente ce que vous trouverez dans un
noyau Unix et comment Linux se place en comparaison des autres systèmes Unix usuels.
Le cœur de tout noyau Linux est la gestion de la mémoire. Le Chapitre 2, Adressage de la
mémoire, décrit les circuits des processeurs 80x86 qui permettent d’adresser les données en
mémoire et la manière dont Linux en exploitent les fonctions.
Les processus sont une abstraction fondamentale proposée par Linux et introduite dans le
Chapitre 3, Processus. Nous expliquerons également à ce moment comment chaque proces-
sus s’exécute en mode non-privilégié (User Mode) ou en mode privilégié (Kernel Mode). Les
transitions entre chacun de ces modes ne sont possibles qu’en utilisant des mécanismes du
matériel bien connus sous le nom d’interruptions ou exceptions. Tout cela est introduit dans le
Chapitre 4, Interruptions et exceptions.
En de nombreuses occasions, le noyau doit gérer un flot important d’interruptions générés
par plusieurs périphériques et processeurs. Des mécanismes de synchronisation sont néces-
saires afin que toutes ces requêtes soient traitées conjointement par le noyau. Nous étudie-
rons ces mécanismes dans le Chapitre 5, Synchronisation du noyau, pour des environnements
monoprocesseur ou multiprocesseurs.
Un type d’interruption particulier est vital afin que Linux mesure et gère correctement le
temps, plus de détails seront exposés dans le Chapitre 6, Mesure du temps.
Dans le Chapitre 7, Ordonnancement des processus, nous expliquerons comment Linux exécute,
tour à tour, chacun des processus actifs du système afin qu’ils puissent progresser dans leur
exécution.
Nous nous pencherons ensuite de nouveau sur la mémoire. Le Chapitre 8, Gestion de la mé-
moire, décrira un ensemble de techniques élaborées, nécessaires afin de gérer la ressource la
plus précieuse du système (juste après le processeur, c’est évident) : la mémoire disponible.
Cette denrée doit être distribuée entre le noyau Linux et les applications des utilisateurs. Le
Chapitre 9, Espace d’adressage des processus, vous expliquera comment le noyau fait face aux
demandes d’allocation de mémoire émises par les programmes voraces.
Le Chapitre 10, Appels système, abordera comment un processus qui s’exécute dans le mode
non-privilégié effectue des requêtes auprès du noyau tandis que le Chapitre 11, Signaux, décrit
la manière dont un processus peut envoyer des signaux de synchronisation à d’autres proces-
sus. Nous serons ensuite fin prêts à aborder un autre domaine essentiel, l’implémentation
des systèmes de fichiers par Linux. Plusieurs chapitres couvriront ce sujet. Le Chapitre 12,
Le système de fichiers virtuel, introduit le concept de couche intermédiaire qui permet l’im-
plémentation de beaucoup de systèmes de fichiers différents. Certains des fichiers de Linux
sont particuliers car ils ouvrent une porte d’accès aux périphériques matériels, le Chapitre 13,
Entrées/sorties et pilotes de périphérique, et le Chapitre 14, Pilotes de périphérique blocs, nous ex-
pliqueront comment fonctionnent ces fichiers spéciaux et les pilotes de périphériques sous-
jacents.
Un autre défi est lié au temps d’accès aux disques. Le Chapitre 15, Mémoire cache, nous mon-
trera comment un usage adroit de la mémoire vive permet de réduire les accès aux disques
afin d’améliorer considérablement les performances du système. En prenant appui sur les