Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
5-1
1. Intrdocution
Un système d’exploitation sert principalement à rendre un calculateur « utilisable ».
Ainsi, les logiciels peuvent communiquer entre eux, utiliser le processeur, la mémoire, le
disque dur, la carte son, le clavier, la souris, la carte graphique, la carte réseau et tout
autre matériel pouvant être ajouté à la configuration de base. La communication avec le
matériel passe obligatoirement par le « noyau ». Ce dernier est en réalité un
« gestionnaire de ressources ».
Système d’exploitation
2. Le noyau Linux
Le noyau Linux, créé en 1991 par Linus Torvalds, fait partie de la famille des noyaux
monolithiques. C’est à dire que toutes ses fonctionnalités et composants sont
regroupés dans un programme unique. Il est exécuté durant la phase de démarrage du
système selon le diagramme suivant :
5-2
Le noyau Linux n’est qu’un fichier qui se trouve dans le dossier /boot. Son nom, par
convention, commence par vmlinuz-X.Y.Z.p-Vtxt.
La commande uname renseigne sur le noyau et la machine dans laquelle il est installée.
5-3
3. Composition du noyau Linux
Le noyau Linux est libre. Ses sources sont disponibles. Il est donc possible de le
recompiler pour l’adapter finement à ses besoins, de le modifier, d’y rajouter des
extensions. A partir de la version 2.6, le noyau linux, qui est resté toujours monolithique,
est devenu aussi modulaire. Cette modularité apporte au noyau la possibilité d’ajouter
ou d’enlever des modules au noyau, sans avoir le besoin de redémarrer le système.
Le noyau Linux peut être représenté par l’ensemble des blocs fonctionnels suivants :
5-4
• Virtual File System (VFS) :
C’est une interface logicielle qui se présente comme un système de fichiers
virtuels, permettant ainsi aux applications d’accèder aux différents périphériques
de stockage sans préoccupations des spécifités techniques de leurs systèmes de
fichiers réels. Chaque périphérique est vu par le système comme un « fichier ».
• Network Stack (NS) :
L’apparition de Linux a coïncidé avec celle de l’Internet. Linux regroupe une riche
pile de protocoles réseau.
• Device Drivers (DD) :
Chaque périphérique nécessite pour son bon fonctionnement un « pilote
particulier ». Ce programme informatique joue le rôle d’interface logicielle entre
le matériel et le reste du système. Il met à la disposition du noyau un ensemble
d’API (Application Programming Interface) génériques permettant de répondre
aux requêtes des applications executées dans l'espace utilisateur.
La commande lsmod permet de lister les modules du noyau qui sont chargés dans la
mémoire. Ces modules s’exécutent dans l’espace du noyau. Ils sont paramétrables. Ils
peuvent être chargés et déchargés à la demande évitant ainsi un redémarrage de la
machine.
5-5
Pour chaque module on peut lire son « nom », sa « taille » ainsi que le « nombre des
modules » l’utilisant.
a) La commande : modinfo
La commande modinfo affiche des informations sur un module donné. Voici un exemple
sur le module psmouse:
5-6
b) La commande : insmod
La commande insmod : charge un module dans la mémoire, sans gérer ses dépendances,
qui restent à la charge de l’uitlisateur.
Exemple : chargement du module psmouse
c) La commande : rmmod
La commande rmmod décharge un module de la mémoire, sans gérer ses dépendances.
Exemple : déchargement du module psmouse. Suite à ce déchargement, vous allez
constater l’arrêt de fonctionnement de votre souris.
d) La commande : modprobe
La commande modprobe charge un module dans la mémoire, tout en gérant ses
dépendances en se basant sur les listes de dépendances générées par la commande
depmod. Cette commande est fortement recommandée pour la manipulation des
modules. Elle utilise les deux commandes preçédentes. Elle offre plus de souplesse et
d’avantages à l’utilisateur par rapport à insmod et rmmod.
5-7
6. Paramétrage des modules
Le paramétrage d’un module donnée peut se faire soit par ligne de commande soit à
travers un fichier de configuration. Vous avez vu dans la section preçédente que la
commande la plus recommndée pour la manipulation des modules est modprobe. Sous
la distribution Ubuntu, la configuration de cette commande est associée à un dossier
nommé : modprobe.d. Il contient des fichiers (textes) permettant de paramétrer les
différents modules.
Voici un extrait du contenu du fichier alsa-base.conf (pour la gestion des cartes son).
5-8
Les fichiers de configuration utilisent les instructions suivantes : alias, options, install,
remove, blacklist.
5-9
La (re)compilation d’un noyau nécessite un ensemble d’outils logiciels, à savoir :
• le compilateur C
• les bibliothèques de développement C standard
• la bibliothèque ncurses (pour menuconfig)
• la bibliothèque qt3 (pour xconfig)
• les outils Make
• les modutils
• mkinitrd
Ces outils sont disponibles dans les différentes distributions GNU/Linux.
8. Conclusion
Dans ce chapitre, vous avez pu découvrir les aspects clés du noyau Linux. La maîtrise de
ces aspects devra passer par une lecture (technique) approfondie et une pratique de la
programmation des modules, choses qui restent abordables pour toute personne
s’interessant au noyau Linux.
5-10