|
|
# 1. Inforamtionen über das Kernel-Modul
|
|
|
Ein Kernel-Modul (kurz "LKM" für engl: loadable kernel module) ist ein spezielles
|
|
|
# 1. Informationen über das Kernel-Modul
|
|
|
Ein Kernel-Modul (kurz "LKM" für engl.: loadable kernel module) ist ein spezielles
|
|
|
Computerprogramm, das im laufenden Betrieb in den Kernel des Computers geladen
|
|
|
und entfernt werden kann. In diesem Fall soll ein solches Modul für den Raspberry Pi
|
|
|
und wieder entladen werden kann. In diesem Fall soll ein solches Modul für den Raspberry Pi
|
|
|
Linux Kernel geschrieben werden. Verwendet wird hierzu die Sprache C.
|
|
|
|
|
|
### Wieso verwendet man ein Kernel-Modul?
|
|
|
Sinn des Kernel-Modules ist es im laufenden Betrieb einen Treiber für ein tempörär
|
|
|
benötigtes Device zu Laden und wenn es nicht gebraucht wird zu entladen. Diese Methode
|
|
|
verbraucht also nur dann System-Resourcen wenn das Modul geladen und benutzt wird.
|
|
|
Ein weiterer Vorteil ist das man das System nach dem Laden des Moduls nicht neustarten muss und
|
|
|
benötigtes Device zu laden und wenn es nicht gebraucht wird zu entladen. Diese Methode
|
|
|
verbraucht also nur dann System-Ressourcen wenn das Modul geladen und benutzt wird.
|
|
|
Ein weiterer Vorteil ist, dass man das System nach dem Laden des Moduls nicht neustarten muss und
|
|
|
das Gerät sofort einsatzbereit ist.
|
|
|
Außerdem ist ein LKM leichter zu warten und debuggen als ein in den Kernel kompilierter Treiber
|
|
|
Außerdem ist ein LKM leichter zu warten und debuggen als ein in den Kernel kompilierter Treiber.
|
|
|
|
|
|
## Für was verwendet man ein Kernel-Modul?
|
|
|
Im Großen und Ganzen gibt es 6 Hauptanwedungsgebiete:
|
|
|
- Device driver: Ein Gerätetreiber ist nur für ein spezielles Gerät um mit dem Computer zu kommunizieren.
|
|
|
Im Großen und Ganzen gibt es 5 Hauptanwedungsgebiete:
|
|
|
- Device driver: Ein Gerätetreiber ist nur für ein spezielles Gerät, um mit dem Computer zu kommunizieren.
|
|
|
- Filesystem driver: Ein Dateisystemtreiber interpretiert den Inhalt eines Dateisystems
|
|
|
(das normalerweise der Inhalt eines Laufwerks ist) als Dateien und Verzeichnisse als solche.
|
|
|
- System calls: User-Space Programme verwenden Systemaufrufe um Informationen vom Kernel zu bekommen.
|
|
|
- Network drivers: Ein Netzwerktreiber interpretiert Netzwerkprotkolle.
|
|
|
- Executable interpreter: Linux kann viele Datei vormate ausführen benötigt aber für jedes Format einen executable interpreter.
|
|
|
- Executable interpreter: Linux kann viele Dateiformate ausführen, benötigt aber für jedes Format einen executable interpreter.
|
|
|
|
|
|
Quelle: [Linux Loadable Kernel Module HOWTO] (http://tldp.org/HOWTO/Module-HOWTO/index.html) |