Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
materiel:modules_linux [Le 26/03/2007, 19:40] 81.248.193.197materiel:modules_linux [Le 22/03/2008, 18:03] (Version actuelle) – suppression suite à redirection YoBoY
Ligne 1: Ligne 1:
-Rédigé par [[utilisateurs:kmeleon|Kmeleon]] 
  
- 
-====== Les modules Linux ====== 
- 
- 
- 
- 
-===== Présentation ===== 
- 
-Un module est un morceau de code permettant d'ajouter des fonctionnalités au noyau : pilotes de périphériques matériels, protocoles réseaux, etc... 
- 
-Il peut être chargé dynamiquement sans avoir besoin de recompiler le noyau (avec la commande ''insmod'' ou ''modprobe'') ou de redémarrer le système. 
- 
-Les modules sont exécutés dans l'espace mémoire du noyau : 
-  * Ils possèdent le contrôle total de la machine 
-  * Ils peuvent détourner ou créer un appel système 
- 
- 
-===== Caractéristiques ===== 
- 
-  * Ajoutent une fonctionnalité donnée au noyau (pilotes, support système de fichier, etc...) 
-  * Peuvent être (dé)chargés à tout moment, quand leur fonctionnalité est requise. Une fois chargés, ils ont accès à tout le noyau.  
-  * Aucune protection particulière. 
-  * Utiles pour garder une image du noyau à une taille minimum (essentiel pour les distributions GNU/Linux pour PCs). 
-  * Permettent de supporter l'incompatibilité entre pilotes (on charge soit l'un soit l'autre, mais pas les deux) 
-  * Permettent de fournir des pilotes binaires (mauvaise idée), utilisables sans avoir à recompiler le noyau. 
-  * Les modules permettent de développer des pilotes sans redémarrer: chargement, test, déchargement, recompilation, chargement... 
-  * Les modules (pilotes) peuvent aussi être compilés statiquement dans le noyau 
- 
-===== Gestion des modules ===== 
- 
-La commande lsmod: 
-'' 
-lsmod\\ 
-Module                  Size  Used by\\ 
-rt2500                176612  1\\ 
-ppdev                   9220  0\\ 
-speedstep_lib           4484  0\\ 
-cpufreq_userspace       4696  0\\ 
-cpufreq_stats           5636  0\\ 
-freq_table              4740  1 cpufreq_stats\\ 
-.......sortie coupée......''\\ 
-.. 
- 
-On voit que le module "freq_table" est utilisé par "cpufreq_stats". Il y a des dépendances entre les modules. Il faut en tenir compte lorsque l'on veut décharger des modules. 
- 
- 
- 
-==== Lister les modules ==== 
- 
-==== Chargement/Dechargement d'un module ==== 
- 
-==== Empécher le chargement d'un module ====