Bewertung:

Derzeit gibt es keine Leserbewertungen. Die Bewertung basiert auf 113 Stimmen.
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle
Entdecken Sie, wie man hochwertigen Zeichentreibercode schreibt, Schnittstellen zum Userspace bildet, mit Chipspeicher arbeitet und ein tiefes Verständnis für die Arbeit mit Hardware-Interrupts und Kernel-Synchronisation erlangt.
Hauptmerkmale:
⬤ Eintauchen in die Behandlung von Hardware-Interrupts, Threaded IRQs, Tasklets, Softirqs und verstehen, was wann zu verwenden ist.
⬤ Erforschen Sie leistungsstarke Techniken für Benutzer-Kernel-Schnittstellen, Peripherie-E/A und Kernel-Mechanismen.
⬤ Arbeiten Sie mit wichtigen Kernel-Synchronisationsprimitiven, um Kernel-Gleichzeitigkeitsprobleme zu lösen.
Buchbeschreibung:
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization ist ein ideales Begleitbuch zum Buch Linux Kernel Programming. Dieses Buch bietet eine umfassende Einführung für diejenigen, die neu in der Entwicklung von Linux-Gerätetreibern sind, und wird Sie in kürzester Zeit in die Lage versetzen, Zeichentreibercode der Misc-Klasse zu schreiben (auf dem Linux-Kernel 5.4 LTS).
Sie lernen zunächst, wie Sie einen einfachen und vollständigen Zeichentreiber der Klasse misc schreiben, bevor Sie Ihren Treiber über procfs, sysfs, debugfs, netlink sockets und ioctl mit Prozessen im Benutzermodus verbinden. Anschließend erfahren Sie, wie Sie mit dem Hardware-E/A-Speicher arbeiten können. Das Buch behandelt die Arbeit mit Hardware-Interrupts ausführlich und hilft Ihnen, die Zuweisung von Interrupt-Requests (IRQs), Threaded IRQ Handlers, Tasklets und Softirqs zu verstehen. Sie werden auch die praktische Nutzung nützlicher Kernel-Mechanismen erforschen und Verzögerungen, Timer, Kernel-Threads und Workqueues einrichten. Schließlich erfahren Sie, wie Sie die Komplexität der Kernel-Synchronisation mit Locking-Technologien (Mutexe, Spinlocks und Atomic/Refcount-Operatoren) in den Griff bekommen, einschließlich fortgeschrittener Themen wie Cache-Effekte, eine Einführung in Lock-free-Techniken, Deadlock-Vermeidung (mit Lockdep) und Kernel-Lock-Debugging-Techniken.
Am Ende dieses Linux-Kernel-Buches werden Sie die Grundlagen für das Schreiben von Linux-Zeichentreiber-Code für reale Projekte und Produkte gelernt haben.
Was Sie lernen werden:
⬤ Grundlagen des modernen Linux Device Model (LDM) kennenlernen
⬤ Schreiben Sie einen einfachen, aber vollständigen Gerätetreiber der Klasse misc.
⬤ Benutzer-Kernel-Schnittstellen mit gängigen Methoden durchführen.
⬤ Hardware-Interrupts verstehen und sicher handhaben.
⬤ E/A auf Peripherie-Hardware-Chipspeicher durchführen.
⬤ Kernel-APIs erforschen, um mit Verzögerungen, Timern, kthreads und workqueues zu arbeiten.
⬤ Verstehen von Kernel-Gleichzeitigkeitsproblemen.
⬤ Arbeiten Sie mit den wichtigsten Kernel-Synchronisationsprimitiven und entdecken Sie, wie Sie Deadlocks erkennen und vermeiden können.
Für wen dieses Buch gedacht ist:
Ein Verständnis der Themen, die im Buch Linux-Kernel-Programmierung behandelt werden, wird dringend empfohlen, um das Beste aus diesem Buch zu machen. Dieses Buch richtet sich an Linux-Programmierer, die sich mit der Entwicklung von Gerätetreibern vertraut machen wollen. Entwickler von Linux-Gerätetreibern, die häufige und gängige Probleme bei der Kernel-/Treiberentwicklung überwinden und gängige Treiberaufgaben wie Benutzer-Kernel-Schnittstellen, die Ausführung von Peripherie-E/A, die Handhabung von Hardware-Interrupts und den Umgang mit Gleichzeitigkeit bewältigen wollen, werden von diesem Buch profitieren. Ein grundlegendes Verständnis der Interna des Linux-Kernels (und gängiger APIs), der Entwicklung von Kernel-Modulen und der C-Programmierung ist erforderlich.