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

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
  • Alternative Open-Source-Echtzeit-Varianten zum Vergleich: RTAI und Xenomai