Echtzeitsysteme mit erweiterten Übungen - Cheatsheet.pdf

Echtzeitsysteme mit erweiterten Übungen - Cheatsheet
Echtzeitsysteme mit erweiterten Übungen - Cheatsheet Definition und Eigenschaften von Echtzeitsystemen Definition: Echtzeitsysteme sind Computersysteme, die ihre Aufgaben innerhalb einer festgelegten Zeitspanne ausführen müssen. Details: Determinismus: Vorhersehbares Verhalten Zeitschranken: Deadlines müssen eingehalten werden Reaktionsfähigkeit: Schnelle Reaktion auf externe Ereignisse Zuverlässi...

© StudySmarter 2024, all rights reserved.

Echtzeitsysteme mit erweiterten Übungen - Cheatsheet

Definition und Eigenschaften von Echtzeitsystemen

Definition:

Echtzeitsysteme sind Computersysteme, die ihre Aufgaben innerhalb einer festgelegten Zeitspanne ausführen müssen.

Details:

  • Determinismus: Vorhersehbares Verhalten
  • Zeitschranken: Deadlines müssen eingehalten werden
  • Reaktionsfähigkeit: Schnelle Reaktion auf externe Ereignisse
  • Zuverlässigkeit: Hohe Verfügbarkeit und Fehlertoleranz
  • Oft verwendet in: Automobilindustrie, Medizintechnik, Raumfahrt
  • Echtzeitanforderungen:
    • Harte Echtzeitsysteme: Strikte Deadlines
    • Weiche Echtzeitsysteme: Flexible Deadlines
  • Latency und Jitter minimieren

Zeitplanung und Scheduling-Algorithmen

Definition:

Planung und Verteilung der CPU-Zeit auf verschiedene Aufgaben in einem Echtzeitsystem zur Einhaltung von Zeitbeschränkungen.

Details:

  • Wichtigste Scheduling-Algorithmen:
    • Rate Monotonic Scheduling (RMS)
    • Earliest Deadline First (EDF)
    • Least Laxity First (LLF)
  • RMS: Priorität basierend auf Frequenz, höhere Frequenz = höhere Priorität
  • EDF: Priorität basierend auf Deadline, näherliegende Deadline = höhere Priorität
  • LLF: Priorität basierend auf Laxität, geringere Laxität = höhere Priorität
  • Nutze Gleichungen für RMS:
    • Nutze Gleichung \( U = \sum_{i=1}^{n} \frac{C_{i}}{T_{i}} \leq n(2^{1/n} - 1) \)
    • Wobei \(C\) die Ausführungszeit und \(T\) der Periodenlänge der Aufgaben darstellen.

Architektur von Echtzeitbetriebssystemen

Definition:

Architektur von Betriebssystemen, die zeitkritische Anforderungen erfüllen müssen.

Details:

  • Task Management: Prioritäten, Scheduling-Algorithmen (z.B. EDF, RM).
  • Speicherverwaltung: Echtzeit-Speicherallokation, statische vs. dynamische Partitionierung.
  • Interprozesskommunikation: Nachrichtenqueues, Semaphoren, Mutexe.
  • Unterbrechungssteuerung: Interrupt-Handling, deterministische Antwortzeiten.
  • Zugriffskontrolle: Sicherheit und Vermeidung von Deadlocks.
  • Echtzeit-Uhr: Timer, Zähler, Zeitstempel.
  • Fehlertoleranz: Mechanismen zur Erkennung und Korrektur von Fehlern.
  • Multiprozessor-Unterstützung: Lastverteilung, Synchronisation über mehrere Prozessoren.

Interprozesskommunikation und Synchronisation in Echtzeitbetriebssystemen

Definition:

Mechanismen, die es Prozessen in einem Echtzeitbetriebssystem ermöglichen, Daten auszutauschen und ihre Ausführung zu koordinieren.

Details:

  • Mailboxen: Mechanismus zum Nachrichtenaustausch, bei dem Nachrichten in einer Warteschlange abgelegt werden.
  • Queues: FIFO-Datenstruktur zur geregelten Übergabe von Nachrichten.
  • Semaphoren: Signalisierungsmechanismus zur Steuerung des Zugriffs auf gemeinsame Ressourcen.
  • Mutexe: Verhindern gleichzeitigem Zugriff auf Ressourcen durch mehrere Prozesse.
  • Event Flags: Bits, die Ereignisse in einem System signalisieren.
  • Prioritätsinversion: Problem, bei dem ein höher priorisierter Task warten muss, weil ein niedriger priorisierter Task die Ressource hält.
  • PIP (Priority Inheritance Protocol): Strategie zur Vermeidung von Prioritätsinversion.
  • Rate Monotonic Scheduling: Statisches Scheduling-Verfahren basierend auf Auftragsraten.
  • EDF (Earliest Deadline First): Dynamisches Scheduling-Verfahren, basierend auf dem frühesten Fälligkeitstermin.

Modellierung und Simulation von Echtzeitsystemen

Definition:

Modellierung und Simulation von Echtzeitsystemen bezieht sich auf die Abbildung und Analyse von Systemen, die auf zeitkritischen Anforderungen basieren. Ziel ist es, die Funktionsweise und das Verhalten des Systems in Echtzeit zu verstehen und vorherzusagen.

Details:

  • Modelle dienen der Abstraktion realer Echtzeitsysteme.
  • Simulation ermöglicht das Testen unter verschiedenen Bedingungen ohne Einsatz des realen Systems.
  • Grundlegende Modelle: Zustandsautomaten, Petri-Netze.
  • Latenz und Timing: zentral für Echtzeitsimulation.
  • Verwendung von Simulationswerkzeugen (z.B. MATLAB/Simulink).
  • Anwendung: Verkehrssteuerung, Robotik, eingebettete Systeme.

Fehlertoleranz und Zuverlässigkeit in Echtzeitsystemen

Definition:

Fehlertoleranz und Zuverlässigkeit sind wesentliche Merkmale von Echtzeitsystemen, um sicherzustellen, dass sie trotz Fehlern korrekt und rechtzeitig funktionieren.

Details:

  • Fehlertoleranz: Fähigkeit eines Systems, korrekt weiterzuarbeiten, selbst wenn Teile des Systems ausfallen.
  • Zuverlässigkeit: Wahrscheinlichkeit, dass ein System über einen bestimmten Zeitraum fehlerfrei funktioniert.
  • Redundanz: Einsatz mehrfach vorhandener Komponenten zur Fehlererkennung und -behebung.
  • Fehlerarten: Transiente Fehler, permanente Fehler, intermittierende Fehler.
  • Maßnahmen: Fehlererkennung, Fehlerisolation, Fehlerbehebung (z.B. Neuinitialisierung einer Komponente).
  • Rechenschaftspflicht: Mechanismen zur Aufzeichnung und Berichterstattung von Fehlerzuständen.

Redundanz und Wiederherstellungsmethoden

Definition:

Redundanz und Wiederherstellungsmethoden dienen der Fehlererkennung und -korrektur in Echtzeitsystemen.

Details:

  • Redundanz: Erhöhung der Systemzuverlässigkeit durch mehrfach vorhandene Komponenten
  • Arten der Redundanz:
    • Hardware-Redundanz (z.B. zusätzliche Prozessoren)
    • Software-Redundanz (z.B. mehrere Algorithmen zur gleichen Aufgabe)
    • Daten-Redundanz (z.B. Spiegelung von Festplatten)
  • Wiederherstellungsmethoden: Techniken zur Wiederherstellung des normalen Betriebszustands nach einem Fehler
  • Wichtige Methoden:
    • Fehler-Toleranz (z.B. selbstkorrigierende Codes)
    • Fehler-Maskierung (z.B. Triple Modular Redundancy)
    • Fehler-Detektion und -Korrektur (z.B. Checksummen)
  • \textbf{Formeln:}
    • Triple Modular Redundancy: \textit{3 identische Module, Mehrheit entscheidet}
    • Checksummenberechnung: \textit{Summe der Datenbits modulo eine Basis}
    • Fehlerkorrigierende Codes: \textit{Hamming-Abstand, Paritätsbits}

Best Practices in der Echtzeitprogrammierung

Definition:

Best Practices in Echtzeitprogrammierung: Optimierung von Leistung und Zuverlässigkeit in zeitkritischen Anwendungen.

Details:

  • Priorisierte Aufgabenverwaltung: Höchste Priorität für kritische Aufgaben.
  • Task Scheduling: Verwende deterministische Algorithmen.
  • Ressourcenverwaltung: Minimale Sperrzeiten durch optimale Synchronisation.
  • Interrupt-Vermeidung: Reduziere die Anzahl und Dauer von Interrupts.
  • Speichermanagement: Verwende statische Speicherzuweisung um Fragmentierung zu vermeiden.
  • Latenz und Jitter: Messung, Minimierung und Überwachung.
  • Taktzyklenanalyse: Überprüfe und optimiere den Zyklusverbrauch von Routinen.
  • Code Effizienz: Nutze Hardwarebeschleunigung und effiziente Algorithmen.
  • Simulation und Modellierung: Vorabtests zur Erkennung von Engpässen und Schwachstellen.
  • Dokumentation: Achte auf klare und präzise Dokumentation für Wartbarkeit und Fehlersuche.
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