Dieses Buch bietet eine systematische Einführung in die
Kernelprogrammierung und in die Entwicklung von Gerätetreibern
unter Linux - angefangen bei den Grundlagen bis hin zu speziellen
Treibern und Techniken.
Umfassend werden die innerhalb des Kernels nutzbaren Technologien
vermittelt, unter anderem:
- die Architektur des Linux-Betriebssystems
- die Programmierung von Tasklets, Kernel-Threads, Workqueues und
hochauflösenden Timern
- die Sicherung kritischer Abschnitte
- effiziente Speicherverwaltung (Objekt-Caching)
- die Systemintegration des Treibers (Proc-, Sys- und
Device-Filesystem)
- spezielle Treiber (u.a. PCI, USB, Blockgeräte)
Hilfreich für die praktische Arbeit sind Programmiertricks
erfahrener Kernelhacker, Codetemplates als Ausgangspunkt für eigene
Entwicklungen, ein eigenes Kapitel zum Entwurf guter und
performanter Treiber sowie ein Anhang mit detaillierten
Beschreibungen von mehr als 600 internen Kernelfunktionen.
Das Buch richtet sich an Entwickler, Kernelhacker und
Linux-Interessierte mit guten Programmierkenntnissen in der Sprache
C.
Einsteiger in Kernelprogrammierung, in Treiberentwicklung (und in
Linux) erhalten eine praxisorientierte Einführung in das Thema.
Profis, wie Entwickler eingebetteter Systeme, werden es auch als
wertvolles Nachschlagewerk für die tägliche Arbeit einsetzen.
Die 3. Auflage wurde durchgehend auf den Stand des Kernels 2.6.37
aktualisiert. Das betrifft neben den in Syntax und Semantik
geänderten Funktionen auch die durchgreifenden Umbauten im
Linux-Kernel selbst, etwa bei Echtzeit-Anforderungen und
Stromsparmodi.
Jürgen Quade studierte Elektrotechnik an der TU München. Danach arbeitete er dort als Assistent am Lehrstuhl für Prozessrechner (heute Lehrstuhl für Realzeit-Computersysteme), promovierte und wechselte später in die Industrie, wo er im Bereich Prozessautomatisierung bei der Softing AG tätig war. Heute ist Jürgen Quade Professor an der Hochschule Niederrhein, wo er u.a. das Labor für Echtzeitsysteme betreut. Seine Schwerpunkte sind Echtzeitsysteme, Embedded Linux, Rechner- und Netzwerksicherheit sowie Open Source.