Header Background
 
 
 

Linux Kernel Internals and Driver-Development

Seminardauer: 5 Tage

Ziele der Schulung

In dieser 5-tägigen Schulung "Linux Kernel Internals and Driver-Development" lernen Sie die Linux-Kernel Architektur kennen.
Wir sprechen über die Hauptbestandteile des Kernels. Es wird der Unterschied zwischen dem User- und Kernel-Space behandelt sowie über Prozesse, Threads und Tasks gesprochen. Des Weiteren fokussieren wir uns auf Module, deren Aufbau und Verwendung. Für den Zugriff auf spezifische Funktionen, welche sich beispielsweise in einem im Kernel geladenen Modul befinden, können System Calls verwendet werden. Sie lernen den Umgang sowie die Implementierung solcher System Calls kennen.

Im Weiteren sprechen wir über sog. Race Conditions und Synchronisations-Methoden. Hierbei adressieren wir unter Anderem Atomic Operations, Spinlocks, Mutexes und Semaphores. Vertiefend setzen wir uns zudem nochmals mit Prozessen, deren Aufbau, Erstellung und abschließende Vernichtung auseinander. Zudem sprechen wir über die Themen Monitoring und Debugging, Scheduling, Memory Addressing, Memory Allocation, und Address Space. Abschließend gehen wir noch kurz auf mögliche Typen von Gerätetreibern ein und sprechen über das Thema Signals. Zu den meisten dieser Themen werden Übungen am Computer durchgeführt.

Am Ende werden Sie wissen, aus welchen Bestandteilen der Linux Kernel aufgebaut ist und welche sich daraus ergebenden Zusammenhänge zu beachten sind. Sie werden in der Lage sein Kernel-Module zu programmieren und in den Kernel zu laden sowie damit erfolgreich zu arbeiten. Zudem werden Sie wissen, wie Sie effektiv mit der Community zusammenarbeiten können.

Zielgruppe Seminar

  • Linux-Programmierer

Voraussetzungen

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:

  • Kenntnisse in der Linux-Systemprogrammierung
  • Fundierte Kenntnisse in der C-Programmierung

Lernmethodik

Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.

Seminarinhalt

Einführung

  • Kooperation mit der Community
  • Wenn ich Hilfe brauche, wie verhalte ich mich richtig?
  • Was ist ein Mainline Kernel und wer ist für was zuständig?
  • Mögliche Lizenzmodelle

Kernel-Architecture

  • Komponenten
  • User-Space versus Kernel-Space
  • Prozesse, Threads, Tasks
  • Prozess Kontext
  • Kernel Preemtion

Modules

  • Kompilierung von Modulen
  • Modules versus Built-in
  • Automatisches Laden von Modulen
  • Exportieren und Auflösen von Symbolen

Kernel Initialization

  • Überblick von der System Initialisierung
  • System Boot
  • Kernel Startup

System Calls

  • Was sind System Calls?
  • Welche System Calls sind verfügbar?
  • Implementation

Kernel Stil und Grundsätzliche Überlegungen

  • Code-Style
  • Benutzung von Generic Kernel Routinen unf Methoden
  • Kernel Patch
  • sparse
  • likely() und unlikely()
  • Portierbarer Code, CPU, 32/64-bit, Endianness
  • Schreiben für SMP
  • Schreiben für High Memory Systems
  • Power-Management
  • Security

Race Conditions und Synchronisations-Methoden

  • Concurency
  • Atomic operations
  • Bit operations
  • Spinlocks
  • Seqlocks
  • Ausschalten der Preemption
  • Mutexes
  • Semaphores
  • Read-Copy-Update (RCU)
  • Reference Counts

SMP und Threads

  • SMP Kernel und Module
  • CPUSETS
  • SMP-Algorithms - Scheduling, Locking etc.

Processes

  • Was sind Prozesse?
  • task-struct
  • Erzeugung von User-Prozessen und Threads
  • Erzeugung von Kernel-Threads
  • Vernichtung von Prozessen und Threads
  • Ausführen von User-Space Prozessen auds Sicht des Kernels
  • Wo sind Limitierungen?

Monitoring und Debugging

  • printk, dmesg
  • sysctl
  • oops Nachricht
  • debugfs

Scheduling

  • Main Scheduling Tasks
  • SMP
  • Prioritäten
  • System Calls
  • schedule() Funktion
  • Scheduler

Speicher-Adressierung und -Allozierung

  • Virtuelles Speicher Management
  • System mit und ohne MMU und die TLB
  • Speicheradressen
  • Paging
  • Page Tabellen
  • page Struktur
  • Anfordern und Freigeben von Pages
  • Speicher Pools
  • kmalloc()
  • vmalloc()
  • Frühe Allozierung und bootmem()
  • Speicher Defragmentierung

Prozess-Adressraum

  • Reservierung von User-Memory und Adress-Bereiche
  • Sperrung von Pages
  • Speicher Deskriptoren und Speicher-Regionen
  • Zugriffsrechte
  • Reservierung und Freigeben von Speicher Regionen
  • Page Faults

Disk Caches und Swapping

  • Caches
  • Page Cache Grundlagen
  • Was ist Swapping?
  • Swap Bereiche
  • Swapping Pages rein und raus
  • Der Swap Cache

Gerätetreiber

  • Character-, Block- und Net-Devices
  • Datei-Schnittstelle via Device-Nodes

Signals

  • Code-Style
  • Kooperation mit der Community
  • Mögliche Lizenzmodelle

Open Badge für dieses Seminar - Ihr digitaler Kompetenznachweis

IT-Schulungen Badge: Linux Kernel Internals and Driver-Development

Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erhalten Sie zusätzlich zu Ihrem Teilnehmerzertifikat ein digitales Open Badge (Zertifikat) – Ihren modernen Nachweis für erworbene Kompetenzen.

Ihr Open Badge ist jederzeit in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com-Konto verfügbar. Mit wenigen Klicks können Sie diesen digitalen Nachweis in sozialen Netzwerken teilen, um Ihre Expertise sichtbar zu machen und Ihr berufliches Profil gezielt zu stärken.

Übersicht: Embedded Linux Schulungen Portfolio

Mehr zu den Vorteilen von Badges

Seminare kurz vor der Durchführung

TerminStandortAktion
12.05. - 16.05.2025 Hamburg Seminar jetzt anfragen
02.06. - 06.06.2025 München Seminar jetzt anfragen
07.07. - 11.07.2025 Köln Seminar jetzt anfragen
25.08. - 29.08.2025 Nürnberg Seminar jetzt anfragen
 
Anmeldungen vorhanden

1.) Wählen Sie den Seminartyp:




2.) Wählen Sie Ort und Datum:

1.995,00 € Preis pro Person

spacing line2.374,05 € inkl. 19% MwSt
all incl.
zzgl. Verpflegung 30,00 €/Tag bei Präsenz

Seminar jetzt anfragen Auf den Merkzettel
PDF IconPDF Icon
 

Diese Seite weiterempfehlen:

0
Merkzettel öffnen
0
Besuchsverlauf ansehen
IT-Schulungen.com Control Panel
Warnung Icon Sie haben in Ihrem Browser Javascript deaktiviert! Bitte aktivieren Sie Javascript um eine korrekte Darstellung und Funktionsweise von IT-Schulungen zu gewährleisten. Warnung Icon