H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1...
-
Upload
minna-rape -
Category
Documents
-
view
104 -
download
0
Transcript of H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik1...
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 1
Echtzeitsystemtechnik
Echtzeitrechentechnikverteilte Systeme, eingebettet und verlässlich
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 2
Echtzeit - Fahrplan
Klassisch– Rechtzeitig oder „schnell“– Ablaufsteuerung (Scheduling)– Nebenläufig
Aktuell:– Große Systeme: Komplexität– Verteiltheit, transparente Kommunikation– Verlässlichkeit– Unterstützung für Entwurf– Eingebettete Rechner
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 3
Was ist ein Echtzeitsystem?
Informationsverarbeitungssystem, das auf extern entstandene Eingangssignale innerhalb einer spezifizierten Zeitdauer reagiert haben muss.– Die Korrektheit hängt nicht nur vom logischen
Ergebnis ab, sondern auch vom Zeitpunkt, zu dem das Ergebnis geliefert wird.
– Eine zu späte Antwort ist genau so schlecht wie eine falsche Antwort. (nach Burns)
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 4
Ein Missverständnis: Wie schnell ist „Echtzeit“? nicht um Tempo geht es Cache und Benchmark: Schnell im Mittel „Komfortabler“ Prozessor?
– Viel Umgebung zu retten– Lange Umschaltzeiten zwischen Prozessen
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 5
Echtzeit-Varianten
Harte Echtzeit: Terminüberschreitung ist katastrophal
Weiche Echtzeit: Terminüberschreitung wird um so teurer, je weiter
Schnelle Echtzeit: Hartes Echtzeitsystem, das extrem schnell reagieren muss
Feste Echtzeit: Weiches Echtzeitsystem; nützlich sind nur eingehaltene Termine
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 6
Rechtzeitigkeit; Charakteristik der externen Ereignisse Ereignisse, deren Bearbeitung nicht beliebig
warten kann Große Vielfalt:
– periodisch– evtl. sehr selten– unklar, wann
Beispiel: Airbag
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 7
Quasi gleichzeitige Prozesse
Grundproblem: Ein Prozessor, aber mehrere Aufgaben gleichzeitig
Lösung: Prozessor multiplexen Prozessorzuteilung entsprechend Bedarf
und Priorität Was ist am gerechtesten?
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 8
Schnittstellen zum Parameter Zeit Zugriff zu Uhren zwecks Messung der
ablaufenden Zeit Verzögerung von Prozessen bis zu einem
gewünschten Zeitpunkt Programmierung von Warte-Intervallen, so
dass das Ausbleiben eines bestimmten Ereignisses erkannt und behandelt werden kann
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 9
Ablaufsteuerung (Scheduling)
Voraussetzungen: vollständige Information über – zeitliche Anforderungen der externen Prozesse
(sporadisch, periodisch)
– genaue Zeitdauer der behandelnden Software (Takte zählen!)
– Kontextwechselzeit
Prioritätenbasierte Ablaufsteuerung (fest oder variabel)
Preemption
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 10
Strategien (So einfach wie möglich) Zyklische Ausführung first come, first serve Wenn Termin („Deadline“) bekannt:
– Der früheste Termin zuerst
Wenn auch nötige Bearbeitungsdauer bekannt:– Zuerst der Termin mit der kleinsten Reserve
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 11
Ablaufsteuerung
Die Abarbeitungsschleife widerspiegelt nicht die reale Struktur der Anlage – das begrenzt die Größe der beherrschbaren Systeme
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 12
Nebenläufigkeit (Concurrency)
Verschiedene Prozesse verlaufen parallel („natürliche“ Gegebenheit für typische Echtzeitfälle)
Kooperationsbeispiele von Prozessen:– senden/empfangen von Nachrichten– gemeinsame Benutzung von Ressoucen
Gemeinsam benutzte Variablen; Leser-Schreiber-Problem und kritischer Bereich
Probleme: Blockierungen Beispiel: die fünf Philosophen
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 13
Neue Herausforderungen
Große Systeme: Komplexität Verteiltheit, transparente Kommunikation Verlässlichkeit Unterstützung für Entwurf Eingebettete Rechner
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 14
Komplexität
Objektorientierung: große Systeme beherrschbar
Grund: hierarchische Kapselung Schwierigkeit: Vermittlung der Idee an
versierte konventionelle Programmierer
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 15
Objektorientierung
Das besondere an einem „Objekt“:– Individuum („Instanz“ eines bestimmten Datentyps)– Verwendbar ausschließlich und strikt anhand der
spezifizierten Schnittstellen („Methodenaufrufe“)– Programmierung der Interna durch separate Mannschaft– Das alles hierarchisch
Produktivitätsquellen:– Größere Programmierermannschaften durch
Informationskapselung möglich– Extensive Wiederverwendung von Code durch
Vererbung (Problem: späte Bindung“)
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 16
Verteilte Systeme
Mehrere separate Echtzeitrechner kooperieren zwecks Erledigung einer Aufgabe
Zwecks Koordination: Kommunikation über Netzwerk
Unterstützt durch Objektorientierung (Corba, DCOM):– Transparenz
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 17
Verlässliche Systeme(dependable, trustworthy) Fehlertypen (ständig, transient) Vorbeugung und Toleranz Reparaturblock Mehrere Programmversionen Gute Systeme heute: 50 min Ausfall/Jahr Fernziel:1 Sekunde / Jahrhundert
(Jim Gray)
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 18
Architektur
Anleihe bei herkömmlicher Ingenieurwissenschaft
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 19
Unterstützung für den Entwurf
Entwurfsmuster („Design Pattern“) Enheitliche Modellbeschreibungssprache:
„UML“ Anwendungsfälle („Use Cases“)
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 20
Entwurfsmuster Regelkreis
Beispiel
Echtzeitrechner Anlage
Kommunikation
Massenspeicher
Nutzer
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 21
Eingebettet
– 99% aller Prozessoren gehören zum Markt der eingebetteten Systeme
Entwurfsmuster gesucht Entwurfsverfahren
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 22
Typisches eingebettetes System
Steuer-Algorithmen
Datenerfassung
Daten findenund anzeigen
Bediener-Schnittstelle
Schnittstelle Anlage
Messen / Überwachen
Echtzeit-Uhr
Datenbank
Bediener-Konsole
Anzeigen
Echtzeitrechner
H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik 23
Zusammenfassung
Zwei Hauptklassen von Systemen:– Harte Echtzeit / weiche Echtzeit
Zunehmende Größe und Komplexität Extreme Verlässlichkeit Nebenläufige Steuerung verteilter
Systemkomponenten Echtzeitsteuerung externer Geräte Effizienz bei Entwurf und Implementierung