Maison  >  Article  >  Opération et maintenance  >  Qu'est-ce qu'un module noyau sous Linux

Qu'est-ce qu'un module noyau sous Linux

WBOY
WBOYoriginal
2022-03-15 16:46:082615parcourir

Sous Linux, le module noyau est un socket fourni par le noyau Linux au monde extérieur ; le module noyau est un programme avec des fonctions indépendantes qui peuvent être compilées séparément, mais ne peuvent pas être exécutées indépendamment. pour le noyau ou d'autres modules du noyau.

Qu'est-ce qu'un module noyau sous Linux

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Qu'est-ce qu'un module de noyau sous Linux ?

Le module de noyau est un socket fourni par le noyau Linux au monde extérieur. Son nom complet est module de noyau chargeable dynamiquement (Loadable Kernel Module, LKM). . La raison pour laquelle le noyau Linux fournit un mécanisme de module est qu'il s'agit d'un noyau monolithique. Le plus grand avantage d'un seul cœur est une efficacité élevée car tout est intégré, mais son inconvénient est que son évolutivité et sa maintenabilité sont relativement médiocres. Le mécanisme du module doit compenser cette lacune.

Un module est un programme doté de fonctions indépendantes. Il peut être compilé indépendamment, mais ne peut pas s'exécuter indépendamment. Il est lié au noyau au moment de l'exécution et s'exécute dans l'espace du noyau en tant que partie intégrante du noyau, ce qui est différent des processus exécutés dans l'espace utilisateur. Un module consiste généralement en un ensemble de fonctions et de structures de données qui implémentent un système de fichiers, un pilote ou une autre fonctionnalité du noyau de niveau supérieur.

En bref, un module est un bloc de code qui fournit des fonctionnalités au noyau (dans un sens, le noyau est aussi un module) ou à d'autres modules du noyau.

Les modules du noyau dans les systèmes Linux sont des blocs de code qui peuvent être chargés ou déchargés du noyau selon les besoins, étendant ainsi les fonctionnalités du noyau sans redémarrer. Mais à moins que l'utilisateur n'utilise une commande telle que lsmod pour interroger les informations du module, il est peu probable qu'il soit au courant des modifications apportées au noyau.

Il existe de nombreux modules disponibles sur les systèmes Linux, et vous pouvez apprendre beaucoup de détails si vous les approfondissez. L'une des principales utilisations de l'outil système Linux lsmod est de vérifier les modules lorsque le système ne fonctionne pas correctement.

1. Afficher le module du noyau

Le moyen le plus simple d'afficher le module du noyau est d'utiliser la commande lsmod. Bien que cette commande contienne beaucoup de détails, le résultat est très convivial, généralement dans le résultat :

1) Module affiche le nom de chaque module

2) Taille affiche la taille de chaque module, pas la mémoire qu'ils occupent Taille

3) Utilisé par Affiche le nombre de fois que chaque module est utilisé et les modules qui les utilisent

Le nombre de modules chargés dépend du système et de la version utilisée et de ce qui est en cours d'exécution. Pour afficher le nombre de modules disponibles dans le. système, pas seulement en cours d'exécution Oui, vous pouvez utiliser cette commande d'opération :

1) $ modprobe -c | wc –l

2) 41272

2 D'autres commandes liées au module du noyau

Le système Linux en propose plusieurs. pour la liste, le chargement et le déchargement, les tests et les commandes pour vérifier l'état du module.

1) depmod —— Générer des modules.dep et des fichiers de mappage

2) insmod —— Un programme qui insère des modules dans le noyau Linux

3) lsmod —— Afficher l'état des modules dans le noyau Linux

4) modinfo — — Afficher les informations sur le module du noyau Linux

5) modprobe - Ajouter ou supprimer des modules du noyau Linux

6)rmmod - Un programme pour supprimer des modules du noyau Linux

3. Afficher les modules du noyau intégrés

Comme mentionné ci-dessus. Comme l'a dit l'éditeur, la commande lsmod est la commande la plus pratique pour afficher les modules du noyau. Il existe cependant d’autres moyens de les afficher. Tous les modules intégrés au noyau sont répertoriés dans le fichier modules.builtin, qui est utilisé lorsque la commande modprobe tente d'ajouter des modules dans le fichier.

Les utilisateurs peuvent utiliser modinfo pour obtenir plus de détails sur un module, bien qu'il n'y ait pas de description simple des services fournis par le module, et peuvent également utiliser la commande modprobe pour charger ou décharger des modules. Utilisez la commande suivante pour trouver l'objet noyau associé à un module spécifique :

1)$ find /lib/modules/$(uname -r) -name floppy*
2)/lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.ko

Si vous souhaitez charger un module, vous pouvez utiliser cette commande : $ sudo modprobe disquette.

Évidemment, le chargement et le déchargement des modules du noyau sont très importants. Cela rend les systèmes Linux plus flexibles et efficaces que lorsqu'ils fonctionnent avec un noyau à usage général. Cela signifie également que les utilisateurs peuvent apporter des modifications majeures sans redémarrer, comme l'ajout de matériel.

Recommandations associées : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn