Echtzeitsysteme mit erweiterten Übungen - Cheatsheet.pdf

Echtzeitsysteme mit erweiterten Übungen - Cheatsheet
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 Zuv...

© StudySmarter 2024, all rights reserved.

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
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