Rezension von Linux-Treiber entwickeln


Dirk Geschke

Buchinformationen

Linux-Treiber entwickeln

Rezension

Wer schon immer wissen wollte, wie ein Linux-Treiber funktioniert und entwickelt werden kann, wer etwas tiefer in die internen Details des Linux-Kernels werfen will, der wird mit diesem Buch glücklich.

Der Untertitel Eine systematische Einführung in die Gerätetreiber- und Kernelprogrammierung trifft den Inhalt des Buches präzise. So fangen die Autoren mit einfachen, leicht verständlichen Minimaltreibern an, die meist nicht mehr erledigen als einen Text beim Laden und Entladen auszugeben. Das wichtige dabei ist: So rudimentär wie sie sind, sie funktionieren!

Danach geht es dann sukzessive tiefer in die Materie, die Treiber werden komplexer, kernelfreundlicher. Es wird erklärt wie Daten zwischen dem User- und Kernelland ausgetauscht werden, wie Hardware erkannt und initialisiert werden kann bis hin zu Interrupts, SoftIRQs, Kernelthreads und Absicherung von kritischen Codesegmenten, der Verwendung des /proc- und /sys-Verzeichnissen. Abgerundet wird das ganze dann noch mit Tipps zum Schreiben guter Treiber.

Im Anhang erklären die Autoren noch, wie ein Kernel kompiliert und installiert wird. Das erfolgt einmal direkt auf der Hardware und zum anderen als Crosskompilierung.

Der zweite Anhang listet in Kürze Makros und Funktionen des Kernels auf. Das klingt überflüssig, ist es aber nicht, da man so einen direkten Link zur Hand hat und nicht in den Kernelquellen suchen muss. Da die Beschreibung in deutsch, es ist keine einfache Übersetzung aus dem Englischen.

Alles in allem ein hochinteressantes Buch für jeden der sich mit der Materie näher beschäftigen will und noch kein ausgefeilter Kernelhacker ist. Ein paar Grundkenntisse über die C-Programmierung sind allerdings notwendig. Aber ohne dieses Wissen wird kaum jemand sich so ein Buch durchlesen. Ferner sollte der Leser auch ein grobes Verständnis zur Funktionsweise eines Kernels haben, auch wenn vieles dazu im Buch erklärt wird.

Dirk Geschke