Anmeldung zum Seminar
Wenn Sie an diesem Seminar teilnehmen wollen, füllen Sie folgendes Formular aus.Die mit * gekennzeichneten Felder müssen ausgefüllt werden.
Praxisorientierte Einführung in die Entwicklung von Linux Kernel-Treibern in C.
- 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