Linux-Kernel Internals und Treiber-Entwicklung
C Schulungen

Linux-Kernel Internals und Treiber-Entwicklung

Du verfolgst Code vom System Call bis zum Treiber und entwickelst Kernel-Module, die Speicher und Nebenläufigkeit korrekt behandeln.

Die wichtigsten Themen

Kernel-Module kompilieren und laden

System Calls implementieren

Race Conditions mit Locks vermeiden

Speicherfehler im Kernel untersuchen

Treiber über Device-Nodes anbinden

Kernel-Patches für Reviews vorbereiten

Überblick Kernel-Code läuft mit hohen Rechten; ein falscher Zeiger oder eine unpassende Sperre kann das gesamte System stoppen. Das fünftägige Linux-Kernel-Training verbindet Architekturwissen mit eigener Kernel- und...

Kernel-Code läuft mit hohen Rechten; ein falscher Zeiger oder eine unpassende Sperre kann das gesamte System stoppen. Das fünftägige Linux-Kernel-Training verbindet Architekturwissen mit eigener Kernel- und Treiberentwicklung. Du verfolgst den Bootpfad, implementierst System Calls und bindest Character Devices über Device-Nodes an. Laborübungen behandeln Kernel-Module, Speicherallokation sowie Synchronisation auf SMP-Systemen. Mit printk, dmesg, debugfs und sparse untersuchst du Oops-Meldungen und Race Conditions. Code-Reviews zeigen, wie portabler Code für 32-Bit- und 64-Bit-Systeme entsteht und wie du Beiträge für eine Veröffentlichung in der Community vorbereitest. Die Übungsumgebung wird bereitgestellt; eigene Hardware oder Lizenzen brauchst du nicht. Für dein Team kannst du Termine für ein Inhouse-Training mit eurer Kernel-Version und euren Treiberschnittstellen anfragen.

Die Themen Mainline-Kernel und Maintainer-Struktur · Community-Kommunikation und Support-Anfragen · Kernel-Komponenten und Ausführungskontexte · Lizenzmodelle für Kernel-Code · Systemstart bis zur Kernel-Übergabe...

Kernel-Projekt und Architektur

  • Mainline-Kernel und Maintainer-Struktur
  • Community-Kommunikation und Support-Anfragen
  • Kernel-Komponenten und Ausführungskontexte
  • Lizenzmodelle für Kernel-Code

Bootvorgang und Initialisierung

  • Systemstart bis zur Kernel-Übergabe
  • Kernel-Startup und Initialisierungsphasen
  • Frühe Speicherreservierung mit memblock
  • bootmem als historischer Ansatz

Kernel-Module und Symbole

  • Kompilierung externer Kernel-Module
  • Module und Built-in-Komponenten
  • Automatisches Laden von Modulen
  • Export und Auflösung von Symbolen

System Calls und Kernel-Code

  • System-Call-Schnittstelle des Kernels
  • Implementierung eines System Calls
  • Linux Kernel Coding Style
  • Generische Kernel-APIs
  • Codeanalyse mit sparse

Portabilität und Kernel-Patches

  • Portabilität zwischen CPU-Architekturen
  • 32-Bit- und 64-Bit-Datentypen
  • Endianness im Kernel-Code
  • Branch-Hinweise mit likely() und unlikely()
  • Erstellung prüfbarer Kernel-Patches

Nebenläufigkeit und Synchronisation

  • Race Conditions im Kernel
  • Atomic Operations und Bit Operations
  • Spinlocks und Seqlocks
  • Mutexes und Semaphores
  • Read-Copy-Update und Reference Counts

SMP, Prozesse und Threads

  • Kernel Preemption und SMP
  • task_struct und Prozesskontext
  • User-Prozesse und Kernel-Threads
  • CPUSETS und CPU-Zuordnung
  • Lebenszyklus von Tasks

Scheduling

  • Aufgaben des Linux-Schedulers
  • Prioritäten und Scheduling-Klassen
  • schedule() und Kontextwechsel
  • SMP-Scheduling und Locking

Virtueller Speicher und Allokation

  • MMU, TLB und virtuelle Adressen
  • Paging und Page Tables
  • Page-Struktur und Page-Allokation
  • kmalloc(), vmalloc() und Speicherpools
  • High Memory und Speicherfragmentierung

Prozessspeicher und Caches

  • Speicherdeskriptoren und Regionen
  • Zugriffsrechte und gesperrte Pages
  • Page Faults im Prozessadressraum
  • Page Cache und Disk Caches
  • Swap-Bereiche und Swap Cache

Gerätetreiber und Diagnose

  • Character-, Block- und Net-Devices
  • Device-Nodes als Dateischnittstelle
  • Signale an User-Space-Prozesse
  • printk, dmesg und Oops-Meldungen
  • sysctl und debugfs

Betriebsaspekte des Kernel-Codes

  • Power-Management für Geräte
  • Sicherheitsgrenzen im Kernel-Space
  • Fehleranalyse unter Nebenläufigkeit
  • Vorbereitung von Community-Beiträgen
Zielgruppe
  • Kernel-nahe C-Entwickler
  • Linux-Systementwickler für Kernel-Komponenten
  • Embedded-Entwickler mit Treiberaufgaben
  • Systemarchitekten mit Kernel-Verantwortung
Das lernst du
  • Kernel-Ausführung vom Boot bis zum System Call erklären
  • Module mit Symbolauflösung kompilieren und laden
  • Synchronisation passend zum Ausführungskontext wählen
  • Speicher reservieren, freigeben und Page Faults untersuchen
  • Character-Device-Treiber über Device-Nodes anbinden
  • Kernel-Fehler vor dem Deployment erkennen und Systemausfälle vermeiden
So arbeiten wir

Kurze Trainer-Inputs wechseln mit Code-Walkthroughs, angeleiteten Laborübungen und Fehlersuche an Kernel-Modulen. Code-Reviews und eine Patch-Übung verbinden die technischen Inhalte mit dem Entwicklungsprozess.

Empfohlene Vorkenntnisse
  • Gute C-Kenntnisse, bei Bedarf über den C Grundkurs
  • Sicherer Umgang mit Linux-Shell, Compiler und Make
Dein Fahrplan
  • Mainline-Kernel, Maintainer und Community-Kommunikation
  • User-Space, Kernel-Space und Ausführungskontexte
  • Kernel-Komponenten und Lizenzmodelle
  • Bootpfad, Kernel-Startup und frühe Initialisierung
Organisatorisches

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.

Uhrzeiten

09:00-16:00 Uhr

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.

Deine Vorteile

Zufriedenheitsgarantie

Wir sind von unserer Qualität überzeugt. Sollte ein Training einmal nicht deinen Erwartungen entsprechen, bieten wir dir an, den Kurs kostenlos zu wiederholen oder ein anderes Training zu besuchen. Ohne Risiko, ohne Diskussion.

Inklusivleistungen

Deine Teilnahme beinhaltet: Schulungsmaterial, Zertifikat, Verpflegung (bei Präsenzveranstaltungen) und persönliche Betreuung durch unsere Trainer und unser Orga-Team. Alles aus einer Hand - keine versteckten Kosten.

Lernen von Experten

Unsere Trainer sind zertifizierte und erfahrene Profis mit jahrelanger Berufserfahrung. Sie vermitteln dir in den Kursen nicht nur theoretisches Wissen, sondern teilen ihre Erfahrungen aus realen Projekten und helfen dir, das Gelernte direkt in deiner täglichen Arbeit anzuwenden. Das ist kein Werbeversprechen, sondern unser Anspruch. Am besten siehst du das in unseren Bewertungen, z.B. auch bei Google.

Keine Vorkasse

Du zahlst erst nach dem Seminar. Keine Vorkasse, keine Vorauszahlung - so kannst du sicher sein, dass du nur für das bezahlst, was du auch wirklich erhalten hast. Die Rechnung erhältst du erst nach Kursbeginn.

Max. 8 Teilnehmende

Wir setzen auf kleine Gruppen, damit du die Aufmerksamkeit bekommst, die du verdienst. So haben wir mehr Zeit für deine individuellen Fragen und können gezielt auf deine Bedürfnisse eingehen.

Termine & Buchung

Vor Ort

Standardpreis: 1.995,00 € netto (2.374,05 € brutto)
21. - 25.09.2026

Online

Standardpreis: 1.995,00 € netto (2.374,05 € brutto)
21. - 25.09.2026

Nicht der passende Termin dabei?

Wir finden eine Lösung: anderer Termin, mehrere Teilnehmer, Inhouse-Schulung oder individuelle Beratung.

Anfrage stellen
Inhouse & Firmenseminare

Lieber gleich das ganze Team schulen?

Diese Schulung gibt es auch exklusiv für dein Unternehmen, bei euch vor Ort, an unseren Standorten oder Live-Online. Inhalte und Termine nach Maß.

Beliebteste Wahl

Inhouse-Schulung

Wir kommen zu euch: diese Schulung maßgeschneidert in euren Räumen, für Unternehmen und Behörden.

  • Inhalte exakt auf euch zugeschnitten
  • Termine nach euren Bedürfnissen
  • Günstiger ab mehreren Teilnehmern
  • Vertraute Umgebung, kein Reiseaufwand
Inhouse-Schulung anfragen

Firmen-Seminar

Exklusiv für dein Team an einem unserer Standorte oder Live-Online, individuell angepasst.

  • Geschlossene Gruppe aus eurem Haus
  • Individuelle Terminplanung
  • An unseren Standorten oder Live-Online
  • Angepasste Inhalte
Firmen-Seminar anfragen

Fragen und Antworten zu Linux-Kernel Internals und Treiber-Entwicklung

Was bedeutet Linux Kernel Internals?

Gemeint sind die internen Mechanismen, mit denen der Linux-Kernel Prozesse plant, Speicher verwaltet und Hardware anspricht. Dazu gehören Ausführungskontexte, System Calls, Scheduler, virtuelle Speicherverwaltung, Synchronisation und Treiberschnittstellen. Das Verständnis dieser Abläufe ist nötig, um Kernel-Code zu entwickeln und Race Conditions oder ungültige Speicherzugriffe zu untersuchen.

Wann eignet sich ein Kernel-Modul und wann Built-in-Code?

Ein Kernel-Modul eignet sich für Komponenten, die zur Laufzeit geladen, aktualisiert oder entfernt werden sollen. Built-in-Code steht bereits während des Bootvorgangs bereit und wird für Funktionen benötigt, die vor dem Laden des Root-Dateisystems verfügbar sein müssen.

Wann werden kmalloc() und vmalloc() verwendet?

kmalloc() reserviert physisch zusammenhängenden Kernel-Speicher und eignet sich für kleinere Bereiche mit bestimmten Hardwareanforderungen. vmalloc() stellt einen virtuell zusammenhängenden Bereich bereit, dessen physische Pages verteilt liegen dürfen.

Welche Linux-Kernel-Version wird im Training verwendet?

Die eingesetzte Kernel-Version wird für den jeweiligen Termin festgelegt. Bei einem Firmenseminar stimmt cmt auf Anfrage ab, ob eure Kernel-Version und ausgewählte Treiberschnittstellen in die Übungen einbezogen werden.

Brauche ich eigene Hardware oder Softwarelizenzen?

Erforderliche Geräte, virtuelle Maschinen und Software werden für die Übungen bereitgestellt. Du brauchst weder ein eigenes Notebook noch zusätzliche Lizenzen mitzubringen.

Ist eine offizielle Zertifizierung enthalten?

Eine offizielle Herstellerprüfung ist für dieses Training nicht vorgesehen. Den verfügbaren Teilnahmenachweis und seine Angaben bestätigt cmt dir vor der Buchung auf Anfrage.

Kann die Schulung als Inhouse-Training stattfinden?

cmt bietet die Linux-Kernel-Schulung als Inhouse-Training und Firmenseminar an. Inhalte, Kernel-Version, Zielarchitektur und Übungsschwerpunkte werden vorab mit dem Unternehmen abgestimmt.

Reichen Linux-Administrationskenntnisse für die Teilnahme aus?

Gute C-Kenntnisse und Erfahrung mit Compiler, Make sowie der Linux-Shell werden vorausgesetzt. Reine Administrationskenntnisse reichen für die Programmierübungen in der Regel nicht aus.

Weitere häufig gestellte Fragen und Antworten findest du in den FAQs .

Unser Qualitätsversprechen: Wissen, das in der Praxis funktioniert

Aus der Praxis für die Praxis

Schluss mit theoretischem Ballast. Wir trainieren dich für reale IT-Herausforderungen, nicht für Multiple-Choice-Tests. Unsere Trainer vermitteln dir genau das Wissen, das am nächsten Montagmorgen im Job wirklich funktioniert.

Individuell statt "Schema F"

Deine Fragen passen nicht ins Standard-Skript? Bei uns schon. Wir verzichten auf starre Lehrpläne und geben deinen konkreten Projekt-Fragen Raum. Unsere Trainer passen die Inhalte flexibel an das an, was dich und dein Team aktuell weiterbringt.

Maximale Freiheit: Remote oder vor Ort

Lerne so, wie es in deinen Alltag passt - ohne Reise-Stress und Zeitverlust. Egal ob remote, hybrid oder präsent vor Ort: Wir garantieren dir ein nahtloses und effektives Lernerlebnis, egal von wo du dich zuschaltest.

Mit Zufriedenheitsgarantie

Wir sind von unserer Qualität überzeugt - und wollen, dass du es auch bist. Sollte ein Training einmal nicht deinen Erwartungen entsprechen, bieten wir dir an, den Kurs kostenlos zu wiederholen oder ein anderes Training zu besuchen. Ohne Risiko, ohne Diskussion.

Über 20.000 Unternehmen und Behörden vertrauen auf uns

Alle Referenzen
Siemens Logo
Telekom Logo
Rheinmetall Logo
Infineon Logo
MAN Logo
Fraunhofer Logo
ADAC Logo
Munich Re Logo
Deutsche Bahn Logo
ab 1.995 €
zzgl. 19% MwSt.