Header Background
 
 
 
Gesicherte Termine
    Alle Hersteller anzeigen
     
     

    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

           
    02.03. - 06.03.2026 Hamburg Anfragen
    13.04. - 17.04.2026 München Anfragen
    04.05. - 08.05.2026 Köln Anfragen
    22.06. - 26.06.2026 Nürnberg 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

    Anfragen Buchen Merkzettel
    PDF IconPDF Icon
     

    Diese Seite weiterempfehlen:

    0
    Merkzettel öffnen
    0
    Besuchsverlauf ansehen
    IT-Schulungen.com Control Panel