Echtzeitsysteme - Cheatsheet.pdf

Echtzeitsysteme - Cheatsheet
Echtzeitsysteme - Cheatsheet Definition von Echtzeitbetriebssystemen Definition: Echtzeitbetriebssystem (RTOS): Betriebssystem, das zeitlich deterministisches Verhalten für Echtzeitanwendungen garantiert. Details: Aufgabenpriorisierung: RTOS verwaltet mehrere Tasks und ordnet Prioritäten zu, um Echtzeitanforderungen zu erfüllen. Task-Scheduling: Anwenden von Scheduling-Algorithmen (z.B. RM, EDF), ...

© StudySmarter 2024, all rights reserved.

Echtzeitsysteme - Cheatsheet

Definition von Echtzeitbetriebssystemen

Definition:

Echtzeitbetriebssystem (RTOS): Betriebssystem, das zeitlich deterministisches Verhalten für Echtzeitanwendungen garantiert.

Details:

  • Aufgabenpriorisierung: RTOS verwaltet mehrere Tasks und ordnet Prioritäten zu, um Echtzeitanforderungen zu erfüllen.
  • Task-Scheduling: Anwenden von Scheduling-Algorithmen (z.B. RM, EDF), um rechtzeitige Ausführung sicherzustellen.
  • Interrupt-Handling: Effiziente Verarbeitung von Hardware-Interrupts um Latenz zu minimieren.
  • Determinismus: Vorhersehbare Antwortzeiten, wichtig für zeitkritische Anwendungen.
  • Geringe Latenz: Minimale Verzögerung bei der Ausführung von Aufgaben.
  • Parallele Ausführung: Unterstützung für Multitasking und gleichzeitige Prozesse.
  • Speicherverwaltung: Isolierung und Verwaltung von Speicherressourcen für stabile Systemleistung.

Unterschiede zwischen Hard- und Soft-Realzeit

Definition:

Unterschied zwischen Hard- und Soft-Realzeit besteht darin, dass Hard-Realzeit strikte Anforderungen an die Ausführungszeiten hat, während Soft-Realzeit flexibelere Zeitvorgaben toleriert.

Details:

  • Hard-Realzeit: Fehlende Einhaltung der Zeitvorgaben führt zu Systemfehlern.
  • Soft-Realzeit: Fehlende Einhaltung der Zeitvorgaben führt zu Degradation der Leistung, aber kein vollständiges Versagen.
  • Zeitgrenzen Hard-Realzeit: Strikt und unveränderlich
  • Zeitgrenzen Soft-Realzeit: Flexibel und variabel

Planung und Scheduling-Algorithmen

Definition:

Planung und Scheduling-Algorithmen in Echtzeitsystemen steuern die Ausführung von Aufgaben, um Fristen einzuhalten.

Details:

  • Deterministische vs. nicht-deterministische Algorithmen
  • Echtzeitbetriebssysteme verwenden harte und weiche Echtzeitscheduling-Strategien
  • Häufige Algorithmen: RMS (Rate Monotonic Scheduling), EDF (Earliest Deadline First)
  • Prioritätszuweisung und Kontextwechsel sind entscheidend
  • Nutzung von Zeitdiagrammen zur Visualisierung

Protokolle und Standards der zeitgesteuerten Kommunikation

Definition:

Protokolle und Standards zur Sicherstellung der zeitlichen Deterministik in der Kommunikation zwischen Echtzeitsystemen.

Details:

  • Ziel: Minimierung der Latenz und Sicherstellung der fristgerechten Datenübertragung
  • TTP (Time-Triggered Protocol): Zeitscheiben-basiert, synchronisierte Kommunikationszyklen
  • IEEE 1588 PTP (Precision Time Protocol): Hochpräzise Zeitsynchronisation
  • CAN (Controller Area Network) mit Time-Triggered CAN (TTCAN): Erweiterung des CAN-Busses um Zeitsteuerungseigenschaften
  • FlexRay: Hochgeschwindigkeits-Kommunikationsprotokoll für Fahrzeugnetzwerke, Zeit- und Ereignis-gesteuert
  • Determinismus: Feste Übertragungszeiten, keine Kollisionen dank Zeitschlitzen
  • Verwendung in Automobilindustrie, Luftfahrt, Industrieautomation

Implementierung von Kommunikationssystemen in Echtzeitumgebungen

Definition:

Implementierung von Kommunikationssystemen in Echtzeitumgebungen

Details:

  • Echtzeitanforderungen: niedrige Latenz, deterministisches Verhalten
  • Protokolle: CAN, TTP, FlexRay für deterministische Kommunikation
  • Architekturen: zentrale vs. verteilte Systeme
  • Pufferstrategien: FIFO, Prioritätswarteschlangen
  • QoS-Anforderungen: Bandbreite, Verzögerung, Jitter
  • Synchronisation: Zeitstempel, globale Uhr
  • Fehlerbehandlung: Redundanz, Fehlererkennung und -korrektur
  • Datenkonsistenz: Atomare Broadcasts, Update-Protokolle
  • Tools: FPGA, RTOS für Implementierung
  • Beispiele: Automotive-Systeme, industrielle Automatisierung

Synchronisation von Threads

Definition:

Threads in einem Echtzeitsystem synchronisieren, um Konsistenz und korrekte Ausführung zu gewährleisten.

Details:

  • Mutex: Verhindert gleichzeitigen Zugriff auf gemeinsame Ressourcen. Syntax: \texttt{pthread\textunderscore mutex\textunderscore lock()}
  • Semaphor: Steuerung des Zugriffs basierend auf Zählerwert. Syntax: \texttt{sem\textunderscore wait()}
  • Monitor: Hohes Abstraktionsniveau, Kombination von Mutex und Bedingungsvariablen.
  • Deadlock: Vermeiden durch präventive Maßnahmen wie Deadlock-Erkennung, Zeitüberschreitung.

Prioritäten-basierte Scheduling-Algorithmen

Definition:

Prioritäten-basierte Scheduling-Algorithmen verwenden Prioritäten von Aufgaben für die Reihenfolge der Ausführung.

Details:

  • Jede Aufgabe hat eine festgelegte Priorität.
  • Höhere Priorität → schnellere Ausführung.
  • Beispiele: Fixed-Priority Scheduling (FPS), Earliest Deadline First (EDF).
  • Berechnung von Prioritäten z.B. mit Rate-Monotonic Algorithmus (RMA).
  • Garantie der Echtzeitbedingungen durch Prioritätenzuweisung.
  • Problem: Prioritätsinversion – niedrig priorisierte Aufgabe blockiert höhere Prioritäten.
  • Verwendung von Protokollen wie Priority Inheritance zur Lösung von Prioritätsinversion.

Verteilte Echtzeitsysteme

Definition:

Echtzeitsysteme, die geografisch verteilt sind und miteinander kommunizieren, oft über Netzwerke.

Details:

  • Synchronisation von Uhren notwendig
  • Kommunikationsverzögerungen beachten
  • Verteiltes Scheduling notwendig
  • Fehlertoleranz und Redundanz wesentliche Aspekte
  • Beispiele: Sensornetze, Automatisierungsnetze
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden