44
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG Dr.-Ing. Frank Golatowski

Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG

  • Upload
    ellie

  • View
    58

  • Download
    0

Embed Size (px)

DESCRIPTION

Vorlesung Echtzeitbetriebssysteme I. EINLEITUNG. Dr.-Ing. Frank Golatowski. Ziele der Vorlesung (allg.). Verständnis der Grundlagen Motivation für die Nutzung von Echtzeitbetriebssystemen Multi-tasking in Echtzeit- und Standardbetriebssystemen Erfahren - PowerPoint PPT Presentation

Citation preview

Page 1: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut für Angewandte Mikroelektronik und Datentechnik

Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock

VorlesungEchtzeitbetriebssysteme

I. EINLEITUNG

Dr.-Ing. Frank Golatowski

Page 2: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Page 3: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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?

Page 4: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Gliederung

0. Organisatorisches– Vorlesung– Übung– Literatur

1. Einleitung– Definitionen– Typische Echtzeitanwendungen– Aufgaben eines Betriebssystems (allgemein)– Architektureigenschaften eines Echtzeitbetriebssystems– Klassifikation von Echtzeitbetriebssystemen

Page 5: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Vorlesung

• Script zur Vorlesung unterhttp://www-md.e-technik.uni-rostock.de/ma/gol/

• Vorlesungstermine– dienstags (u) 07.30 - 09.00 Uhr Übung– dienstags 09.15 - 10.45 Uhr Vorlesung– Nächste Übung: 15.10. 9.15 Uhr– Nächste Vorlesung: 22.10. 7.30 Uhr

• Übungen:– Aufgaben zu Unix (Linux), RT-Linux, Windows NT– Schedulinganalyse mit YASA

(Yet Another Schedulability Analyzer)

Page 6: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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“

Page 7: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Literatur (Forts.)

• Detaillierte Informationen unter– http://www-md.e-technik.uni-rostock.de/ma/gol/books/rts

• Echtzeitbetriebssysteme– Alan Burns & Andy Wellings, „Real-Time Systems and

Programming Languages“, Addison Wesley, 3rd Ed., ISBN 0-201-729881

– Bill O. Gallmeister, „POSIX.4“O´Reilly & Associates, 1995, ISBN 1-56592-074-0

– Klein et al.„The Rate Monotonic Handbook“Kluwer Academic,1993, ISBN 0-7923-9361-9

– Phillip A. Laplante, „Real-Time Systems Design and Analysis“, 2nd. Ed., 1998

– Jane W.S.Liu, „Real-Time Systems“Prentice Hall, 2000, ISBN 0-13-099651-3

Page 8: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Literatur (Forts.)

• Echtzeitbetriebssysteme (weitere)– Furth et al., Kluwer, 1991

„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“

Page 9: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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“

Page 10: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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“

Page 11: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Page 12: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Gliederung

• Definitionen– 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

Page 13: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Einlesen derF ließgeschwindigkeit

Ausgabe:Ventilwinkel

Verarbeitung

Zeit

Interface

Com puter

Durchfluß-m eßgerät

Ventil

Leitung

Page 14: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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.

Page 15: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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.

Page 16: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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.

Einlesen derF ließgeschwindigkeit

Ausgabe:Ventilwinkel

Verarbeitung

Zeit

Interface

Com puter

Durchfluß-m eßgerät

Ventil

Leitung

Page 17: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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.

S c h a d en

N u tz en

t

S ta r t D ea d lin e

H R T -T a sk

Page 18: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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 Zeitist ein Fehler.

Page 19: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Harte Echtzeit

Verspätung = Fehler

Page 20: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Harte Echtzeit

Fehler kann katastrophale Folgen haben.

Page 21: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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.

Page 22: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

• RTS Real- Time- System

• RTOS Real- Time- Operating System

• RTCS Real- Time- Computersystem

• RTES Real- Time- Embedded System

Page 23: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Page 24: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Klassifikation von Real-Time Systems

HRT: Hard Real-TimeSRT: Soft Real-TimeFRT: Firm Real-Time NRT: No Real-Time

S c h a d en

N u tz en

t

S ta r t D ea d lin e

H R T -T a sk

t

S ta r t D ea d lin e

S R T -T a sk

t

S ta r t D ea d lin e

F R T -T a sk

Page 25: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Page 26: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Weitere wichtige Definitionen

• Timeliness (coming early or at the right time)• Availability • Flexibility

Page 27: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Sicherheit und ZuverlässigkeitSafety, 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.

Page 28: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Sicherheit und ZuverlässigkeitSafety, 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)

Page 29: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Sicherheit und ZuverlässigkeitBeispiel

• Das einzig wirklich sichere Flugzeug ist jenes, dass niemals startet.

• Aber es ist nicht sehr zuverlässig (reliable)

Page 30: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Dependability

Available Reliable Safe Confidential Integral Maintainable

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

Quelle: Burns & Wellings, RTS & Programming Languages

Aspects of Dependability

Page 31: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Dependability Terminology

Dependability

Availability

Confidentiality

Reliability

Safety

Integrity

Maintainability

Fault Prevention

Fault Tolerance

Fault Removal

Fault Forecasting

Faults

Errors

Failures

Attributes

Means

Impairments

Page 32: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Gliederung

• Definitionen• Typische Echtzeitanwendungen• Aufbau eines Echtzeitsystems• Eigenschaften von Echtzeitsystemen• Aufgaben eines Betriebssystems (allgemein)• Architektureigenschaften eines

Echtzeitbetriebssystems• Klassifikation von Echtzeitbetriebssystemen

Page 33: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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

Page 34: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Beispiele für Echtzeitanwendungen

1. Durchflußsteuersystem

Page 35: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Ein einfaches Durchflußsteuersystem

Ein lesen derF ließgeschwindigkeit

Ausgabe:Ventilw inkel

Verarbeitung

Zeit

Interface

Com puter

Durchfluß-m eßgerät

Ventil

Leitungz.Bsp. Tempomat, Temperatursteuerungeines Flugzeugdüsentriebwerkes

Page 36: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Ein typisches eingebettetes System

Sensor ADC CPU Anzeige

Page 37: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Ein typisches eingebettetes System

Sensor ADC CPU Anzeige

Serial I/O

DAC

KEYPAD

• Jet Engine Pipe: Steuerung der Temperatur in einem Düsentriebwerk eines Flugzeugtriebwerkes

Page 38: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Ein typisches eingebettetes System

Algorithms forDigital Control

Data Logging

Data Retrievaland Display

OperatorInterface

InterfaceEngineeringSystem

RemoteMonitoring System

Real-TimeClock

Database

Operator’sConsole

Display Devices

Real-Time Computer

Page 39: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Allgemeine Architektur eines verteilten Echtzeitsystems

Sensoren

User interface

Datenbank

Daten einlesen

Aktoren

Berechnung

Steuerung

Andere Geräte

User interface

Andere I/O

MIDDLE WARE

Hardwareschicht

Page 40: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Zunehmende Dezentraliserung

Quelle: DaimlerChrysler, B. Hedenetz

Page 41: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Zunehmende Dezentraliserung

Quelle: NRTA, K.Tindell

Page 42: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

X-by-wire

– steer-by-wire– brake-by-wire– fly-by-wire

(Flugzeug)

Page 43: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

Embedded Internet

Page 44: Vorlesung Echtzeitbetriebssysteme  I. EINLEITUNG

Institut MD

Universität Rostock

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)