Schulung Linux-Kernelprogrammierung

Beschreibung/Inhalt

Diese Schulung richtet sich an erfahrene Programmierer, die in das Thema “Kernelhacking” einsteigen wollen und einen Quickstart möchten, der ihnen die grundlegenden Mechanismen mit auf den Weg gibt. Damit gerüstet, und mit genügend Neugier und Programmiergeschick, kann man sich in die verschiedenen Subsysteme des Kernels vorarbeiten. Beispielcode ist mehr als selbst den Kernelentwicklern lieb ist vorhanden.

Module. In der Linux-Sprache ist ein Modul dynamisch ladbarer Code. Module werden geladen (explizit oder implizit), initialisiert, deinitialisiert, entladen.

Devices. Hardware wird im Kernel als Device präsentiert, dem Softwaregegenstück zur physischen Hardware. Ein Device Special File ist die Schnittstelle zum Userspace.

Synchronisationsmechnismen. Während Prozesse im Userspace eigene Adressräume haben, hat der Kernel, der alle Prozesse repräsentiert, einen einzigen. Dadurch ist es sehr wichtig, die verfügbaren Synchronisationsmechnismen zu kennen und anwenden zu können. (Zum Beispiel: “Warum darf man in einer Interruptserviceroutine kein Mutex locken?”)

Kommunikationsmechnismen. Jeder kennt Wartebedingungen - liest man zum Beispiel von einem Socket, blockiert der Aufruf solange, bis Daten einlangen. Solche Wartebedingungen sind allgegenwärtig, und an der Basis jedes Betriebssystemes.

Interrupthandling. Interrupts sind im Prinzip Benachrichtigungen von Hardware an den Kernel. Es gibt verschiedene Arten, damit umzugehen, und noch mehr verschiedene Arten, wie man sein System unbrauchbar machen kann.

Dauer
Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
Ort
Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
Schulungsdidaktik
Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil