Echtzeitsysteme 2 - Verlässliche Echtzeitsysteme - Cheatsheet
Definition und Merkmale von Echtzeitsystemen
Definition:
Echtzeitsysteme sind Computersysteme, die innerhalb einer definierten Zeitspanne reagieren müssen. Dies ist kritisch für Anwendungen, bei denen Timing entscheidend ist.
Details:
- Determinismus: Vorhersagbares Verhalten und feste Antwortzeiten
- Schnelle Reaktionszeit: Häufig sehr kurze Antwortzeiten im Millisekunden- oder Mikrosekundenbereich
- Zuverlässigkeit: Hohe Verfügbarkeit und Fehlertoleranz
- Einhaltung von Deadlines: Strikte Fristeinhaltung, sowohl harte als auch weiche Echtzeitanforderungen
- Ressourcenkontrolle: Effiziente Nutzung und Management von Systemressourcen
Hart- vs. Weichzeit-Echtzeitsysteme
Definition:
Hartzeitsysteme müssen alle zeitlichen Bedingungen strikt einhalten, während Weichzeitsysteme zeitliche Bedingungen nicht strikt einhalten müssen.
Details:
- Hartzeitsysteme: Versagen führt zu Systemfehlern.
- Weichzeitsysteme: Versagen führt zu Qualitätsminderung, aber nicht zu Systemfehlern.
- Beispiele: Hartzeitsystem - Flugsteuerung; Weichzeitsystem - Multimedia-Anwendung.
- Formale Definition: Eine Echtzeitanforderung gilt als hart wenn ihr Übertreten fatale Konsequenzen hat, andernfalls ist sie weich.
Grundlagen des Echtzeit-Schedulings
Definition:
Planung von Aufgaben in Echtzeitsystemen, so dass alle Echtzeitanforderungen erfüllt werden.
Details:
- Unterscheidung von harten, weichen und festen Echtzeitsystemen
- Wichtigste Scheduling-Algorithmen: Rate Monotonic (RM), Earliest Deadline First (EDF)
- Feasibility-Tests: Ensuring that all tasks meet their deadlines
- Nutzung von Prioritäten für das Scheduling
- Rückenzeit-Analyse zur Überprüfung der Systemauslastung
- Berücksichtigung von Preemption und Kontextwechselkosten
Deterministisches Scheduling vs. Probabilistisches Scheduling
Definition:
Vergleich von Scheduling-Strategien in Echtzeitsystemen: deterministisches (vorhersehbares) Scheduling und probabilistisches (statistisches) Scheduling.
Details:
- Deterministisches Scheduling: Feste Zeitpläne, garantiertes Timing-Verhalten.
- Probabilistisches Scheduling: Wahrscheinlichkeitsverteilung für Zeitpläne, kein garantiertes Timing-Verhalten.
- Deterministisch: Nutzung von Algorithmen wie EDF (Earliest Deadline First) und RMS (Rate Monotonic Scheduling).
- Probabilistisch: Nutzung statistischer Modelle, Berücksichtigung von Wahrscheinlichkeiten für Warteschlangenlängen und Antwortzeiten.
- Vorteile: Deterministisch garantiert Planungserfüllung, probabilistisch flexibel bei Unsicherheiten.
- Nachteile: Deterministisch weniger flexibel, probabilistisch weniger vorhersehbar.
- Anwendung: Deterministisch in sicherheitskritischen Systemen, probabilistisch in adaptiven und anspruchsvollen Umgebungen.
Kommunikationsprotokolle für Echtzeitsysteme
Definition:
Kommunikationsprotokolle koordinieren Datenübertragung in Echtzeitsystemen, garantieren Zeitdeterminismus und Zuverlässigkeit.
Details:
- Zeitdeterminismus: Protokolle wie CAN, TTP, FlexRay, etc. gewährleisten zeitgerechte Datenübertragung.
- Zuverlässigkeit: Protokolle enthalten Mechanismen zur Fehlererkennung und -behebung.
- Latenz: Minimierung der Übertragungsverzögerung für Echtzeitanforderungen.
- Synchronisation: Zeitstempel und Synchronisierungsprozesse zur Gewährleistung der zeitlichen Korrelation der Nachrichten.
- Puffer-Management: Strategien zur Vermeidung von Über- und Unterläufen in Datenpuffern.
Redundante Systeme und Komponenten
Definition:
Einsatz zusätzlicher Ressourcen zur Erhöhung der Verlässlichkeit und Fehlertoleranz von Echtzeitsystemen.
Details:
- Ziel: Erhöhung der Systemzuverlässigkeit und Minimierung von Ausfallzeiten.
- Arten der Redundanz: Hardware, Software, Informationsredundanz (z.B. Paritätsbits).
- Wichtige Konzepte: Fehlertoleranz, Fehlermaskierung, Error Recovery.
- Techniken: Voting-Mechanismen, Backup-Systeme, Fehlererkennungs- und -korrekturverfahren.
- Beispiel: Triple Modular Redundancy (TMR) zur Fehlermaskierung mit Mehrheitsvotum.
- Kritische Komponenten: Redundanzmanagement, Konsistenzsicherstellung.
Worst-Case-Execution-Time (WCET) Analyse
Definition:
Worst-Case-Execution-Time (WCET) Analyse: Bestimmung der maximalen Zeit, die ein System zur Ausführung eines Programms benötigt.
Details:
- Ziel: Zeitliche Verlässlichkeit in Echtzeitsystemen gewährleisten
- Berechnung mittels statischer Analyse, Messungen oder einer Kombination
- Relevant für hard- und soft-und Echtzeitsysteme
- Verwendung von formalen Methoden und Timing-Analyse-Tools
- Unterscheidung zwischen Worst-Case und Average-Case
- Einhaltung von Timing-Anforderungen in sicherheitskritischen Anwendungen
Formale Verifikationsmethoden
Definition:
Techniken zur mathematischen Verifizierung von Hardware- und Software-Systemen.
Details:
- Ziel: Korrektheit und Zuverlässigkeit von Echtzeitsystemen sicherstellen.
- Zwei Hauptansätze: Modellprüfung und Theorembeweis.
- Modellprüfung: System wird als Zustandsmodell dargestellt, Überprüfung erfolgt durch systematische Zustandsraumdurchsuchung.
- Theorembeweis: Nutzung von mathematischen Beweisen zur Überprüfung der Systemeigenschaften.
- Wichtige Werkzeuge: SPIN, UPPAAL, HOL, PVS.
- Herausforderungen: State Space Explosion, hohe Komplexität der Beweise.