Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Echtzeitsystemtechnik
Echtzeitrechentechnik verteilte Systeme, eingebettet und verlässlich H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik
2
Echtzeit - Fahrplan Klassisch Aktuell: 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 Innerhalb eines Echtzeitsystems können gleichzeitig mehrere unterschiedliche Charakteristiken vorhanden sein; oft wird es einen bestimmten Zusammenhang zwischen der Größe von Terminverletzungen und den daraus resultierenden Zusatzkosten geben 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 Das Problem, mit einem Prozessor mehrere gleichzeitig ablaufende Prozesse bearbeiten zu müssen, ist damit gelöst, dass der Prozessor gemultiplext wird. Dafür stellt man nun fest, dass sich neue Probleme herausschälen, die mit der Nebenläufigkeit verbunden sind. Die sind zwar vorher auch schon immanent im System vorhanden gewesen, aber wenn man sich sowohl um die formale Gleichzeitigkeit als auch um das Problem kümmern soll, ist das Gesamtbild so verwoben, dass die Probleme der Nebenläufigkeit nicht so klar isoliert erkennbar sind 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 Kommunikation Anlage Echtzeitrechner Nutzer Massenspeicher H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik
21
Eingebettet Entwurfsmuster gesucht Entwurfsverfahren
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
Echtzeit- Uhr Steuer- Algorithmen Anlage Schnittstelle Datenerfassung Messen / Überwachen Datenbank Daten finden und anzeigen Anzeigen Bediener- Konsole Bediener- Schnittstelle 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 H. Pfüller, Universität Rostock, Institut für Angewandte Mikroelektronik und Datentechnik
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.