Bewertung:

Das Buch wird als Einführung in die Linux-Kernel-Entwicklung sehr geschätzt und für seine Klarheit, Struktur und den praxisorientierten Ansatz gelobt. Einige Rezensenten sind jedoch der Meinung, dass es an Tiefe und ausreichenden Beispielen für Kernel-Interna sowie an einigen Formatierungsproblemen mangelt.
Vorteile:⬤ Großartiges Einführungsmaterial für Anfänger in die Linux-Kernel-Entwicklung.
⬤ Gut strukturierter und leicht zu lesender Inhalt.
⬤ Bietet praktische Beispiele und Hands-on-Projekte.
⬤ Deckt grundlegende Themen gründlich ab (Speicherverwaltung, Scheduling, etc.).
⬤ Zusätzliche Ressourcen auf GitHub verfügbar.
⬤ Fesselnder Schreibstil, der das Interesse der Leser aufrecht erhält.
⬤ Einige Leser wünschen sich mehr Tiefe und eine umfassende Abdeckung der Kernel-Interna.
⬤ Kritiker bemängeln einen Überblick auf hohem Niveau ohne detaillierte Beispiele.
⬤ Es gibt Formatierungsprobleme und veraltete Informationen, die sich auf bestimmte Kernel-Versionen beziehen.
⬤ Einige Inhalte werden als Füllmaterial angesehen oder halten sich nicht streng an die aktuellen Praktiken der Linux-Kernel-Programmierung.
(basierend auf 20 Leserbewertungen)
Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization
Lernen Sie, wie man qualitativ hochwertigen Kernel-Modul-Code schreibt, häufige Probleme bei der Linux-Kernel-Programmierung löst und die Grundlagen der Linux-Kernel-Interna versteht.
Hauptmerkmale
⬤ Entdecken Sie, wie man Kernel-Code mit dem Loadable Kernel Module Framework schreibt.
⬤ Erforschen Sie industrietaugliche Techniken zur effizienten Speicherzuweisung und Datensynchronisation innerhalb des Kernels.
⬤ Verstehen Sie die Grundlagen der wichtigsten internen Themen wie Kernel-Architektur, Speicherverwaltung, CPU-Scheduling und Kernel-Synchronisation.
Buchbeschreibung
Linux Kernel Programming ist eine umfassende Einführung für alle, die neu in der Linux-Kernel- und Modulentwicklung sind. Mit diesem leicht verständlichen Leitfaden können Sie in kürzester Zeit Kernel-Code schreiben und einsetzen. Dieses Buch verwendet den neuesten 5. 4 Long-Term Support (LTS) Linux-Kernel, der von November 2019 bis Dezember 2025 gepflegt wird. Durch die Arbeit mit dem 5. 4 LTS-Kernel während des gesamten Buches können Sie sicher sein, dass Ihr Wissen auch in den kommenden Jahren noch gültig sein wird.
Dieses Linux-Buch beginnt damit, dass es Ihnen zeigt, wie Sie den Kernel aus dem Quellcode erstellen. Als Nächstes lernen Sie, wie Sie Ihr erstes Kernelmodul mithilfe des leistungsstarken Loadable Kernel Module (LKM) Frameworks schreiben können. Das Buch behandelt dann wichtige Kernel-Interna wie die Linux-Kernel-Architektur, die Speicherverwaltung und die CPU-Planung. Als Nächstes befassen Sie sich mit dem recht komplexen Thema der Gleichzeitigkeit im Kernel, verstehen die Probleme, die dadurch entstehen können, und lernen, wie diese mit verschiedenen Sperrtechnologien (Mutexe, Spinlocks, Atomic- und Refcount-Operatoren) gelöst werden können. Sie werden auch von fortgeschrittenem Material zu Cache-Effekten, einer Einführung in sperrfreie Techniken im Kernel, der Vermeidung von Deadlocks (mit lockdep) und Techniken zur Fehlersuche bei Kernelsperren profitieren.
Am Ende dieses Kernel-Buches werden Sie ein detailliertes Verständnis für die Grundlagen des Schreibens von Linux-Kernel-Modulcode für reale Projekte und Produkte haben.
Was Sie lernen werden
⬤ Hochwertigen modularen Kernel-Code (LKM-Framework) für 5.x-Kernel schreiben.
⬤ Konfigurieren und erstellen Sie einen Kernel aus dem Quellcode.
⬤ Erforschen Sie die Linux-Kernel-Architektur.
⬤ Sich mit den wichtigsten Interna der Speicherverwaltung im Kernel auseinandersetzen.
⬤ Verstehen und Arbeiten mit verschiedenen dynamischen Kernel-Speicher-APIs (alloc/dealloc).
⬤ Die wichtigsten internen Aspekte der CPU-Planung im Kernel kennenlernen.
⬤ Verständnis von Kernel-Gleichzeitigkeitsproblemen erlangen.
⬤ Finden Sie heraus, wie Sie mit den wichtigsten Kernel-Synchronisationsprimitiven arbeiten können.
Für wen ist dieses Buch gedacht?
Dieses Buch richtet sich an Linux-Programmierer, die mit der Linux-Kernel-Entwicklung beginnen. Linux-Kernel- und Treiberentwickler, die häufige und häufige Kernel-Entwicklungsprobleme überwinden und die Kernel-Interna verstehen wollen, werden von diesem Buch profitieren. Grundlegende Kenntnisse der Linux-CLI und der C-Programmierung werden vorausgesetzt.