Echtzeit Linux

Aufbau und Verwendung des RT-Preemption-Patches

Die Anforderungen an Linux-Systeme steigen und damit werden auch immer häufiger Forderungen nach Echtzeitfähigkeit des Betriebssystems gestellt. Inzwischen sind große Teile des RT-Preemption-Patches in den Mainstream-Kernel integriert und weitere Teile werden folgen. Dadurch ist es für den Anwender einfach geworden, auch nachträglich auf Echtzeit umzustellen ohne das ganze Betriebssystem austauschen zu müssen.

In diesem Kurs lernen Sie, aus welchen Komponenten ein Echtzeit-Linux-System besteht, wie die Anforderungen an ein Echtzeit-Betriebssystem erfüllt werden und wie ein an das Projekt angepasstes System erstellt wird.

Der Kursinhalt bezieht sich auf den Mainstream-Linux-Kernel sowie auf den RT-Preemption-Patch.

Die Übungen werden auf einem ARM-basierten Embedded-Board durchgeführt. Entsprechende Boards sowie die Cross-Development-Toolchain werden zur Verfügung gestellt.

Dieser Kurs kann auch zusammen mit dem Kurs Linux Treiber kombiniert und innerhalb von 5 Tagen durchgeführt werden: Linux Treiber und RT

Dieser 2-tägige Kurs ist Teil einer Reihe zu Linux Treiber und RT.

Trainer und Dozenten

Andreas Klinger ist selbständiger Trainer und Entwickler. Schwerpunkte seiner Arbeit sind Linux Kerneltreiber sowie Embedded- und Echtzeit-Linux.

Als Autor von Fachartikeln und als Referent auf Kongressen vermittelt er Know-How zu Open-Source.

Voraussetzungen

Entwickler, System-Designer und Projektverantwortliche

Die Inhalte unseres Kurses Linux-Treiberentwicklung sowie fundiertes Wissen in der Programmiersprache C werden vorausgesetzt

Inhalt

Tracing

  • Function-Trace-Framework (ftrace), Timing-Analyse, Latenzzeiten
  • trace-cmd und kernelshark
  • perf als Sampling-Tool
  • Extented Berkely Packet Filter (eBPF), ply als Frontend

Hochauflösende Timer in Linux (hrtimer)

  • klassische Linux-Timer; Timer-Wheel und jiffies
  • hrtimer-Framework, Architektur und Funktionsweise
  • Verwendung in Kernel-Treibern

harte Echtzeit mit dem RT-Preemption-Patch

  • Scheduling-Klassen: RT-Task, Deadline-Task, Batch- und Idle-Task
  • Konfiguration und Installation
  • threaded Interrupts und SoftIRQ's
  • Spezialfälle: kaskadierte GPIO's, Timer-Events
  • Prioritätsinversion, RT-Mutex, annotated Spin-Locks
  • Bewertung des Echtzeitverhaltens, Latenzzeitmessung, Messergebnisse
  • Erstellung von Echtzeit-Applikationen - Was muss beachtet werden?
  • Alternative Open-Source-Echtzeit-Varianten zum Vergleich: RTAI und Xenomai

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.