Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 4. Echtzeitaspekte der Software Echtzeitaspekte.

Ähnliche Präsentationen


Präsentation zum Thema: "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 4. Echtzeitaspekte der Software Echtzeitaspekte."—  Präsentation transkript:

1 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 2 4. Echtzeitaspekte der Software Bei vielen eingebetteten Systemen gibt die Umgebung Zeitbedingungen vor, die das eingebettete System einhalten muss Echtzeitanforderungen Beispiele: q Prozesssteuerung q Robotik q Fahrzeugsteuerung q Fertigung q...

3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 3 4. Echtzeitaspekte der Software Eingebettete Systeme sind daher oft Echtzeitsysteme: Eingebettete Systeme Echtzeitsysteme

4 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen q Bei Nicht-Echtzeitsystemen kommt es ausschließlich auf die logische Korrektheit der Ergebnisse an q Bei Echtzeitsystemen kommt neben der logischen Korrektheit auch die zeitliche Korrektheit der Ergebnisse Rechtzeitigkeit Gleichzeitigkeit Verfügbarkeit

5 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Stop logisch korrekt, zeitlich inkorrektlogisch und zeitlich korrekt Für alle Echtzeitsysteme gilt: Das Ergebnis von Echtzeit-Datenverarbeitung ist nur dann korrekt, wenn es logisch und zeitlich korrekt ist.

6 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Technisches Umfeld, Technischer Prozess Echtzeit- Datenverarbeitung (Steuerung, Regelung, Überwachung) Ausgabedaten Eingabedaten muss Daten rechtzeitig abholen und liefern diktiert Zeitbedingungen Grundbegriffe des Zusammenspiels mit dem Umfeld: Rechtzeitigkeit heißt, die Ausgabedaten müssen rechtzeitig berechnet werden und zur Verfügung stehen.

7 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Zeit t t max t min Zeit t min t max a) b) c) d) a)Angabe eines genauen Zeitpunktes (Teileauswurf von Förderband) b)Angabe eines spätesten Zeitpunktes (Deadline, Verlassen Kreuzung) c)Angabe eines frühesten Zeitpunktes (Entladen) d)Angabe eines Zeitintervalls (Jitter) Varianten zur Angabe einer Zeitbedingung:

8 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Zeit t a) b) t + p t + 2p t + 3p p: Periodendauer t1t1 t2t2 t3t3 t4t4 aperiodisch a)periodische Zeitbedingungen b)aperiodische Zeitbedingungen Periodische und aperiodische Zeitbedingungen:

9 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Je nach Strenge der einzuhaltenden Zeitbedingungen unterscheidet man q weiche Echtzeitbedingungen (soft deadline) können in gewissen Grenzen überschritten werden, ohne zu fatalen Systemzuständen zu führen(periodische Abfrage Temperatursensor) q feste Echtzeitbedingungen (firm deadline) bewirken bei Überschreiten einen Abbruch der Aktion (Überwachung von Verfall, Flugpositionen) q 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 Zeit Wert Deadline Zeit Wert Deadline weichfesthart Wert > 0: ausführen, Wert = 0: abbrechen, Wert < 0: Schaden

10 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Laserscanner- Datenverarbeitung Kamera- Datenverarbeitung Transponder- Erkennung Funk- Kommunikation Motorsteuerung und -regelung FTS Die Gleichzeitigkeit bedeutet, dass die Rechtzeitigkeit für mehrere Aktionen gleichzeitig gewährleistet sein muss. Beispiel: Gleichzeitig durchzuführende Aufgaben bei einem fahrerlosen Transportsystem

11 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen... Vollständige Parallelverarbeitung, Mehrprozessorsystem Prozessor 1 Prozessor m Aufgabe 1... Echtzeit-Scheduler Prozessor 1 Aufgabe n... Aufgabe n... Aufgabe 1 Prozessor 1... Prozessor n n > m Aufgabe n Aufgabe 1 Quasi-Parallelverarbeitung, Einprozessorsystem Quasi-Parallelverarbeitung, Mehrprozessorsystem 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

12 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Grundlagen von Echtzeitsystemen Ereignisse a)Speicherreorganisation im Block b) Speicherreorganisation in kleinen Schritten verpasst Betrieb Reorganisation 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

13 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Es gibt zwei grundlegende Programmierverfahren: Die synchrone Programmierung zur Konstruktion zeitgesteuerter Systeme. Die asynchrone Programmierung zur Konstruktion von ereignisgesteuerten Systemen.

14 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung 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 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Laserscanner- Datenverarbeitung Kamera- Datenverarbeitung Transponder- Erkennung Funk- Kommunikation Motorsteuerung und -regelung FTS Vereinfachtes FTS Beispiel mit zwei periodischen Aufgaben

16 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Zeit- geber T Kameradatenverarbeitung Motorsteuerung Eingabe Ausgabe T 2T2T Kamera Motor Kameradaten Motordaten Fahrspur Prozessorkern Mikrocontroller Aufbau der FTS Steuerung mit einem Mikrocontroller

17 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Ablaufplanung Aufgabe Periode Kameradaten- verarbeitung T Motor- steuerung 2T2T Kameradaten- verarbeitung aufrufen Motorsteuerung aufrufen t++ t = = 2 ? t = 0 Ende Unterbrechung ja nein Periodische Unterbrechung im Zeitabstand T Initialisierung Ablaufplanung und deren Realisierung für die einfache FTS-Steuerung

18 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung T 2T2T 3T3T 4T4T 5T5T 6T6T 7T7T 2T2T T Ruhe Kameradaten- verarbeitung Motor- steuerung 8T8T 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. Zeitlicher Ablauf der einfachen FTS-Steuerung

19 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung T 2T2T 3T3T 4T4T 5T5T 6T6T 7T7T 2T2T T + ta ta: Ausführungszeit Kameradatenverarbeitung + Ausführungszeit Motorsteuerung -T Ruhe Kameradaten- verarbeitung Motor- steuerung 8T8T Periodenabweichung bei Summe der Ausführungszeiten größer T

20 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung T 2T2T 3T3T 4T4T 5T5T 6T6T 7T7T 3T + t k 2T2T Angestrebte Periodendauer: Kameradatenverarbeitung: 2T Motorsteuerung: 3T Ruhe Kameradaten- verarbeitung Motor- steuerung 8T8T t k : Ausführungszeit Kameradaten- verarbeitung Periodenabweichung bei Verletzung ´Periodenzeit ist ganzzahliges Vielfaches der nächst kürzeren Periodenzeit.´

21 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Laserscanner- Datenverarbeitung Kamera- Datenverarbeitung Transponder- Erkennung Funk- Kommunikation Motorsteuerung und -regelung FTS Aperiodische Ereignisse (Transponder, Laserscanner) bei der synchronen Programmierung nur mittels periodischer Überprüfung möglich Komplexeres FTS Beispiel mit vier Aufgaben

23 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Kameradatenverarbeitung Transpondererkennung 3T3T Fahrspur Motorsteuerung 2T2T Laserscannerdaten- verarbeitung 4T4T T Kamera Laserscanner Mikrocontroller Kameradaten Laserscannerdaten Transponder- daten Kollisions- gefahr Landmarke Zeit- geber T Eingabe Ausgabe Motor Prozessorkern Motordaten Transponder- leser Aufbau der komplexeren FTS Steuerung mit einem Mikrocontroller

24 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Ablaufplanung AufgabePeriode Kameradaten- verarbeitung T Motorsteuerung2T Laserscannerdaten- verarbeitung 3T Transponder- erkennung 4T Kameradaten- verarbeitung aufrufen ja nein Periodische Unterbrechung im Zeitabstand T Initialisierung ja nein t 1 = 0, t 2 = 0, t 3 = 0 t++, t 2 ++, t 3 ++ t 1 == 2 ? Motorsteuerung aufrufen t 1 = 0 t 2 == 3 ? t 3 == 4 ? Laserscannerda- tenverarbeitung aufrufen t 2 = 0 Transponder- erkennung aufrufen t 3 = 0 Ende Unterbrechung ja nein ja nein Ablaufplanung und deren Realisierung für eine komplexere FTS- Steuerung

25 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung T 2T2T ~ 3T 4T4T Ruhe Kameradaten- verarbeitung Motor- steuerung 8T8TT2T2T3T3T4T4T5T5T6T6T7T7T Laserscanner- datenverarbeitung Transponder- datenverarbeitung Zeitlicher Ablauf der komplexeren FTS-Steuerung

26 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung 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 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung 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. Ein einfaches Echtzeitscheduling-Verfahren

28 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Kameradatenverarbeitung Transpondererkennung Fahrspur Motorsteuerung 2T2T Laserscannerdaten- verarbeitung T Kamera Laserscanner Mikrocontroller Kamera- daten Kollisions- gefahr Landmarke Zeit- geber T Ausgabe Prozessorkern Motor Echtzeitbetriebssystem Ereignisse Unterbrechungen Laserscanner- daten Motordaten Transponder- daten Transponder- leser Eingabe FTS Steuerung mittels Mikrocontroller und asynchroner Programmierung

29 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Prioritätenzuordnung AufgabeEreignisPeriode Priorität Laserscanner- datenverarbeitung Kollisions- warnung - 1 (höchste) Transponder- erkennung Landmarke erkannt - 2 Kameradaten- verarbeitung ZeitgeberT 3 Motor- steuerung Zeitgeber2T 4 (niedrigste) Prioritätenzuordnung für das FTS bei asynchroner Programmierung

30 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung T > 2T Kollisionswarnung 6T6T > T < 2T Ruhe Kameradaten- verarbeitung Motor- steuerung 8T8TT2T2T3T3T4T4T5T5T7T7T Laserscanner- datenverarbeitung Transponder- datenverarbeitung Landmarke Zeitlicher Ablauf der FTS-Steuerung bei asynchroner Programmierung

31 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung 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) Charakterisierung der asynchronen Programmierung

32 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Aktivität A B C E D C/D ? 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 Formen der Ablaufsteuerung: zyklisch

33 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Zeit A ? Aktivität A Zeit B ? Aktivität B Zeit C ? Aktivität C Ja Nein Ja 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 Formen der Ablaufsteuerung: zeitgesteuert

34 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Echtzeitprogrammierung Aktivität A B C D Unter- brechung Ende Unter- brechung 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 Formen der Ablaufsteuerung: unterbrechungsgesteuert


Herunterladen ppt "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 4. Echtzeitaspekte der Software Echtzeitaspekte."

Ähnliche Präsentationen


Google-Anzeigen