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