Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
materiel:modules_linux [Le 26/03/2007, 19:36] 81.248.193.197 |
— (Version actuelle) | ||
---|---|---|---|
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 | ||
- | cpufreq_powersave 1920 0 | ||
- | cpufreq_ondemand 6428 0 | ||
- | cpufreq_conservative 7332 0 | ||
- | video 16260 0 | ||
- | tc1100_wmi 6916 0 | ||
- | sony_acpi 5644 0 | ||
- | pcc_acpi 12416 0 | ||
- | hotkey 11556 0 | ||
- | dev_acpi 11140 0 | ||
- | container 4608 0 | ||
- | button 6672 0 | ||
- | acpi_sbs 19980 0 | ||
- | battery 9988 1 acpi_sbs | ||
- | ac 5252 1 acpi_sbs | ||
- | i2c_acpi_ec 5120 1 acpi_sbs | ||
- | ipv6 265856 8 | ||
- | vfat 13440 0 | ||
- | fat 53020 1 vfat | ||
- | lp 11844 0 | ||
- | joydev 10048 0 | ||
- | tsdev 8000 0 | ||
- | usblp 13056 0 | ||
- | pcmcia 40508 0 | ||
- | floppy 62148 0 | ||
- | parport_pc 35780 1 | ||
- | parport 36296 3 ppdev,lp,parport_pc | ||
- | .......sortie coupée......'' | ||
- | |||
- | On voit que le module "freq_table" est utilisé par "cpufreq_stats". | ||
- | Il y a des dépendances entre les modules. | ||
- | |||
- | |||
- | ==== Lister les modules ==== | ||
- | |||
- | ==== Chargement/Dechargement d'un module ==== | ||
- | |||
- | ==== Empécher le chargement d'un module ==== |