4. Echtzeitaspekte der Software

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Matrixmultiplikation
Elodie Legros, Tobias Rötschke, Andy Schürr Fachgebiet Echtzeitsysteme
RM Optimalität RM ist bzgl. Zulässigkeit optimal unter den präemptiven Scheduling-Verfahren mit festen Prioritäten. D.h. gibt es einen zulässigen Plan,
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
7.3 Scheduling Zur Erinnerung:
Polynome und mehrfache Nullstellen
Das „Vorgehensmodell“
Zusammenfassung der Vorwoche
Arbeitsbereich Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS Grundlagen omnidirektionaler Sichtsysteme.
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme Robert-Mayer-Straße Sekretariat: Linda Stapleton,
Seite 1 BA Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Aug 2008 Das zeitliche Verhalten periodisch auszuführender Aktionen.
Aufgaben zum Scheduling
Nebenläufigkeit Teil I
Qualitätssicherung von Software
On a Buzzword: Hierachical Structure David Parnas.
Der Einstieg in das Programmieren
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Beispiel 2: Iterative-Inkrementelle Vorgehensmodelle Annahmen: Anforderungen sind unvollständig.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Java: Objektorientierte Programmierung
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Diskrete Methoden Schedulingalgorithmen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme Robert-Mayer-Straße Sekretariat: Linda Stapleton,
2.5. Mikrocontroller-Komponenten
Klausur „Diskrete Mathematik II“
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Inhalte und Maßnahmen eingegeben haben,
Batch-Programmierung Grundlagen
DVG Ablaufsteuerung
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Gesundes Führen lohnt sich !
Vorlesung Biometrie für Studierende der Veterinärmedizin Begriff der Zufallsgröße Ergebnisse von Zufallsexperimenten werden als Zahlen dargestellt:
Vielstoffthermodynamik
Entwicklung verteilter eingebetteter Systeme - Einführung
Das Wasserfallmodell - Überblick
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Materialien zum Informatikunterricht (Pohlig-Häberle)
Echtzeit-Systeme. Systeme zur unmittelbaren Steuerung und Abwicklung von Prozessen, welche dafür an sie gestellte quantitative Echtzeitanforderungen erfüllen.
...ich seh´es kommen !.
Java Garbage Collection Angelika Kusel, Überblick Was ist Garbage Collection? Vor- und Nachteile von GC GC-Algorithmen/Verfahren Java Garbage.
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Auslegung eines Vorschubantriebes
Jakis Überblick! Ein Viereck hat 4 Ecken (und 4 Seiten).
STATISIK LV Nr.: 0028 SS Mai 2005.
Analyse von Ablaufdiagrammen
PRO:CONTROL Ziel des Moduls Arbeitspakete
Analyseprodukte numerischer Modelle
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Mehrbenutzerzugriff auf GIS-Daten
Anforderungen an Automotive Bussysteme
Rechnerstrukturen 3b. Endliche Automaten.
4.3 Aufbau von Echtzeitbetriebssystemen
Responsorium 14 Mathematik für alle
Das IT - Informationssystem
4) Kaufmännische Realisierung
Echtzeit-Betriebssysteme
 Präsentation transkript:

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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.

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

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: 3T

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.

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

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

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

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

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

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.

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

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)

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

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)

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

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

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