Dieses Buch bietet eine systematische Einführung in die Entwicklung von Gerätetreibern unter Linux - angefangen bei den Grundlagen bis hin zu speziellen Treibern und Techniken. Die innerhalb des Kernels zur Treibererstellung nutzbaren Technologien werden umfassend vermittelt und mit vielen wiederverwertbaren Code-Beispielen illustriert. Behandelt werden unter anderem: - die Architektur des Linux-Betriebssystems - die Programmierung von Tasklets, Kernel-Threads und Workqueues - die Sicherung kritischer Abschnitte - das neue Gerätemodell - die Systemintegration des Treibers (Proc-, Sys- und Device-Filesystem) - das Kernel Build System - spezielle Treiber (u. a. PCI, USB, Blockgeräte) Hilfreich für die praktische Arbeit sind außerdem Programmiertricks erfahrener Kernelhacker, ein eigenes Kapitel zum Entwurf guter und performanter Treiber sowie ein Anhang mit detaillierten Beschreibungen der internen Kernelfunktionen. Ein spezieller Leitfaden erläutert, wie vorhandene Treiber systematisch von Kernel 2.4 auf 2.6 portiert werden. Das Buch richtet sich an Entwickler, Kernelhacker und Linux-Interessierte mit guten Programmierkenntnissen in der Sprache C. Einsteiger in die 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.
Jürgen Quade Livres





Embedded Linux lernen mit dem Raspberry Pi
Linux-Systeme selber bauen und programmieren
Im Bereich eingebetteter Systeme ist Linux weit verbreitet. Und in Kombination mit der Embedded-Plattform Raspberry Pi bildet es ein optimales Gespann, um sich praxisorientiert Kenntnisse und Techniken anzueignen, die für die Entwicklung eingebetteter Systeme notwendig sind. Dieses einführende Lehr- und Arbeitsbuch beschreibt daher Aufbau, Konzeption und Realisierung eingebetteter Linux-Systeme am Beispiel des Raspberry Pi. Nach der erfolgreichen Lektüre können Sie - einfache eingebettete System planen und realisieren - eine Cross-Entwicklungsumgebung im Rahmen einer Host-Target-Entwicklung aufsetzen - Systemsoftware konfektionieren und zu einem Embedded-Linux-Gesamtsystem zusammenbauen - die Einschränkungen bei der Applikationserstellung im Umfeld eingebetteter Systeme einschätzen und Anwendungssoftware erstellen - den grundlegenden Aufbau von Treibersoftware nachvollziehen und einfache Treiber programmieren - die Anforderungen an Security verstehen und durch geeignete Techniken gewährleisten. Zahlreiche Beispiele sowie Tipps und Tricks machen das Thema anschaulich und erleichtern die Umsetzung in die Praxis. Vom Systemanwender zum Systementwickler: Während die meisten Bücher rund um den Raspberry Pi zeigen, wie Sie vorhandene Systemsoftware einsetzen und für Ihre Anwendung nutzen, entwickeln Sie mit diesem Mitmach-Buch ein optimal auf Ihre eigenen Bedürfnisse angepasstes Embedded Linux!
Diese Einführung vermittelt system- und softwarespezifische Aspekte moderner Realzeit- bzw. Echtzeitsysteme und berücksichtigt dabei die tiefgreifenden Fortschritte der jüngsten Zeit. Behandelt werden u. a. folgende Themen: - Aufbau und zeitliche Charakterisierung von Realzeitsystemen - Realzeitbetriebssysteme - Nebenläufige Realzeitprogrammierung - Realzeitarchitekturen - Betriebs- und IT-Security - Nachweis der Realzeitfähigkeit Mithilfe zahlreicher Codebeispiele erklären die Autoren moderne Techniken wie das Reservieren von CPU-Kernen, den Umgang mit Threaded-Interrupts, die Parametrierung von Schedulingverfahren sowie das Messen von Differenzzeiten. Das Buch geht aufgrund der großen Verbreitung und der besonderen Eigenschaften auf Embedded Linux ein, dabei allerdings unabhängig von einer spezifischen Plattform oder einer bestimmten CPU. In Beispielen werden meist die verbreiteten x86- oder ARM-Architekturen verwendet. Neulinge auf dem Gebiet der Realzeitsysteme – etwa Studenten der Informatik, Elektrotechnik oder Mechatronik – erhalten in diesem Buch einen praxisorientierten Einstieg in das Thema. Erfahrene Software-Entwickler und Systemarchitekten können die hier vorgestellten aktuellen Techniken direkt in eigenen Projekten einsetzen.