Heim > Artikel > Betrieb und Instandhaltung > Was ist ein Kernelmodul unter Linux?
Unter Linux ist das Kernelmodul ein Socket, der vom Linux-Kernel für die Außenwelt bereitgestellt wird. Das Kernelmodul ist ein Programm mit unabhängigen Funktionen, das separat kompiliert, aber nicht unabhängig ausgeführt werden kann. Es handelt sich um einen Codeblock, der Funktionen bereitstellt für den Kernel oder andere Kernelmodule.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Das Kernelmodul ist ein Socket, der vom Linux-Kernel für die Außenwelt bereitgestellt wird. Sein vollständiger Name ist dynamisch ladbares Kernelmodul (Loadable Kernel Module, LKM), das wir einfach das Modul nennen . Der Grund, warum der Linux-Kernel einen Modulmechanismus bereitstellt, besteht darin, dass es sich um einen monolithischen Kernel handelt. Der größte Vorteil eines einzelnen Kerns ist die hohe Effizienz, da alles integriert ist. Der Nachteil besteht jedoch darin, dass seine Skalierbarkeit und Wartbarkeit relativ schlecht sind. Der Modulmechanismus soll diesen Mangel ausgleichen.
Ein Modul ist ein Programm mit unabhängigen Funktionen. Es kann unabhängig kompiliert, aber nicht unabhängig ausgeführt werden. Es ist zur Laufzeit mit dem Kernel verknüpft und wird im Kernel-Space als Teil des Kernels ausgeführt, was sich von Prozessen unterscheidet, die im User-Space ausgeführt werden. Ein Modul besteht normalerweise aus einer Reihe von Funktionen und Datenstrukturen, die ein Dateisystem, einen Treiber oder andere Kernelfunktionen der oberen Ebene implementieren.
Kurz gesagt ist ein Modul ein Codeblock, der Funktionalität für den Kernel (in gewissem Sinne ist der Kernel auch ein Modul) oder andere Kernelmodule bereitstellt.
Kernelmodule in Linux-Systemen sind Codeblöcke, die je nach Bedarf in den Kernel geladen oder daraus entladen werden können und so die Funktionalität des Kernels ohne Neustart erweitern. Sofern der Benutzer jedoch keinen Befehl wie lsmod verwendet, um Modulinformationen abzufragen, ist es unwahrscheinlich, dass der Benutzer von Änderungen am Kernel erfährt.
Auf Linux-Systemen sind viele Module verfügbar, und Sie können viele Details erfahren, wenn Sie sich damit befassen. Eine der Hauptanwendungen des Linux-Systemtools lsmod besteht darin, Module zu überprüfen, wenn das System nicht ordnungsgemäß funktioniert.
1. Zeigen Sie das Kernelmodul an
Der einfachste Weg, das Kernelmodul anzuzeigen, ist die Verwendung des Befehls lsmod. Obwohl dieser Befehl viele Details enthält, ist die Ausgabe sehr benutzerfreundlich, im Allgemeinen in der Ausgabe:
1) Modul zeigt den Namen jedes Moduls an
2) Größe zeigt die Größe jedes Moduls an, nicht den Speicher, den sie belegen Größe
3) Verwendet von Zeigt an, wie oft jedes Modul verwendet wird und welche Module es verwenden. Die Anzahl der geladenen Module hängt vom verwendeten System und der verwendeten Version sowie davon ab, was ausgeführt wird System, nicht nur ausgeführt Ja, Sie können diesen Operationsbefehl verwenden:
1) $ modprobe -c | zum Auflisten, Laden und Entladen, Testen und Befehlen zum Überprüfen des Modulstatus.
1) depmod – Module.dep und Zuordnungsdateien generieren
2) insmod – Ein Programm, das Module in den Linux-Kernel einfügt
3) lsmod – Modulstatus im Linux-Kernel anzeigen4) modinfo – Linux-Kernel anzeigen Modulinformationen
5) modprobe – Linux-Kernel-Module hinzufügen oder entfernen
6)rmmod – Ein Programm zum Entfernen von Modulen aus dem Linux-Kernel
3. Integrierte Kernel-Module anzeigenWie oben erwähnt Wie der Herausgeber sagte , der Befehl lsmod ist der bequemste Befehl zum Anzeigen von Kernelmodulen. Es gibt jedoch auch andere Möglichkeiten, sie anzuzeigen. Alle im Kernel integrierten Module sind in der Datei „modules.builtin“ aufgeführt, die verwendet wird, wenn der Befehl „modprobe“ versucht, Module in die Datei einzufügen.
Benutzer können modinfo verwenden, um weitere Details zu einem Modul zu erhalten, obwohl es keine einfache Beschreibung der vom Modul bereitgestellten Dienste gibt, und sie können auch den Befehl modprobe zum Laden oder Entladen von Modulen verwenden. Verwenden Sie den folgenden Befehl, um das Kernelobjekt zu finden, das einem bestimmten Modul zugeordnet ist:
1)$ find /lib/modules/$(uname -r) -name floppy* 2)/lib/modules/5.0.0-13-generic/kernel/drivers/block/floppy.ko
Wenn Sie ein Modul laden möchten, können Sie diesen Befehl verwenden: $ sudo modprobe floppy.
Natürlich ist das Laden und Entladen von Kernelmodulen sehr wichtig. Es macht Linux-Systeme flexibler und effizienter als wenn sie mit einem Allzweckkernel laufen. Dies bedeutet auch, dass Benutzer größere Änderungen ohne Neustart vornehmen können, beispielsweise das Hinzufügen von Hardware. Verwandte Empfehlungen: „
Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist ein Kernelmodul unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!