Login
Login-Name Passwort


 
Newsletter
Werbung

Mo, 21. Juni 2004, 00:00

Linux Device Drivers

Vorwort

Cover von Linux Device Drivers

Hans-Joachim Baader (hjb)

Cover von Linux Device Drivers

Als »Linux Device Drivers« ursprünglich erschien, war Dokumentation über die Treiberentwicklung unter Linux noch dünn gesät. Man konnte sich behelfen, indem man die Kernel-Mailingliste verfolgte, andere Treiber ansah und diverse Online-Dokumente, die mehr oder weniger aktuell waren, las. Dementsprechend wurden in den Treibern viele Fehler gemacht, die von anderen Autoren getreu übernommen wurden. Mit Erscheinen dieses Buches wurde damit aufgeräumt.

Die Autoren

Alessandro Rubini ist seit Version 0.99.14 bei Linux dabei, war eine Zeitlang recht aktiv auf der Kernel Mailingliste und schreibt Linux-Treiber und Artikel. Seine Erfahrung, auch mit anderen Plattformen als PCs, gibt er mit diesem Buch an die Leser weiter.

Jonathan Corbet ist ebenfalls seit 1993 bei Linux dabei und kann auf eine lange Erfahrung im Schreiben von Treibern, nicht nur für Linux, zurückblicken. Bekannt wurde er in der Linux-Szene aber als Mitgründer und Herausgeber von Linux Weekly News.

Das Buch

Diese beiden Autoren haben sich also zusammengefunden, um die Treiberentwicklung unter Linux zu dokumentieren und zu systematisieren. Dabei liegen ihnen Korrektheit ebenso am Herzen wie Portabilität (ein Treiber muß auf allen Architekturen laufen, die Linux unterstützt) und Kompatibilität mit älteren Linux-Versionen. In jedem der sechzehn Kapitel zeigen sie auf, wie sich die Kernel-Versionen 2.4, 2.2 und 2.0 unterscheiden. Ein Treiber, der für Kernel 2.4 entwickelt wurde, kann mit ein paar Kompatibilitäts-Makros für die Kernel 2.2 und 2.0 compiliert werden. Was man dabei beachten muß, findet sich am Ende jedes Kapitels.

Kapitel 1 führt in das Thema ein, Kapitel 2 erklärt Kernel-Module, womit man gleich das Rüstzeug hat, Treiber ohne Reboot testen zu können (so sie denn nicht abstürzen).

Kapitel 3 erklärt Character Devices, deren Treiber zu den einfacheren gehören. Es wird ein einfacher Treiber vorgestellt, der in den folgenden Kapiteln immer wieder erweitert oder modifiziert wird. Zwar handelt es sich in weiten Teilen »nur« um eine sehr primitive Ramdisk, doch sind diese Beispiele sehr instruktiv, da sie das Wesentliche ohne Ballast zeigen.

Kapitel 4 zeigt Debugging-Techniken, danach folgen in Kapitel 5 erweiterte Operationen der Character Devices. Was wäre ein Treiber ohne Timing? Kapitel 6 erklärt die Kernel-Timer und die damit verbundenen Warteschlangen und Verzögerungs-Möglichkeiten. Dann wird die Speicherverwaltung in aller Ausführlichkeit dargestellt. Als nächstes folgen die I/O-Ports.

Nun sind wir in Kapitel 9, und die Sprache kommt auf die Interrupt-Behandlung. Das nächste Kapitel erscheint etwas einfacher, wenn es um Datentypen geht, und die Hilfsmittel, die das Kernel-API dafür bietet. Kapitel 11 geht nochmals ausführlich auf Kernel-Module und deren Abhängigkeiten ein.

Kapitel 12 bringt die Block Devices auf den Plan, die in der Regel komplizierter als Character Devices sind. Oft benutzen sie mmap und DMA, die in Kapitel 13 erklärt werden. Eine weitere Klasse von Treibern, also weder Block noch Character, sind die Netzwerk-Treiber, die in Kapitel 14 behandelt werden.

Kapitel 15 gibt einen Überblick über verschiedene Bussysteme, der natürlich nicht nur auf PC-Systeme bzw. PCI beschränkt ist, sondern auch SBus, NuBus und andere erklärt. Kapitel 16 ist nochmals ein Überblick, und zwar über die Struktur der Kernel-Quellen. Hier erklären die Autoren, welche Funktionen in den einzelnen Verzeichnissen zu finden sind. Mit einer Bibliografie und einem nützlichen Index endet das Buch.

Fazit

Auch wenn es inzwischen andere, auch deutschsprachige Bücher zum Thema gibt, kann man »Linux Device Drivers« wohl kaum übertreffen. Preislich liegt es mit 38 EUR sogar relativ günstig. Ein Problem ist lediglich die Aktualität. Wer noch für Kernel 2.4, 2.2 oder gar 2.0 entwickelt, der ist mit diesem Buch bestens bedient. Für Kernel 2.6 wäre jedoch eine Neuauflage notwendig, die es noch nicht gibt. Wer nicht auf deren Erscheinen warten kann, muß sich nach einem anderen Buch umsehen.

Fakten

Jahr: 2. Auflage, 2001
Autor: Alessandro Rubini & Jonathan Corbet
Preis: 38 EUR
Umfang: 564 Seiten
Verlag: O'Reilly
ISBN: 0596000081

  • Dieses Werk wurde unter der Commons Attribution-Share Alike Lizenz veröffentlicht. Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der Commons Attribution-Share Alike, veröffentlicht von der Creative Commons.

    - Weitere Informationen
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung