Zum Inhalt springen

Kernel-Modul

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. August 2013 um 12:03 Uhr durch Filzstift (Diskussion | Beiträge) (Begriff "Betriebssystemkernel" ausgetauscht (gemäss Diskussion auf Diskussion:Kernel (Betriebssystem), replaced: BetriebssystemkernelKernel, Betriebssystemkernel → Kernel mit AWB). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Kernel-Modul (kurz „LKM“ für englisch: „loadable kernel module“) ist ein spezielles Computerprogramm, das im laufenden Betrieb in den Kernel eines Betriebssystems geladen und wieder daraus entfernt werden kann.

Kernel-Module werden häufig für Gerätetreiber verwendet, da eine große Auswahl der Module für die unterschiedlichsten Hardware-Komponenten mit dem Betriebssystem mitgeliefert werden können, aber nur die wirklich benötigten Treiber in den Speicher geladen werden müssen.

Kernel-Module gibt es bei unterschiedlichen Betriebssystemen, wie zum Beispiel Linux, BSD oder Solaris.

Weitere Details

Kernel-Module werden üblicherweise in der Programmiersprache C geschrieben und vor ihrem Laden, in den Kernel und der späteren Ausführung dort, in die Maschinensprache für die jeweilige Ziel-Plattform übersetzt (kompiliert).

Das Verfahren des dynamischen Hinzufügens von Kernel-Modulen wird z. B. beim Linux-Kernel dazu verwendet, um einen Standardkernel an die Hardware, auf der er ausgeführt wird, dynamisch anzupassen. So kann zum Beispiel der Treiber einer vorgefundenen Soundkarte zur Laufzeit des Systemkerns geladen werden, während die vorliegenden Treiber für nicht vorhandene Soundkarten ignoriert werden können und somit auch keinen Hauptspeicher belegen.

Ein weiterer Vorteil liegt darin, dass Erweiterungen für den Kernel integriert werden können, ohne dass das Betriebssystem neu gestartet werden muss. Denkbar wäre, dass man auf diese Weise den als Kernel-Modul realisierten Treiber einer Soundkarte entfernt und eine neuere Version dieses Treibers in das laufende System einbindet.