Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

4. Echtzeitaspekte der Software

Ähnliche Präsentationen


Präsentation zum Thema: "4. Echtzeitaspekte der Software"—  Präsentation transkript:

1 4. Echtzeitaspekte der Software
Echtzeitaspekte der Software eingebetteter Systeme 4.1 Grundlagen von Echtzeitsystemen 4.2 Echtzeitprogrammierung 4.3 Aufbau von Echtzeitbetriebssystemen 4.4 Echtzeitscheduling 4.5 Synchronisation und Kommunikation 4.6 Speicher- und IO-Verwaltung 4.7 Klassifizierung und Beispiele von Echtzeitbetriebssystemen

2 4. Echtzeitaspekte der Software
Bei vielen eingebetteten Systemen gibt die Umgebung Zeitbedingungen vor, die das eingebettete System einhalten muss Echtzeitanforderungen Beispiele: Prozesssteuerung Robotik Fahrzeugsteuerung Fertigung ...

3 4. Echtzeitaspekte der Software
Eingebettete Systeme sind daher oft Echtzeitsysteme: Echtzeitsysteme Eingebettete Systeme

4 4.1 Grundlagen von Echtzeitsystemen
Bei Nicht-Echtzeitsystemen kommt es ausschließlich auf die logische Korrektheit der Ergebnisse an Bei Echtzeitsystemen kommt neben der logischen Korrektheit auch die zeitliche Korrektheit der Ergebnisse Rechtzeitigkeit Gleichzeitigkeit Verfügbarkeit

5 4.1 Grundlagen von Echtzeitsystemen
Für alle Echtzeitsysteme gilt: Das Ergebnis von Echtzeit-Datenverarbeitung ist nur dann korrekt, wenn es logisch und zeitlich korrekt ist. Stop Stop logisch korrekt, zeitlich inkorrekt logisch und zeitlich korrekt

6 4.1 Grundlagen von Echtzeitsystemen
Grundbegriffe des Zusammenspiels mit dem Umfeld: Rechtzeitigkeit heißt, die Ausgabedaten müssen rechtzeitig berechnet werden und zur Verfügung stehen. muss Daten rechtzeitig abholen und liefern Ausgabedaten Echtzeit- Datenverarbeitung Technisches Umfeld, Technischer Prozess (Steuerung, Regelung, Überwachung) Eingabedaten diktiert Zeitbedingungen

7 4.1 Grundlagen von Echtzeitsystemen
Varianten zur Angabe einer Zeitbedingung: a) Zeit t b) Zeit tmax c) Zeit tmin d) Zeit tmin tmax Angabe eines genauen Zeitpunktes (Teileauswurf von Förderband) Angabe eines spätesten Zeitpunktes (Deadline, Verlassen Kreuzung) Angabe eines frühesten Zeitpunktes (Entladen) Angabe eines Zeitintervalls (Jitter)

8 4.1 Grundlagen von Echtzeitsystemen
Periodische und aperiodische Zeitbedingungen: a) Zeit t t + p t + 2p t + 3p p: Periodendauer b) Zeit t1 t2 t3 t4 aperiodisch periodische Zeitbedingungen aperiodische Zeitbedingungen

9 4.1 Grundlagen von Echtzeitsystemen
Je nach Strenge der einzuhaltenden Zeitbedingungen unterscheidet man weiche Echtzeitbedingungen (soft deadline) können in gewissen Grenzen überschritten werden, ohne zu fatalen Systemzuständen zu führen(periodische Abfrage Temperatursensor) feste Echtzeitbedingungen (firm deadline) bewirken bei Überschreiten einen Abbruch der Aktion (Überwachung von Verfall, Flugpositionen) harte Echtzeitbedingungen (hard deadline) müssen auf jeden Fall eingehalten werden, anderenfalls droht Schaden (Anhalten vor Ampel) Die Bewertung von Zeitbedingungen kann auch durch eine Wertfunktion erfolgen: Zeit Wert Deadline weich fest hart Wert > 0: ausführen, Wert = 0: abbrechen, Wert < 0: Schaden

10 4.1 Grundlagen von Echtzeitsystemen
Die Gleichzeitigkeit bedeutet, dass die Rechtzeitigkeit für mehrere Aktionen gleichzeitig gewährleistet sein muss . Beispiel: Gleichzeitig durchzuführende Aufgaben bei einem fahrerlosen Transportsystem Transponder- Erkennung Funk- Kommunikation Kamera- Datenverarbeitung FTS Motorsteuerung und -regelung Laserscanner- Datenverarbeitung

11 4.1 Grundlagen von Echtzeitsystemen
Möglichkeiten zur Erfüllung der Gleichzeitigkeit: Vollständige Parallelverarbeitung in einem Mehrprozessorsystem Quasi-parallele Verarbeitung in einem Mehrprozessorsystem Quasi-parallele Verarbeitung in einem Einprozessorsystem Vollständige Parallelverarbeitung, Mehrprozessorsystem Quasi-Parallelverarbeitung, Mehrprozessorsystem Quasi-Parallelverarbeitung, Einprozessorsystem Aufgabe 1 . . . Aufgabe n Aufgabe 1 . . . Aufgabe n Aufgabe 1 . . . Aufgabe n Echtzeit-Scheduler Echtzeit-Scheduler n > m Prozessor 1 Prozessor n Prozessor 1 Prozessor m Prozessor 1 . . . . . .

12 4.1 Grundlagen von Echtzeitsystemen
Die Verfügbarkeit: Echtzeitsysteme müssen über einen längeren Zeitraum hinweg verfügbar sein (z.B. rund um die Uhr). Verfügbarkeit erfordert keine Unterbrechungen des Betriebs für Reorganisationsphasen. Problematisch: Reorganisation von DB, Speicherbereinigung von z.B. Java Speicherreorganisation im Block b) Speicherreorganisation in kleinen Schritten verpasst Betrieb Reorganisation Ereignisse Ereignisse

13 4.2 Echtzeitprogrammierung
Es gibt zwei grundlegende Programmierverfahren: Die synchrone Programmierung zur Konstruktion zeitgesteuerter Systeme. Die asynchrone Programmierung zur Konstruktion von ereignisgesteuerten Systemen.

14 4.2 Echtzeitprogrammierung
4.2.1 Synchrone Programmierung Das zeitliche Verhalten periodischer Aktionen wird vor deren Ausführung geplant Die periodischen Aktionen werden in ein Zeitraster T synchronisiert (daher Name des Verfahrens) Aktionen werden immer zu ganzzahligen Vielfachen von T ausgeführt Das Zeitraster wird durch einen Zeitgeber gewonnen Die Reihenfolge des Ablaufs der Teilprogramme wird fest vorgegeben

15 4.2 Echtzeitprogrammierung
Vereinfachtes FTS Beispiel mit zwei periodischen Aufgaben Transponder- Erkennung Funk- Kommunikation Kamera- Datenverarbeitung FTS Motorsteuerung und -regelung Laserscanner- Datenverarbeitung

16 4.2 Echtzeitprogrammierung
Aufbau der FTS Steuerung mit einem Mikrocontroller Fahrspur Kameradatenverarbeitung Motorsteuerung Kameradaten T 2T Motordaten Prozessorkern T Zeit- geber Eingabe Ausgabe Mikrocontroller Kamera Motor

17 4.2 Echtzeitprogrammierung
Ablaufplanung und deren Realisierung für die einfache FTS-Steuerung Kameradaten- verarbeitung aufrufen Motorsteuerung t++ t = = 2 ? t = 0 Ende Unterbrechung ja nein Periodische Unterbrechung im Zeitabstand T Initialisierung Ablaufplanung Aufgabe Periode Kameradaten- verarbeitung T Motor- steuerung 2T

18 4.2 Echtzeitprogrammierung
Zeitlicher Ablauf der einfachen FTS-Steuerung 2T Motor- steuerung T Kameradaten- verarbeitung Ruhe T 2T 3T 4T 5T 6T 7T 8T Exakte Einhaltung der Periodenzeiten unter zwei Bedingungen: Die Summe der Ausführungszeiten der einzelnen Aufgaben ist kleiner T. Jede längere Periodenzeit ist ein ganzzahliges Vielfaches der nächst kürzeren Periodenzeit.

19 4.2 Echtzeitprogrammierung
Periodenabweichung bei Summe der Ausführungszeiten größer T 2T Motor- steuerung Kameradaten- verarbeitung T + ta Ruhe T 2T 3T 4T 5T 6T 7T 8T ta: Ausführungszeit Kameradatenverarbeitung + Ausführungszeit Motorsteuerung -T

20 4.2 Echtzeitprogrammierung
Periodenabweichung bei Verletzung ´Periodenzeit ist ganzzahliges Vielfaches der nächst kürzeren Periodenzeit.´ 3T + tk tk: Ausführungszeit Kameradaten- verarbeitung Motor- steuerung 2T Kameradaten- verarbeitung Ruhe T 2T 3T 4T 5T 6T 7T 8T Angestrebte Periodendauer: Kameradatenverarbeitung: 2T Motorsteuerung: T

21 4.2 Echtzeitprogrammierung
Die Vorteile der synchronen Programmierung sind offensichtlich: Sie besitzt ein festes, vorhersagbares Zeitverhalten. Sie erlaubt eine einfache Analyse und einen einfachen Test des Systems. Sie ist hervorragend bei zyklischen Abläufen anwendbar. Bei richtiger Planung können Rechtzeitigkeit und Gleichzeitigkeit garantiert werden. Dadurch ist die synchrone Programmierung insbesondere für zyklische und sicherheitsrelevante Aufgaben geeignet. Daneben sind aber auch zwei wesentliche Nachteile zu nennen: Geringe Flexibilität gegenüber Änderungen der Aufgabestellung. Eine Reaktion auf aperiodische Ereignisse ist nicht vorgesehen.

22 4.2 Echtzeitprogrammierung
Komplexeres FTS Beispiel mit vier Aufgaben Transponder- Erkennung Funk- Kommunikation Kamera- Datenverarbeitung FTS Motorsteuerung und -regelung Laserscanner- Datenverarbeitung Aperiodische Ereignisse (Transponder, Laserscanner) bei der synchronen Programmierung nur mittels periodischer Überprüfung möglich

23 4.2 Echtzeitprogrammierung
Aufbau der komplexeren FTS Steuerung mit einem Mikrocontroller Transpondererkennung Transponder- daten 4T Landmarke Fahrspur Kameradatenverarbeitung Motorsteuerung T Kameradaten Kollisions- gefahr 2T Laserscannerdaten- verarbeitung Motordaten Laserscannerdaten 3T Prozessorkern T Eingabe Zeit- geber Ausgabe Mikrocontroller Transponder- leser Kamera Laserscanner Motor

24 4.2 Echtzeitprogrammierung
Ablaufplanung und deren Realisierung für eine komplexere FTS-Steuerung Initialisierung t1= 0, t2 = 0, t3 = 0 Periodische Unterbrechung im Zeitabstand T ja nein Laserscannerda- tenverarbeitung aufrufen t++, t2++, t3++ Kameradaten- verarbeitung aufrufen t2= 0 t3 == 4 ? t1 == 2 ? nein nein Ablaufplanung Aufgabe Periode Kameradaten- verarbeitung T Motorsteuerung 2T Laserscannerdaten-verarbeitung 3T Transponder-erkennung 4T ja ja Motorsteuerung aufrufen Transponder- erkennung aufrufen t1= 0 t3= 0 t2 == 3 ? nein Ende Unterbrechung ja

25 4.2 Echtzeitprogrammierung
Zeitlicher Ablauf der komplexeren FTS-Steuerung ~ 3T 4T Transponder- datenverarbeitung 2T Laserscanner- datenverarbeitung Motor- steuerung T Kameradaten- verarbeitung Ruhe T 2T 3T 4T 5T 6T 7T 8T

26 4.2 Echtzeitprogrammierung
4.2.2 Asynchrone Programmierung Ablaufplanung der Aktionen zur Laufzeit durch ein Organisationsprogramm (Echtzeitbetriebssystem) Aufgaben des Organisationsprogramms: Ereignisse überwachen Informationen über einzuhaltende Zeitbedingungen entgegennehmen Ablaufreihenfolge von Teilprogrammen zur Bearbeitung der eingetretenen Ereignisse ermitteln Teilprogramme gemäß der ermittelten Ablaufreihenfolge aktivieren Dies nennt man Echtzeitscheduling

27 4.2 Echtzeitprogrammierung
Ein einfaches Echtzeitscheduling-Verfahren Fixed Priority Preemptive Scheduling besitzt folgende Eigenschaften: Jedes Ereignis erhält eine feste Priorität (Fixed Priority) Die Reihenfolge der Ausführung richtet sich nach dieser Priorität, Ereignisse hoher Priorität werden vor Ereignissen niederer Priorität behandelt. Ereignisse höherer Priorität unterbrechen Ereignisse niederer Priorität (Preemption). Die Bearbeitung eines Ereignisses niederer Priorität wird erst wieder aufgenommen, wenn alle Ereignisse höherer Priorität abgearbeitet oder inaktiv geworden sind.

28 4.2 Echtzeitprogrammierung
Transponder- daten FTS Steuerung mittels Mikrocontroller und asynchroner Programmierung Transpondererkennung Landmarke Fahrspur Kameradatenverarbeitung Motorsteuerung Kamera- daten T Kollisions- gefahr Laserscanner- daten 2T Laserscannerdaten- verarbeitung Motordaten Echtzeitbetriebssystem Prozessorkern Ereignisse Unterbrechungen T Eingabe Zeit- geber Ausgabe Mikrocontroller Transponder- leser Kamera Laserscanner Motor

29 4.2 Echtzeitprogrammierung
Prioritätenzuordnung für das FTS bei asynchroner Programmierung Prioritätenzuordnung Aufgabe Ereignis Periode Priorität Laserscanner- datenverarbeitung Kollisions- warnung - 1 (höchste) Transponder- erkennung Landmarke erkannt - 2 Kameradaten- verarbeitung Zeitgeber T 3 Motor- steuerung Zeitgeber 2T 4 (niedrigste)

30 4.2 Echtzeitprogrammierung
Zeitlicher Ablauf der FTS-Steuerung bei asynchroner Programmierung Transponder- datenverarbeitung Laserscanner- datenverarbeitung > 2T < 2T Motor- steuerung T > T Kameradaten- verarbeitung Ruhe T 2T 3T 4T 5T 6T 7T 8T Kollisionswarnung Kollisionswarnung Landmarke

31 4.2 Echtzeitprogrammierung
Charakterisierung der asynchronen Programmierung Flexibler Programmablauf und flexible Programmstruktur Reaktion auf periodische und aperiodische Ereignisse Rechtzeitigkeit nicht in jedem Fall im Voraus garantierbar Je niederer die Priorität einer Aktivität, desto größer die möglichen Zeitschwankungen Systemanalyse und Systemtest daher schwieriger als bei der synchronen Programmierung Je nach verwendeter Echtzeitschedulingstrategie ist jedoch bei Kenntnis bestimmter Parameter (kleinste Periodendauer, größte Ausführungszeit der Aktivitäten) eine Vorabanalyse zur Rechtzeitigkeit möglich (Feasibility Analysis)

32 4.2 Echtzeitprogrammierung
Aktivität A B C E D C/D ? Formen der Ablaufsteuerung: zyklisch Spezielle Form der synchronen Programmierung Fortlaufende Schleife – schnellstmögliche Periodendauer Periodendauer = Summe der Ausführungs- zeiten einzelner Aktivitäten. Definierte Periodendauer durch Warteschleifen Schwankende Periodendauer durch alternative Aktivitäten Prozessor ständig aktiv

33 4.2 Echtzeitprogrammierung
Zeit A ? Aktivität A Zeit B ? B Zeit C ? C Ja Nein Formen der Ablaufsteuerung: zeitgesteuert Für synchrone Programmierung gut geeignet Fortlaufende Schleife Periodendauer ist bestimmt durch die Abfragezeiten A, B und C und ggf. durch die Ausführungszeiten der Aktivitäten Konstante Periodendauer, falls folgende Bedingungen erfüllt sind: Summe aller Ausführungszeiten < T Längere Periodenzeit = ganzzahl. Vielfaches der kürzere Periodenzeit Prozessor ständig aktiv

34 4.2 Echtzeitprogrammierung
Formen der Ablaufsteuerung: unterbrechungsgesteuert Aktivität A B C D Unter- brechung Ende Unter- Ruhezustand Prozessor nicht ständig aktiv Ereignisgesteuert (Unterbrechung durch Ereignis) oder zeitgesteuert (Unterbrechung durch Zeitgeber) Geeignet für asynchrone und synchrone Programmierung Wegen Energieeffizienz bevorzugte Lösung Bei gleichzeitigen Ereignissen bestimmen die Prioritäten den Ablauf oder es wird ein fester Ablauf vorgegeben Echtzeitscheduling


Herunterladen ppt "4. Echtzeitaspekte der Software"

Ähnliche Präsentationen


Google-Anzeigen