Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG"—  Präsentation transkript:

1 Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG
Dr.-Ing. Frank Golatowski

2 Ziele der Vorlesung (allg.)
Verständnis der Grundlagen Motivation für die Nutzung von Echtzeitbetriebssystemen Multi-tasking in Echtzeit- und Standardbetriebssystemen Erfahren die enge Wechselwirkung zwischen RTS-Design und RTOS Praktische Fertigkeiten Interesse an Forschung wecken

3 Ziele der Vorlesung (spez.)
Antworten geben können auf ff. Fragen: Was muss beachtet werde, damit man zu einem deterministischen Echtzeitsystem gelangt? Wie kann dabei ein Echtzeitbetriebssytem sinnvoll eingesetzt werden? Was unterscheidet ein hartes Echtzeitsystem von einem weichen Echtzeitsystem? Wie entwirft man ein deterministisches Echtzeitsystem? Worin unterscheiden sich Standard-Betriebssysteme von Echtzeitbetriebssysteme?

4 Gliederung 0. Organisatorisches 1. Einleitung Vorlesung Übung
Literatur 1. Einleitung Definitionen Typische Echtzeitanwendungen Aufgaben eines Betriebssystems (allgemein) Architektureigenschaften eines Echtzeitbetriebssystems Klassifikation von Echtzeitbetriebssystemen

5 Vorlesung Script zur Vorlesung unter Vorlesungstermine dienstags (u) Uhr Übung dienstags Uhr Vorlesung Nächste Übung: Uhr Nächste Vorlesung: Uhr Übungen: Aufgaben zu Unix (Linux), RT-Linux, Windows NT Schedulinganalyse mit YASA (Yet Another Schedulability Analyzer)

6 Literatur Betriebssysteme (allgemein)
Andrew Tanenbaum „Betriebssysteme“ Andrew Tanenbaum, James Goodman „Computerarchitektur. Strukturen, Konzepte, Grundlagen“ Bach „Unix-Wie funktioniert das Betriebssystem“ W. Richard Stevens „Advanced Programming in the Unix Environment“ Ben Ari „Parallele Programmierung“

7 Literatur (Forts.) Detaillierte Informationen unter
Echtzeitbetriebssysteme Alan Burns & Andy Wellings, „Real-Time Systems and Programming Languages“, Addison Wesley, 3rd Ed., ISBN Bill O. Gallmeister, „POSIX.4“ O´Reilly & Associates, 1995, ISBN Klein et al.„The Rate Monotonic Handbook“ Kluwer Academic,1993, ISBN Phillip A. Laplante, „Real-Time Systems Design and Analysis“, 2nd. Ed., 1998 Jane W.S.Liu, „Real-Time Systems“ Prentice Hall, 2000, ISBN

8 Literatur (Forts.) Echtzeitbetriebssysteme (weitere)
Furth et al., Kluwer, „Real-Time Unix Systems Design and Application Guide“ Bruce Powel Douglass, Addison-Wesley, 1999 „Doing Hard Time: Deigning and Implementating Embedded Systems with UML“ Stancovics „EDF“ Buttazzo „Hard Real-Time Systems“ J.E. Cooling, Chapman and Hall, 1991 „Software Design for Real-Time Systems“

9 Literatur (Forts.) Weitere nützliche Bücher
Balzert „Lehrbuch der Software-Technik“ (1,2) Das ist das m.E. beste deutschsprachige Buch zur Softwareentwicklung. Enthält so ziemlich alle Methoden kurz aber auch anwendbar. Jon Bentley „Programming Pearls“ Meisterwerk! Vermittelt die Grundlagen der Softwareentwicklung (Algorithmen, Datenstrukturen, etc.) mit Humor und sehr einprägsam Frederick P. Brooks „The Mythical Man Month“ Standardwerk des Softwareprojektmanagement Steve McConnell „Code Complete“

10 Literatur (Forts.) Weitere nützliche Bücher (haben nicht unbedingt mit der VL zu tun) Vera F. Birkenbihl „Stroh im Kopf“ Gibt Gebrauchsanleitung fürs Gehirn. Vom Gehirn-Besitzer zum Gehirn-Benutzer. Seibert „1x1 der Zeitplanung“

11 Literatur (Forts.) Wiss. Artikel, die wichtig für die VL sind.
J. Zalewski „What every engineer needs to know about schedulability analysis“ Ralf Kern „Prozeßauswahl und Ablaufplanung in Echtzeit-Sytemen“, In: Elektronik 14/1992

12 Gliederung Definitionen Typische Echtzeitanwendungen
Echtzeitsystem RTOS, RTS, RTES, RTCS HRTS, SRTS, FRTS, NRTS Typische Echtzeitanwendungen Aufbau eines Echtzeitsystems Eigenschaften von Echtzeitsystemen Aufgaben eines Betriebssystems (allgemein) Architektureigenschaften eines Echtzeitbetriebssystems Klassifikation von Echtzeitbetriebssystemen

13 Was ist ein Echtzeit-System ?
Oxford Dictionary of Computing: “Any system in which the time at which output is produced is significant. This is usually because the input corresponds to some movement in the physical world, and the output has to relate to that same movement- The lag from input time to output time must be sufficiently small for acceptable timeliness” „Ein Echtzeitsystem ist ein System, bei dem der Zeitpunkt, an dem Ausgaben erzeugt werden, bedeutend ist. Das liegt daran, dass die Eingabe mit einigen Änderungen der physikalischen Welt korrespondiert und die Ausgabe sich auf diese Änderungen beziehen muß. Die Verzögerung von der Eingangszeit zur Ausgangszeit muß ausreichend klein für eine akzeptable Rechtzeitigkeit sein.“

14 Was ist ein Echtzeit-System ?
Young (1992): “any information processing activity or system which has to respond to externally-generated input stimuli within a finite and specified period” „Jedes Informationsverarbeitungssystem (Computersystem), das auf externe Eingangs-Stimuli innerhalb einer fest vorgegebenen Zeit reagieren muß.“ Hauptaufgabe eines solchen Computersystems ist nicht die Informationsverarbeitung (information processing). Informationsverarbeitung erforderlich, um die Hauptaufgabe zu erfüllen.

15 Was ist ein Echtzeit-System ?
Laplante (1993): “A real-time system is a system that must satisfy explicit (bounded) response-time constraints or risk severe consequences, including failures. A failed system is a system which cannot satisfy one or more of the requirements laid out in the formal system specification” Ein Echtzeitsystem ist ein System, dass explizite Reaktionszeitschranken erfüllen muß. Geschieht das nicht, muß mit ernsten Konsequenzen gerechnet werden. Darin eingeschlossen sind Fehler. Ein fehlerhaftes System ist ein System, das eine oder mehrere Anforderungen, die in der formalen Systemspezifikation aufgestellt wurden, nicht erfüllt.

16 Was ist ein Echtzeit-System ?
In einem solchen System sollten die Programme, die die Daten verarbeiten, die von außen in das System gelangen, sich im bereiten Zustand befinden. So dass die Ergebnisse innerhalb einer bestimmbaren Zeitspanne verfügbar sind. Die Ankunftszeiten der Daten können in Abhängigkeit von der Anwendung zufällig verteilt oder auch bestimmbar sein. Ein Echtzeitsystem reagiert in einer (zeitlich) bestimmbaren Art auf externe Ereignisse (Stimuli) deren Ankünfte nicht vorhersagbar ist.

17 Was ist ein Echtzeit-System ?
Real-Time-Systeme sind Systeme, die korrekte Reaktionen innerhalb eines definierten Zeitlimits produzieren müssen. Wenn die Reaktionen diese Zeitlimits überschreiten, dann resultieren daraus Leistungseinbußen und/oder Fehlfunktionen.

18 Was ist ein Echtzeit-System ?
Richtigkeit eines Real-Time-Systems ist nicht nur von den logischen Ergebnissen der Berechnung abhängig, sondern auch von dem Zeitpunkt an dem die Ergebnisse produziert wurden. Es ist genauso ein Fehler, wenn das Ergebnis nicht zum richtigen Zeitpunkt vorliegt, als wenn das Ergebnis falsch ist. Ein Fehler in der Reaktion (Reaktionszeitpunkt) ist genauso schlecht wie eine falsche Reaktion Ein „richtiges“ Ergebnis zur falschen Zeit ist ein Fehler.

19 Harte Echtzeit Verspätung = Fehler

20 Harte Echtzeit Fehler kann katastrophale Folgen haben.

21 Harte Echtzeit ist einfacher
Einfacher, um Systeme zu integrieren. z.B Fehlerentdeckung: „Es ist zu spät. Das ist ein Fehler“ Einfacher, um System zu bauen. z.B. komplexe dynamische Algorithmen nicht notwendig, um verspätete oder fehlenden Daten zu ersetzen.

22 RTS Real- Time- System RTOS Real- Time- Operating System RTCS Real- Time- Computersystem RTES Real- Time- Embedded System

23 Klassifikation von Real-Time Systems
Hard Real-Time System Das Verpassen einer Deadline hat katastrophale Folgen für das System. Systeme, in denen es zwingend erforderlich ist, dass Reaktionen innerhalb der vorgeben Deadline erfolgen. Bsp. Flugsteuersystem (Flight Control System) Soft Real-Time System Systeme, in denen Deadlines wichtig sind. Sie funktionieren jedoch weiter korrekt, wenn Deadlines verpasst werden. Bsp. Datenerfassungssystem (Data acquisition system ) Firm Real-Time System Das Verpassen einer Deadline hat eine nicht akzeptable Qualitätsminderung zur Folge. Das System hat keinen Nutzen. (Rechenmodell) Non-Real-Time System Es müssen keine Deadlines eingehalten werden.

24 Klassifikation von Real-Time Systems
HRT: Hard Real-Time SRT: Soft Real-Time FRT: Firm Real-Time NRT: No Real-Time

25 Anforderungen an Sicherheit und Zuverlässigkeit
sind gewöhnlich schärfer in RTS und ES, als in anderen Computersystemen wiss. Berechnung oder Routing einer Schaltung schlägt fehl (NRT, ärgerlich über die verstrichene Rechenzeit) Prozeßrechner, der Hochofen steuert, wird nicht gleich den Hochofen abschalten, wenn ein Fehler auftritt. Er wird nach Alternative suchen müssen, um ein kostenintensives Herunterfahren zu verhindern. RTCS in einem Kernkraftwerk, das Reaktor steuert, muß dafür sorgen, dass der Reaktor nicht außer Kontrolle gerät. Ein RTCS in einem Flugzeug, sollte es dem Piloten ermöglichen, den Schleudersitz zu verwenden, bevor das Flugzeug abstürzt

26 Weitere wichtige Definitionen
Timeliness (coming early or at the right time) Availability Flexibility

27 Sicherheit und Zuverlässigkeit Safety, Reliability, Dependability
Safety (Sicherheit für Mensch und Umgebung) Burns & Wellings “Safety is the probability that conditions that can lead to mishaps do not occur whether or not the intended function is performed” “...ist die Wahrscheinlichkeit, dass Bedingungen, die zu einem Unglück führen können, nicht eintreffen. Unabhängig davon, ob die beabsichtigte Funktion ausgeführt wird. Wahrscheinlichkeit, für das nicht Eintreffen einer Bedingung, die zu einem Unglück führen kann.

28 Sicherheit und Zuverlässigkeit Safety, Reliability, Dependability
Reliability (Zuverlässigkeit, Fehlersicherheit) Randell et al (1978) „a measure of the success with which the system conforms to some authoritative specification of its behavior“ Ein Meßwert, der Auskunft darüber gibt, inwieweit das System der Spezifikation entspricht. Inwieweit das System fehlerfrei arbeitet Failure, Fault, Error Beachte Safety und Reliability werden oftmals als Synonym verwendet. Sicherheit (Safety und Reliability) werden gewöhnlich in Form von Wahrscheinlichkeiten ausgedrückt. Viele weitere Definitionen, die sich auf Sicherheit und Zuverlässigkeit beziehen: Dependability (Systemstabilität, Verlässlichkeit, Zuverlässigkeit)

29 Sicherheit und Zuverlässigkeit Beispiel
Das einzig wirklich sichere Flugzeug ist jenes, dass niemals startet. Aber es ist nicht sehr zuverlässig (reliable)

30 Aspects of Dependability
Readiness for Usage Continuity of Service Delivery Non-occurrence of Catastrophic Consequences Non-occurrence of unauthorized disclosure of information Non-occurrence of improper alteration if information Aptitude to undergo repairs of evolutions Available Reliable Safe Confidential Integral Maintainable Quelle: Burns & Wellings, RTS & Programming Languages

31 Dependability Terminology
Availability Confidentiality Reliability Safety Integrity Maintainability Attributes Means Impairments Fault Prevention Fault Tolerance Fault Removal Fault Forecasting Dependability Faults Errors Failures

32 Gliederung Definitionen Typische Echtzeitanwendungen
Aufbau eines Echtzeitsystems Eigenschaften von Echtzeitsystemen Aufgaben eines Betriebssystems (allgemein) Architektureigenschaften eines Echtzeitbetriebssystems Klassifikation von Echtzeitbetriebssystemen

33 Beispiele für Echtzeitanwendungen
1. Digital Control 2. High-Level Controls Control Hierachy Guidance and Control Real-Time Command and Control 3. Signal Processing Processing Bandwidth Demands Radar System 4. Weitere Real-Time-Datenbanken Multimedia Anwendungen

34 Beispiele für Echtzeitanwendungen
1. Durchflußsteuersystem

35 Ein einfaches Durchflußsteuersystem
z.Bsp. Tempomat, Temperatursteuerung eines Flugzeugdüsentriebwerkes

36 Ein typisches eingebettetes System
Sensor ADC CPU Anzeige

37 Ein typisches eingebettetes System
Jet Engine Pipe: Steuerung der Temperatur in einem Düsentriebwerk eines Flugzeugtriebwerkes Sensor ADC CPU Anzeige Serial I/O DAC KEYPAD

38 Ein typisches eingebettetes System
Real-Time Clock Algorithms for Digital Control Engineering System Interface Data Logging Remote Monitoring System Database Data Retrieval and Display Display Devices Operator’s Console Operator Interface Real-Time Computer

39 Allgemeine Architektur eines verteilten Echtzeitsystems
Datenbank MIDDLE WARE User interface Berechnung User interface Daten einlesen Steuerung Andere I/O Hardwareschicht Sensoren Aktoren Andere Geräte

40 Zunehmende Dezentraliserung
Viele neue Funktionen (Komfort und Funktionalität) ABS, ESS z.B. Volvo 18 ECU (Electronical Control Units), 2 CAN-Busse, 4 proprietäre low-speed Busse Intensive Verwendung von Systemsoftware Netzwerk-Software Echtzeitbetriebssystem in den meisten ECU (OSEK/VxD) Quelle: DaimlerChrysler, B. Hedenetz

41 Zunehmende Dezentraliserung
Viele neue Funktionen (Komfort und Funktionalität) ABS, ESS z.B. Volvo 18 ECU (Electronical Control Units), 2 CAN-Busse, 4 proprietäre low-speed Busse Intensive Verwendung von Systemsoftware Netzwerk-Software Echtzeitbetriebssystem in den meisten ECU (OSEK/VxD) Quelle: NRTA, K.Tindell

42 X-by-wire steer-by-wire brake-by-wire fly-by-wire (Flugzeug)

43 Embedded Internet

44 Beispiele für Echtzeitanwendungen Zusammenfassung
Unterteilung von Real-Time-Anwendungen entsprechende ihrer Zeiteigenschaften in vier Typen (nach J. Liu) 1. Rein zyklisch (purely cyclic) 2. Meist zyklisch (mostly cyclic) 3. Asynchron und beschränkt vorhersagbar (asynchronous and somewhat predictable) 4. Asynchron und nicht vorhersagbar (Asynchronous and unpredictable) Siehe 1.Kapitel Liu, S. 25


Herunterladen ppt "Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG"

Ähnliche Präsentationen


Google-Anzeigen