Linux Kernel-Modul Entwicklung (Treiber) mit C
Ihre Termine
* Preise inkl. der gesetzlichen Mehrwertsteuer
Beschreibung
Praxisorientierte Einführung in die Entwicklung von Linux Kernel-Treibern in C.
Inhalte
- Einführung in den Linux Kernel und dessen Architektur
- Kernelspace vs. Userspace Unterschiede
- Aufbau und Struktur des Linux Kernel-Quellcodes
- Einrichtung der Entwicklungsumgebung (Kernel-Quellen, GCC, Make, KBuild)
- Grundlagen des Kernel-Module Programmierens in C
- Wichtige Kernel-Header und -Funktionen (module_init, module_exit)
- Modulparameter und Konfiguration
- Kompilieren, Laden und Entfernen von Modulen (insmod, rmmod, modinfo)
- Debugging und Logging mit printk und dmesg
- Speicherverwaltung im Kernel (kmalloc, kfree, Slab Allocator)
- Synchronisationsmechanismen: Spinlocks, Mutex, Semaphore, RCU
- Implementierung einfacher Character Device Treiber
- Major- und Minor-Nummern, cdev-Strukturen
- Kommunikation zwischen Kernel- und Userspace via Procfs und Sysfs
- Interrupt-Handling: IRQs, SoftIRQs, Tasklets
- Sicherheit und Stabilität bei Kernel-Modulen (Race Conditions, Deadlocks)
- NEU: Überblick Rust für Kernel-Modul-Entwicklung
- Status und Vorteile von Rust im Kernel
- Beispiel eines einfachen Kernel-Moduls in Rust
- Mini-Projekt: Eigenes Kernel-Modul implementieren
- Fehleranalyse, Kernel Panic und Debugging-Tools
- Kernel Tracing mit ftrace, perf
- Einführung in Netfilter Hooks für Netzwerkmodule
- Grundlagen von eBPF im Kernel
- Best Practices und Linux Kernel Coding Style Guide
- Überblick Patch Submission Workflow und Upstream-Entwicklung
- Ressourcen, weiterführende Themen und empfohlene Literatur
Voraussetzungen
- Gute Linux-Kenntnisse
- Gute Kenntnisse in C
Zielgruppe
- Einsteiger in die Linux Kernel-Entwicklung
Hinweise
Lernformate
Unsere Seminare bieten dir maximale Flexibilität: Du kannst zwischen Live-Online und Vor Ort in unseren modernen Schulungszentren im D-A-CH Raum wählen. Beide Formate garantieren dir die gleiche hohe Qualität und interaktive Lernerfahrung.
Schulungsarten
Wir bieten dir verschiedene Schulungsarten: Offene Seminare, Firmenseminare für Teams und Inhouse-Schulungen direkt bei dir vor Ort. So findest du genau das Format, das zu deinen Bedürfnissen passt.
Aktuelle Software
In unseren offenen Kursen arbeiten wir mit der aktuellsten Software-Version. So lernst du direkt mit den Tools und Features, die du auch in deinem Arbeitsalltag verwendest - praxisnah und zukunftsorientiert. Bei Inhouse- und Firmenschulungen bestimmt ihr die Version.
D