Verlässliche Echtzeitsysteme - Cheatsheet
Definition und Bedeutung von Zeitkritikalität
Definition:
Maß der Sensitivität eines Systems gegenüber zeitlicher Genauigkeit. Entscheidet, ob und wann eine Aufgabe abgeschlossen sein muss.
Details:
- Harte Zeitkritikalität: Verpasste Deadlines führen zu Systemfehlern
- Weiche Zeitkritikalität: Verpasste Deadlines beeinträchtigen nur die Systemleistung
- Analyse durch Worst-Case Execution Time (WCET)
- Verwendung in Echtzeitsystemen wie Steuerungseinheiten und sicherheitskritischen Anwendungen
Techniken zur Zeitmessung und -bewertung
Definition:
Techniken zur Zeitmessung und -bewertung in Verlässlichen Echtzeitsystemen: Methoden zur präzisen Erfassung und Analyse der Laufzeiten von Aufgaben sowie zur Überwachung der Deadline-Einhaltung.
Details:
- System-Timer und Clock-Ticks zur Periodisierung
- Hardware-Timer zur präzisen Zeitmessung
- Software-basierte Zeitmessung (z.B. Timestamp Counter, Time-of-Day Clock)
- Benchmarking und Profiler-Tools zur Laufzeitanalyse
- Verwendung von Worst-Case Execution Time (WCET) zur Worst-Case Bewertung
- Deadline-Monitore zur Überwachung der Zeiteinhaltung
- Techniken zur Synchronisation der Systemzeiten in verteilten Systemen
Architektur und Designprinzipien von Echtzeitbetriebssystemen
Definition:
Architektur und Designprinzipien von Echtzeitbetriebssystemen umfassen die strukturelle Anordnung und grundlegenden Entwurfsmethoden, um zeitkritische Aufgaben zuverlässig und effizient auszuführen.
Details:
- Echtzeitfähige Scheduler: Prioritätenbasierte Planung, Deadline-Monotonic, Rate-Monotonic, Earliest Deadline First (EDF)
- Task Synchronisation: Semaphore, Mutex, Message Queues
- Interruptbehandlung: Minimalste Latenzzeit sicherstellen
- Determinismus: Vorhersehbare Zeitverhalten, Worst-Case Execution Time (WCET)
- Ressourcenmanagement: Effiziente Speicherverwaltung, Prioritätssteuerung
- Modularität und Skalierbarkeit: Wiederverwendbare und erweiterbare Systemkomponenten
- Fehlertoleranz: Mechanismen zur Fehlererkennung und -behebung
Interrupt-Handling und synchronisierte Kommunikation
Definition:
Unterbrechungsbehandlung und synchronisierte Kommunikation in Echtzeitsystemen - schnelle Reaktion auf Ereignisse und zeitlich koordinierte Prozesse.
Details:
- Interrupts: Signal an CPU zur sofortigen Bearbeitung, unterbricht normalen Programmablauf.
- ISR (Interrupt Service Routine): Spezielle Routine zur Behandlung von Interrupts.
- Priorität: Höhere Prioritäts-Interrupts haben Vorrang vor niedrigeren.
- Synchronisierte Kommunikation: Absprache von Prozessen/Threads zur Vermeidung von Race Conditions und Deadlocks.
- Mechanismen: Mutex, Semaphore, Events und Nachrichtenwarteschlangen.
- Nochfolgeregelung: ISR sollte so kurz wie möglich sein, kritische Aufgaben zu einer Bottom-Half verlagern.
- Verlässlichkeit: Korrekte und rechtzeitige Verarbeitung für Systemstabilität und Echtzeitfähigkeit unerlässlich.
Präemptive vs. nicht-präemptive Scheduling
Definition:
Präemptives Scheduling erlaubt Unterbrechungen von Aufgaben durch den Scheduler, nicht-präemptives Scheduling nicht.
Details:
- Präemptiv: Tasks können jederzeit unterbrochen werden. Wichtig für Systeme mit hohen Echtzeitanforderungen.
- Nicht-präemptiv: Tasks laufen bis zur Fertigstellung. Einfacher zu implementieren, aber kann zu längeren Antwortzeiten führen.
- Verwendete Algorithmen: Round-Robin für präemptiv, First-Come-First-Served (FCFS) für nicht-präemptiv.
- Mathematisch: Bei präemptivem Scheduling kann Taskwechselzeit vernachlässigt werden, bei nicht-präemptivem maximal \textit{n} Zeiteinheiten.
Rate Monotonic und Earliest Deadline First Algorithmen
Definition:
Rate Monotonic (RM): Statisch priorisierender Algorithmus, der Task-Prioritäten basierend auf deren Perioden zuweist. Earliest Deadline First (EDF): Dynamischer Algorithmus, der Task-Prioritäten basierend auf den frühesten Deadlines zuweist.
Details:
- RM: kürzere Perioden haben höhere Priorität
- EDF: Tasks mit näherer Deadline haben höhere Priorität
- RM optimal für feste Prioritäten unter RTDM-Annahmen
- EDF optimal für dynamische Prioritäten im präemptiven System
- RM und EDF erfordern keine genaue Kenntnis der Task-Ausführungszeiten
- Beide Algorithmen verlangen deterministische Perioden und Deadlines
Einführung in Fehlertoleranz und Redundanz
Definition:
Fehlertoleranz ermöglicht Systemfortführung trotz Fehler. Redundanz: Mehrfache Systemkomponenten zur Fehlerkompensation.
Details:
- Fehlertypen: Hardware, Software, Mensch
- Redundanz: Zeit- (zeitliche) und Hardware- (räumliche) Redundanz
- Aktive Redundanz: Konsistenzprüfungen
- Passive Redundanz: Backup-Systeme
- MTTF (Mean Time to Failure): Durchschnittszeit bis zum Fehler
- MTTR (Mean Time to Repair): Durchschnittszeit zur Fehlerbehebung
- FT-Schichtenmodell: Maskierung, Erkennung, Lokalisierung, Recovery
- Formel Zuverlässigkeit R(t): \(R(t) = e^{- \frac{t}{\text{MTTF}}}\)
Fehlererkennung und -behebungstechniken
Definition:
Identifikation und Korrektur von Fehlern zur Sicherstellung der Zuverlässigkeit von Echtzeitsystemen.
Details:
- Fehlertypen: transient, permanent, und intermittierend.
- Fehlerdetektion: Paritätsprüfung, Prüfungsummen, Hamming-Code.
- Fehlerkorrektur: Redundanzprinzipien, Fehlerkorrekturcodes (ECC), Triple Modular Redundancy (TMR).
- Fehlertoleranz: Fehlermaskierung, Wiederanlaufmechanismen.
- Werkzeuge und Methoden: Hardwareüberwachung, Softwareüberwachung, Watchdog-Timer.
- Anwendungen: sicherheitskritische Systeme, Kommunikation, Datenübertragung.