Echtzeitsysteme mit erweiterten Übungen - Cheatsheet
Definition und Charakteristika von Echtzeitsystemen
Definition:
Systeme, die darauf ausgelegt sind, auf Eingaben innerhalb einer bestimmten Zeitspanne (Echtzeit) zu reagieren, und bei denen die Zeit der Reaktion genauso wichtig ist wie das korrekte Verhalten.
Details:
- Zeitbestimmte Reaktionen: Muss innerhalb einer definierten Frist reagieren
- Zuverlässigkeit: Hohe Zuverlässigkeit und Verfügbarkeit
- Determinismus: Vorhersehbares Verhalten
- Harte Echtzeitsysteme: Fehlende Reaktion führt zu katastrophalen Konsequenzen
- Weiche Echtzeitsysteme: Fehlende Reaktion führt zu Leistungseinbußen, aber nicht zu katastrophalen Folgen
- Formale Deadline: Reaktionszeit muss mathematisch beschreibbar sein
- Beispiel: Flugsteuerungssysteme, Fahrzeugsteuerungen, medizinische Geräte
- d(T): Zeitzwischen Ankunft eines Reizes und dessen Verarbeitung
Zeit- und Ereignismodellierung in Echtzeitsystemen
Definition:
Modellierung von Zeit und Ereignissen in Echtzeitsystemen; Ziel: präzise zeitliche Abläufe u. Abhängigkeiten spezifizieren
Details:
- Formel: Zeitbeziehungen: \(t_{start}, t_{end}, \tau\); Ereignisbeziehungen: \[E_i, E_j, \text{Zeitabstand:} \tau\]
- Zeitspezifikationen: absolute u. relative Zeitangaben
- Ereignismodellierung: diskrete Ereignisse, Zustandswechsel
- Verwendung: Echtzeitbetriebssysteme, Zeitsteuerung
- Werkzeuge: UML-Diagramme, Petri-Netze
Grundlagen der Echtzeitplanung
Definition:
Grundlagen der Echtzeitplanung umfassen Strategien und Verfahren zur Einhaltung von Zeitvorgaben in Echtzeitsystemen.
Details:
- Harte vs. weiche Echtzeitsysteme
- Planbarkeit: System muss Termine garantieren können
- Scheduling-Algorithmen: z.B. RM (Rate-Monotonic), EDF (Earliest Deadline First)
- Zeitliche Parameter: Task-Perioden (T_i), Deadlines (D_i), Ausführungszeiten (C_i)
- Utilization-Formel: U = \frac{\text{Summe aller } C_i}{\text{Summe aller } T_i}
- Prioritäten und Präemption
Deadlines und Zeitbeschränkungen
Definition:
Deadlines und Zeitbeschränkungen dienen zur Sicherstellung der rechtzeitigen Fertigstellung von Aufgaben in Echtzeitsystemen.
Details:
- Harte Deadline: Unbedingte Einhaltung erforderlich, sonst Systemversagen.
- Weiche Deadline: Leichte Überschreitung tolerierbar, führt zu Leistungseinbußen.
- Sporadische Aufgabe: Auftritt unregelmäßig, erfordert zeitlich beschränkte Bearbeitung.
- Periodische Aufgabe: Regelmäßig wiederkehrend, Zykluszeit festgelegt.
- Deadline-Miss: Nichteinhaltung der festgesetzten Deadline.
- Fristverzicht (Deadline Miss): Zeitüberschreitung wird akzeptiert.
Speicherverwaltung in Echtzeitbetriebssystemen
Definition:
Speicherverwaltung in Echtzeitbetriebssystemen bezieht sich auf das Management von Speicherressourcen unter strikten Zeitvorgaben, um deterministische und schnelle Zugriffe zu gewährleisten.
Details:
- Statische Speichervergabe: Speicher wird zur Compile-Zeit oder Initialisierungszeit festgelegt.
- Dynamische Speichervergabe: Speicher wird zur Laufzeit je nach Bedarf zugewiesen.
- Paging und Segmentierung: Methoden zur Speicherorganisation, um Fragmentierung zu vermeiden.
- Speicherbindung: Vermeidung von Speicherüberbuchung durch Priorisierung und Kontrolle.
- Garbage Collection: Oft eingeschränkt oder angepasst, um Echtzeitbedingungen zu erfüllen.
- Nutzung von Hardware-Mechanismen: TLBs (Translation Lookaside Buffers) und MMUs (Memory Management Units) zur Beschleunigung von Speicherzugriffen.
- Worst-Case Execution Time (WCET): Kritisch für die Bewertung des Zeitverhaltens von Speicherzugriffen.
Synchronisation mit Locks, Semaphoren und Monitoren
Definition:
Vermeidung von Race Conditions in Mehrprozessorsystemen durch Synchronisation von Threads.
Details:
- Locks: Exklusive Zugriffe auf gemeinsam genutzte Ressourcen durch Sperrmechanismen. Verwendung von
lock.acquire()
und lock.release()
. - Semaphore: Steuerung des Zugriffs auf eine Ressource durch Zählen von erlaubten Zugriffen. Verwendung von
sem.wait()
und sem.signal()
. - Monitore: Höhere Abstraktion für Synchronisation, bietet mutual exclusion und Condition Variables. Ressourcenmanagement durch eingebettete Synchronisationsmethoden.
Vermeidung von Deadlocks
Definition:
Methoden zur Vermeidung von Deadlocks in Echtzeitsystemen.
Details:
- Deadlocks entstehen durch gegenseitige Blockierungen von Prozessen.
- Vier notwendige Bedingungen: Mutual Exclusion, Hold and Wait, No Preemption, Circular Wait.
- Strategien zur Vermeidung:
- Ressourcenzuweisungen verhindern, die zu einem Deadlock führen können.
- Bankier-Algorithmus: Vermeidet unsichere Zustände durch Ressourcenallokationsgraphen.
- Verwendung von Timeouts für Ressourcenanforderungen.
- Kopplung von Deadlock-Vermeidungsmaßnahmen mit Scheduling-Strategien.
Model Checking und formale Methoden
Definition:
Verifikation von Systemen durch mathematische Modelle zur Sicherstellung von Korrektheit bezüglich spezifizierter Eigenschaften.
Details:
- Formale Spezifikationen oft in temporaler Logik wie LTL oder CTL
- Model Checking Algorithmen durchsuchen Zustandsräume systematisch
- Automatische Verifikation gegen gegebene Eigenschaften
- Werkzeuge: SPIN, NuSMV, PRISM
- Anwendung in Echtzeitsystemen zur Validierung von Timing-Anforderungen