close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

6 Folien/Seite

EinbettenHerunterladen
Organisatorisches
wahlobligatorisches Modul im Hauptstudium
2/0/2, d. h., 90’ Vorlesung und 90’ Praktikum pro Woche
Vorlesung Echtzeitsysteme
Vorlesung montags, 9:20 Uhr, S 531
Lehrender: Prof. Robert Baumgartl
Thema 1: Einführung
robert.baumgartl@informatik.htw-dresden.de
dem Subject bitte „[EZS]“ voranstellen
Tel. 462 2510
Raum Z 126
Robert Baumgartl
Praktikum im Labor Z 136c
11. 03. 2013
montags, 11:10 Uhr
Start: 2 Semesterwoche
Prüfung
keine Prüfungsvorleistung (PVL)
wie immer (90’ ohne Hilfsmittel)
1 / 35
2 / 35
Ressourcen
Ressourcen
Folien, Bücher
WWW
Kompendium; aus meinen bisherigen Veranstaltungen
kompiliert
Vorlesungsfolien (im PDF), Hausaufgaben, aktuelle
Informationen erscheinen im Laufe des Semesters unter
Doug Jensens Site: http://www.real-time.org/
http://www.htw-dresden.de/~robge/ezs/ezs.html
Computer-Related Incidents with Commercial Aircraft:
http://www.rvs.unibielefeld.de/publications/compendium/index.html
Jane W. S. Liu. Real-Time Systems. Prentice Hall, 2000
Alan Burns und Andy Wellings. Real-Time Systems and
Programming Languages. 3. Aufl. Addison-Wesley, 2001
news:comp.realtime
Dieter Zöbel: Echtzeitsysteme. Springer, 2008. ISBN
978-3540763956, 29.95 e
GI-Fachgruppe Echtzeitsysteme: http://www.real-time.de/
Vorsicht - die deutsche Wikipedia taugt (bislang) nicht
besonders zur Erklärung des Fachgebiets
Jim Cooling. Software Engineering for Real-Time Systems.
1. Aufl. Addison-Wesley, 2003
Beispiel: Erklärung zur Prioritätsgrenze
3 / 35
4 / 35
Was machen wir hier eigentlich?
Thematische Übersicht
Prinzip: Anwendung des Echtzeitgedankens auf alle möglichen
Aspekte/Komponenten herkömmlicher Rechensysteme.
Beispiele:
Die Webseite besagt:
„Die LV Echtzeitsysteme ist eine einsemestrige
Einführung in Theorie und Praxis von
Rechensystemen, die zur Lösung zeitkritischer
Probleme eingesetzt werden.“
Echtzeit-Scheduling
echtzeitfähige Ressourcenverwaltung
Echtzeit-Kommunikation
= Kennenlernen von Verfahren und Methoden zur/zum
Echtzeit-Betriebssysteme
Entwurf,
Programmiersprachen für Echtzeitsysteme
Realisierung und
Verifikation von Echtzeitsystemen
Analyse
Allerdings gibt es auch noch einige originäre Themen:
von (Rechen-)systemen, die zeitliche Garantien geben
können.
Zeit
Fehlertoleranz
6 / 35
5 / 35
1
Verwandte Diskursbereiche
Voraussetzungen
Grundlagen Programmierungstechnik (Zeigerkonzept,
Listen, Bäume)
Eingebettete Systeme
Rechner- bzw. Prozessorarchitektur: Caches, Pipelines,
Busse etc.
Rechnernetze und Betriebssysteme
Schedulingtheorie (Mathematik!)
Programmbeispiele in C, kaum Assembler
Rechnerarchitektur
Grundlagen Betriebssysteme (z.B. Scheduling,
Semaphore, Deadlock, Virtueller Speicher)
Am allerwichtigsten ist jedoch Interesse!
7 / 35
8 / 35
Was bedeutet „(in) Echtzeit“ ?
Was bedeutet „(in) Echtzeit“ ?
umgangssprachlich: Transformation der Eingangsdaten erfolgt
mit der Geschwindigkeit ihres Empfangs. ( „xy läuft in Echtzeit“;
xy ∈ {MP3-Encoder, Renderer, . . . })
DIN 44300: „Echtzeitbetrieb ist ein Betrieb eines
Rechensystems, bei dem Programme zur Verarbeitung
anfallender Daten ständig betriebsbereit sind derart, daß die
Verarbeitungsergebnisse innerhalb einer vorgegebenen
Zeitspanne verfügbar sind.“
Hermann Kopetz: “A real-time computer system is a computer
system in which the correctness of the system behaviour
depends not only on the logical results of the computations, but
also on the physical instant at which these results are
produced.” 1
dt. Wikipedia: „Von Echtzeitsystemen [...] spricht man, wenn ein
System ein Ergebnis innerhalb eines vorher fest definierten
Zeitintervalles garantiert berechnet, also bevor eine bestimmte
Zeitschranke erreicht ist. Die Größe des Zeitintervalles spielt
dabei keine Rolle [...].“
Jane Liu: “. . . a real-time system is required to complete its
work and deliver its services on a timely basis.” 2
1
Hermann Kopetz. Real-Time Systems. 3. Norwell, MA: Kluwer Academic Publishers, 1999, S. 2.
2
Jane W. S. Liu. Real-Time Systems. Prentice Hall, 2000, S. 1.
9 / 35
10 / 35
Schlussfolgerung
Nochmals . . .
Das bedeutet:
Was bedeutet „die Dauer der Operation wird garantiert“?
sowohl die Korrektheit,
Ganz einfach: eine Spezifikation legt fest, wie lange die
Operation maximal dauern darf, und das Echtzeitsystem
garantiert, dass diese maximale Dauer niemals überschritten
wird, was immer auch
als auch die Dauer der Ermittlung
der Ergebnisse wird garantiert.
In Nicht-Echtzeit-Systemen wird i. a. nur die Korrektheit
garantiert.
innerhalb des Systems und
in der Umwelt
Vereinfachung: Eine bestimmte zeitliche Schranke (Deadline)
wird nicht überschritten.
passieren mag.
Verhalten eigentlich auch in „normalen“ Systemen erwünscht,
z.B. bei der Reaktion auf Benutzereingaben (Problem:
Aufwand).
Die Maximaldauer nennen wir (relative) Deadline (der
Operation).
11 / 35
12 / 35
2
Häufige Mißverständnisse und Fehlannahmen
Häufige Mißverständnisse und Fehlannahmen
Echtzeitsysteme sind sehr schnelle Rechner.
Echtzeitsysteme sind sehr schnelle Rechner.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Echtzeitsysteme werden in Assembler programmiert.
Echtzeitsysteme werden in Assembler programmiert.
13 / 35
14 / 35
Häufige Mißverständnisse und Fehlannahmen
Häufige Mißverständnisse und Fehlannahmen
Echtzeitsysteme sind sehr schnelle Rechner.
Echtzeitsysteme sind sehr schnelle Rechner.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Echtzeitsysteme werden in Assembler programmiert.
Echtzeitsysteme werden in Assembler programmiert.
16 / 35
15 / 35
Häufige Mißverständnisse und Fehlannahmen
Häufige Mißverständnisse und Fehlannahmen
Echtzeitsysteme sind sehr schnelle Rechner.
Echtzeitsysteme sind sehr schnelle Rechner.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Echtzeitsysteme werden in Assembler programmiert.
Echtzeitsysteme werden in Assembler programmiert.
17 / 35
18 / 35
3
Häufige Mißverständnisse und Fehlannahmen
Häufige Mißverständnisse und Fehlannahmen
Echtzeitsysteme sind sehr schnelle Rechner.
Echtzeitsysteme sind sehr schnelle Rechner.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
→ Widerspruch: Prozessoren in Echtzeitsystemen sind häufig
niedriggetaktete Mikrocontroller.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
Präemptive Prozessorvergabe ermöglicht prinzipiell ein
Echtzeitsystem.
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ reicht nicht aus; Windows Vista ist kein Echtzeitsystem
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
→ Falsche Annahme, dass „Echtzeit“ schnell bedeutet
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Moore’s Law bewirkt, daß Echtzeitsysteme überflüssig
werden.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Es kann sowieso keine Garantie der Funktionsfähigkeit
eines Rechners gegeben werden, daher sind
Echtzeitsysteme nicht notwendig.
Echtzeitsysteme werden in Assembler programmiert.
Echtzeitsysteme werden in Assembler programmiert.
19 / 35
20 / 35
Sekundäre Anforderungen an Echtzeitsysteme
Härte eines Echtzeitsystems
a) hartes EZ-System: Verletzung einer Deadline hat
katastrophale Konsequenzen für das System bzw. die
Umwelt.
hohe Arbeitsgeschwindigkeit
Fehlertoleranz
Kosteneffizienz
b) weiches EZ-System: Verletzung einer Deadline führt zum
Absinken des Wertes des Ergebnisses, Einfluß auf die
„Güte“ des Dienstes, Systemleistung sinkt mit der Anzahl
verletzter Deadlines.
niedriger Energiebedarf
hohe Ressourcenauslastung (Prozessor, Speicher)
−→ Kompromiss je nach Einsatzfall nötig!
c) „mittelhartes“ EZ-System: Nach Überschreiten der
Deadline ist das Ergebnis wertlos, jedoch keine
Katastrophe (sog. “firm deadline”)
21 / 35
22 / 35
Härte eines Echtzeitsystems
Härte eines Echtzeitsystems
Was passiert bei Verletzung einer Deadline?
Anmerkungen
3 Möglichkeiten, je nach „Wert“ des Ergebnisses nach
Überschreitung der Deadline td :
Unterscheidung zwischen harten und weichen
EZ-Systemen nicht immer trivial, insbesondere der
Übergang zwischen weichen und Nicht-Echtzeit-Systemen
ist oftmals fließend.
Wert des
Ergebnisses
Fehlertoleranz bei harten EZ-Systemen meist
ausgeprägter
0
td
t
0
td
t
0
td
Idee der “Flexible Computations”: Aktivität wird geteilt in
eine essentielle und eine wahlfreie Phase. Die essentielle
Phase muß unbedingt bis zur Deadline abgeschlossen
sein. Wahlfreie Phase erhöht die Güte des Resultats.
Beispiel: Ermittlung der Raumkoordinaten einer
Raumsonde.
t
sehr grosz
Abbildung: Hartes, weiches und „mittelhartes“ Echtzeitsystem
Komplettierung vor Deadline oftmals unerwünscht
23 / 35
24 / 35
4
Klassifizierungsmerkmale von Echtzeitsystemen
Eingebettete Systeme
1. „Härte“ der Deadline
Echtzeitsysteme konstituieren häufig Eingebettete Systeme
(embedded systems):
2. Zuverlässigkeit und Fehlertoleranz (Sicherheit,
Fehlererkennung)
“Embedded computers are defined to be those where
the computer is used as a component within a system:
not as a computing engine in its own right. [...]” 3
3. Verteilung: zentralisiertes oder verteiltes Echtzeitsystem
4. zeitgesteuertes oder ereignisgesteuertes System
5. interaktives oder autonomes System
d.h. der Computer ist Teil eines Geräts (und das Gerät ist kein
Computer im klassischen Sinne).
6. hierarchisches oder Einzelsystem
7. zyklische oder/und asynchrone Aktivitäten
3
Jim Cooling. Software Engineering for Real-Time Systems. 1. Aufl. Addison-Wesley, 2003, S. 12.
25 / 35
26 / 35
Eingebettete Systeme
Beispiele für Echtzeitsysteme
Merkmale
komplexe Interaktion mit Umwelt und anderen
eingebetteten Systemen
Herzschrittmacher:
1 Prozessor, 500 000 Lines of Code (LoC)
werden häufig autonom betrieben
hohe Anforderungen an Zuverlässigkeit
ersetzen zunehmend mechanische Systeme
Hard- und Software werden gemeinsam entworfen
(HW/SW-Codesign).
Einsatz eines Prozessors „von außen“ häufig nicht
erkennbar
Abbildung: Größenvergleich Herzschrittmacher vs. 50-Pence-Stück
arbeiten häufig unter Echtzeit-Bedingungen
Kosten für Reparatur übersteigen (häufig) Kosten des
Systems.
27 / 35
28 / 35
Beispiele für Echtzeitsysteme
Beispiele für Echtzeitsysteme, cont’d
Digitaler Video-Recorder für HDTV
Boeing 777:
ca. 1200 Prozessoren, 4 Milliarden LoC
Fernsehbild HDTV: 1920x1080 Punkte, 24 Bit Farbtiefe
(maximal)
d.h. ein unkomprimiertes Bild benötigt
1920 · 1080 · 3 Byte = 6075 KiB.
Wiedergaberate: (bis zu) 60 Hz (Bilder pro Sekunde)
1
in t =
s = 16.6 ms muss das Bild abgespeichert sein
60
=
ˆ End-zu-End-Transferrate von ≈ 356 MiB/s
sehr gute Festplatten erreichen ca. 100 MiB/s
→ Kompressionsverfahren erforderlich
Abbildung: Boeing 777 – ein etwas größeres Echtzeitsystem
29 / 35
30 / 35
5
Beispiele für Echtzeitsysteme, cont’d
Weitere Einsatzfelder
Luft- und Raumfahrt: Flugkontrollsystem, Steuerung von
Raketenmotoren, Satelliten
Beispiel: Digitale Schiedsrichterassistenz im Fußball
Digitale Steuerungen: Proportional Integral Derivative
Controller, Robotersteuerungen, Computertomograph
Sender im Ball und den Schienbeinschonern der Spieler
extreme Anforderungen: Ball (bis 160 km/h) trifft auf
Pfosten, Nässe, Vibrationen. . .
Automotive-Bereich: ABS, ESP, Airbag-Steuerung,
Navigationssysteme, Motormanagement, CAN-und
FlexRay-Bus
Auflösung: Zentimeterbereich
→ Positionsbestimmung in Echtzeit (WITRACK-System
des Fraunhofer IIS)
Signalverarbeitung: RADAR, Verfolgung (Tracking) von
Objekten, Bilderkennung, Unterhaltungselektronik
Goal Line Technology System der Cairos AG:
http://www.cairos.com/unternehmen/gltsystem.php
Multimedia-Systeme: En- und Dekodierung von
Audio/Video-Strömen, Klang- und Sprachsynthese, VoIP,
Video Storage Server
Echtzeit-Datenbanken
31 / 35
32 / 35
Aktuelle Forschungsgebiete (→ Diplomthemen?!)
Zusammenfassung: Was haben wir gelernt?
Multiprozessor-Scheduling
1. Echtzeitsysteme sichern die Rechtzeitigkeit aller
relevanten Operationen.
Worst Case Execution Timing
2. harte vs. weiche vs. „mittelharte“ Echtzeitsysteme
Verifikation von echtzeitfähigen Systemen
3. Begriffe: Deadline, eingebettetes System
Synchrone Programmiersprachen
4. Wenn etwas (umgspr.) in Echtzeit läuft, dann ist die
Eingangsdatenrate gleich der Ausgangsdatenrate.
(Beispiel: Echtzeit-3D-Darstellung)
Echtzeitabstraktionen für Betriebssysteme
5. Echtzeitsysteme sind außerordentlich interessant.
33 / 35
34 / 35
Vertiefende Literatur
Die hier aufgeführten Texte sind Lesevorschläge. Da diese dem
Urheberrecht unterliegen (die Texte, nicht die Vorschläge),
kann ich sie nicht einfach ins Netz stellen, sondern stelle sie
Ihnen auf Anfrage zur Verfügung.
John A. Stankovic. “Strategic Directions in Real-Time and
Embedded Systems”. In: ACM Computing Surveys 28.4
(Dez. 1996), S. 751–763
John Stankovic. “Misconceptions About Real-Time
Computing”. In: IEEE Computer 21.10 (Okt. 1988),
S. 10–19
35 / 35
6
Document
Kategorie
Technik
Seitenansichten
4
Dateigröße
229 KB
Tags
1/--Seiten
melden