Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme - Cheatsheet.pdf

Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme - Cheatsheet
Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme - Cheatsheet Kernfunktionen und Architektur von Echtzeitbetriebssystemen Definition: Kernfunktionen und Architektur von Echtzeitbetriebssystemen (RTOS) stellen sicher, dass zeitkritische Aufgaben innerhalb definierter Zeitspannen ausgeführt werden. Details: Task Management: Verwaltung von Tasks und deren Zustände (bereit, blockiert, laufend). Schedu...

© StudySmarter 2024, all rights reserved.

Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme - Cheatsheet

Kernfunktionen und Architektur von Echtzeitbetriebssystemen

Definition:

Kernfunktionen und Architektur von Echtzeitbetriebssystemen (RTOS) stellen sicher, dass zeitkritische Aufgaben innerhalb definierter Zeitspannen ausgeführt werden.

Details:

  • Task Management: Verwaltung von Tasks und deren Zustände (bereit, blockiert, laufend).
  • Scheduling: Echtzeitfähige Planungsalgorithmen (Prioritätenbasiert, Round-Robin, Rate Monotonic).
  • Inter-Task-Kommunikation: Mechanismen wie Nachrichtenwarteschlangen, Semaphore, Events.
  • Synchronisation: Vermeidung von Race Conditions mit Mutexen und Semaphoren.
  • Speicherverwaltung: Dynamische Zuweisung und Verwaltung von Speicherbereichen.
  • Hardware Abstraktion: Direkter Zugriff auf Hardware ohne Verzögerungen.

Rate Monotonic Scheduling (RMS) und Earliest Deadline First (EDF) Algorithmen

Definition:

Rate Monotonic Scheduling (RMS) und Earliest Deadline First (EDF) sind Algorithmen zur Prozessplanung in Echtzeitsystemen. RMS ist ein statischer Prioritätsalgorithmus, bei dem die Priorität auf Basis der Periodenlänge zugewiesen wird. EDF ist ein dynamischer Prioritätsalgorithmus, bei dem die Priorität auf Basis der Deadlines zugewiesen wird.

Details:

  • Rate Monotonic Scheduling (RMS): Statischer Prioritätsalgorithmus
    • Priorität basiert auf Periodenlänge: kürzere Periode, höhere Priorität
    • Berechenbare und analysierbare Worst-Case-Szenarien
    • System ist schedulable, wenn CPU-Auslastung \(\frac{n(2^{1/n} - 1)}{n \text{ Prozessen}}\) geringer ist als einer Schranke (logarithmisches Wachstum)
  • Earliest Deadline First (EDF): Dynamischer Prioritätsalgorithmus
    • Priorität basiert auf Deadlines der Aufgaben: kürzere Deadline, höhere Priorität
    • Optimal, wenn alle Tasks präemptiv und überblickbar sind
    • System ist schedulable, wenn CPU-Auslastung \(\frac{C_i}{T_i}\) für alle Tasks i kleiner oder gleich eins ist

Techniken zur Synchronisation und Kommunikation zwischen Echtzeitaufgaben

Definition:

Techniken zur Synchronisation und Kommunikation zwischen Echtzeitaufgaben sind Methoden, um sicherzustellen, dass Echtzeitprozesse korrekt zusammenarbeiten.

Details:

  • Mutexe: Verhindern gleichzeitigen Zugriff durch \texttt{lock()} und \texttt{unlock()}.
  • Semaphoren: Zählerbasierte Kontrollmechanismen, insbesondere Binär- und Zählsemaforen.
  • Mailboxes und Message Queues: Austausch von Nachrichten zwischen Aufgaben mit garantierter Reihenfolge der Zustellung.
  • Condition Variables: Warten auf bestimmte Zustände unter Verwendung von \texttt{wait()} und \texttt{signal()}.
  • Spinlocks: Schnelle, aber CPU-intensive Methode zur Sperrung auf Mehrprozessorsystemen.
  • RMS (Rate Monotonic Scheduling) und EDF (Earliest Deadline First): Algorithmen zur Aufgabenplanung mit Fristüberwachung.

Mechanismen zur Fehlertoleranz und Fehlererkennung

Definition:

Mechanismen zur Fehlertoleranz und Fehlererkennung sind Techniken und Methoden, um Fehler in Echtzeitsystemen zu erkennen und deren Auswirkungen zu minimieren.

Details:

  • Fehlertoleranz: Fähigkeit eines Systems, trotz Fehlern weiterzuarbeiten. Methoden: Redundanz (Hardware-, Software-Redundanz), Diversität, Fehlerkorrektur.
  • Fehlererkennung: Identifikation von Fehlern durch z.B. interne Überwachungsmechanismen, Prüfsummen, Heartbeats, Watchdogs.
  • Redundanz: Mehrere Instanzen desselben Moduls zur Erhöhung der Zuverlässigkeit.
  • Diversität: Nutzung unterschiedlicher Algorithmen oder Implementierungen zur Fehlerminimierung.
  • Prüfsummen: Mathematische Verfahren zur Erkennung von Übertragungsfehlern.
  • Watchdog: Überwacht und stellt sicher, dass ein System korrekt funktioniert. Bei Fehler wird ein definierter Gegenmechanismus (z.B. Reset) initiiert.

Verlässliche Kommunikationsprotokolle wie CAN und TTP

Definition:

Kommunikationsprotokolle für Echtzeitsysteme sind entscheidend für die Zuverlässigkeit und rechtzeitige Datenübertragung.

Details:

  • CAN (Controller Area Network): verbreitet in Automobilindustrie, Priorisierung durch Nachrichten-ID, bitweise Arbitrierung.
  • TTP (Time-Triggered Protocol): verwendet feste Zeitpläne, deterministisch, geeignet für sicherheitskritische Systeme.
  • Verlässlichkeit durch Fehlererkennungsmechanismen und Wiederherstellungsprotokolle.

Analyse der Worst-Case Execution Time (WCET)

Definition:

Analyse der längsten möglichen Ausführungszeit eines Tasks in einem Echtzeitsystem

Details:

  • Ziel: Sicherstellung der zeitlichen Verlässlichkeit von Echtzeitsystemen
  • Methoden: statische Analyse, Simulation, Messung
  • Einflüsse: Hardwarearchitektur, Compileroptimierungen, Systemzustand
  • Formel: WCET = max(Ausführungszeit aller möglichen Pfade)

Verwendung von Watchdog-Timern und Fail-Safe Mechanismen

Definition:

Watchdog-Timer überwacht Ausführung von Software, Fail-Safe Mechanismen gewährleisten Systemstabilität bei Fehlern

Details:

  • Watchdog-Timer periodisch zurückgesetzt
  • Timeout: System-Restart oder vordefinierte Aktion
  • Hardware- und Softwareimplementierungen
  • Fail-Safe Mechanismen: Sanfte Degradierung, Ausfallsicherheit

Metriken und Tools zur Leistungsbewertung und Performanzanalyse

Definition:

Metriken und Tools zur Leistungsbewertung und Performanzanalyse messen und bewerten die Effizienz und Reaktionsfähigkeit von Echtzeitsystemen.

Details:

  • Wichtige Metriken: Latenz, Durchsatz, Jitter, Auslastung
  • Latenz: Zeitdifferenz zwischen Eingabe und entsprechender Ausgabe
  • Durchsatz: Anzahl verarbeiteter Aufgaben pro Zeiteinheit
  • Jitter: Schwankungen in der Latenz
  • Auslastung: Grad der Ausnutzung der Ressourcen
  • Tools: Tracealyzer, LTTng, Perf, etc.
  • Einbettung in Design-Prozess: Frühzeitige Identifikation von Engpässen
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