Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Echtzeit-Linux und Systemprogrammierung

Produktinformationen "Echtzeit-Linux und Systemprogrammierung"

Embedded-Linux-Woche für Fortgeschrittene: Vom Embedded-Linux-User zum systemnahen Echtzeit-Entwickler

Die Linux-Systemprogrammierung ist ein wichtiger Bereich für Entwickler, die robuste, effiziente und zuverlässige Software auf Systemebene erstellen möchten. Um leistungsstarke und ressourcenschonende Anwendungen zu entwickeln und dabei effizient mit Ressourcen wie Speicher, Prozessoren und Geräten umzugehen, müssen Systemprogrammierer den Linux-Kernel und das virtuelle Dateisystem verstehen. Syscalls sind dabei eine entscheidende Schnittstelle zwischen Anwendungen und dem Kernel. Sie ermöglichen den Zugriff auf Kernel-Funktionen, das Lesen und Schreiben von Dateien, die Verwaltung von Prozessen und die Nutzung anderer Betriebssystemdienste.
Für Anwendungen mit Echtzeitanforderungen, wie beispielsweise Steuerungssysteme oder Robotik, ist es wichtig, Kenntnisse in Echtzeit- und Multithreading-Programmierung zu besitzen. Dabei geht es um Echtzeit-Tasks, Prioritäten und verschiedene Scheduling-Modelle. Beim Debugging und der Fehlerbehebung müssen Systemprogrammierer Signale, Core-Dumps und Remote-Debugging verwenden können – insbesondere bei komplexen, systemnahen Problemen. Zudem erfordert die Interaktion mit Hardware spezielle Kenntnisse, um auf Geräte wie GPIOs, I2C- und SPI-Busse zuzugreifen und mit ihnen zu kommunizieren.

Der Vortragstag widmet sich ganz dem Thema Echtzeit-Linux. Behandelt werden die Fragen, wie der Echtzeit-Kernel mit PREEMPT_RT funktioniert und wie auftretende Latenzen eingegrenzt werden können.

Bringen Sie Ihre Fragen mit: Nutzen Sie die Chance, und stellen Sie den Referenten die Fragen, die Sie in Ihrem Projekt oder in Ihrer Abteilung beschäftigen.

 

Agenda

1. Tag: Seminartag: Aufbau und Verwendung des Linux-Kernel
Referent: Andreas Klinger

  • Aufbau des Linux-Kernels, Virtuelles Dateisystem
  • Funktionsweise von Syscalls
  • Verwendung von Dateien und Device-Nodes
  • Erstellung eigener Programme
  • Blockierendes Verhalten von read und write
  • Memory-Mapping

 

2. Tag: Seminartag: Prozessverwaltung und Tracing
Referent: Andreas Klinger

  • Prozesse und deren Verwaltung
  • Zombies
  • Scheduling-Modell
  • Realtime- und Deadline-Tasks
  • CPU-Affinitäten und CPU-Sets
  • Tracing von Interrupt- und Scheduling-Events

 

3. Tag: Vortragstag: Echtzeit-Linux und Qualitätssicherung
Referenten: Alexander Bähr, Jan Altenberg

  • Historischer Überblick zu Echtzeit-Linux
  • Das Linux Foundation RTL Collaborative Project
  • Linux und PREEMPT_RT: Überblick, Installation und Konfiguration
  • Bestimmung der Echtzeiteigenschaften eines Linuxsystems
  • Qualitätssicherung: Vorstellung der OSADL QA-Farm
  • Methoden zur Analyse unerwünschter Systemlatenzen: „Latency Fighting“

 

4. Tag: Seminartag: Interprozesskommunikation und Debugging
Referent: Andreas Klinger

  • Signale
  • Core-Dumps und deren Verwendung
  • Remote-Debugging
  • Interprozesskommunikation
  • Shared-Memory, Semaphoren, Message-Queues
  • Timer
  • Multithreading
  • Mutexe und Barriers

 

5. Tag: Seminartag: Ressourcenverwaltung und Hardware-Anbindung
Referent: Andreas Klinger

  • Cgroups
  • Capabilities
  • Verwendung von Hardware
  • GPIOs
  • I2C- und SPI-Bus
  • Anbindung von Sensoren mit Industrial-IO

 

Ziele

  • Verständnis des Betriebssystemaufbaus
  • Verwendung der Schnittstellen zum Betriebssystem
  • Erstellung von systemnahen Programmen
  • Diagnose des Programmverhaltens
  • Tracing von Laufzeitproblemen
  • Funktionsweise von PREEMPT_RT
  • Konfiguration und Anwendung von PREEMPT_RT
  • Bestimmung der Echtzeiteigenschaften
  • Analyse von Systemlatenzen auf einem Linux-System mit PREEMPT_RT

 

Zielgruppe

  • Entwickler, die systemnahe Programme unter Linux erstellen möchten
  • Entwickler und in deren Umfeld Beschäftigte (Tester, QA etc.), die erfahren möchten, wie der Linux-Kernel funktioniert und welche Schnittstellen das Betriebssystem anbietet

 

Produktart: Inhouse Seminar
Sprache: Deutsch