Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

22
Echtzeitbetriebssystem Echtzeitbetriebssystem e e Proseminar Technische Informatik Gregor Schräder SS 2002

Transcript of Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Page 1: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

EchtzeitbetriebssystemeEchtzeitbetriebssysteme

Proseminar Technische Informatik

Gregor Schräder

SS 2002

Page 2: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

2

ÜberblickÜberblick

Was ist ein Echtzeitbetriebssystem?Weiche - Harte EchtzeitEinsatzgebieteAufgaben eines BetriebssystemsAufbau eines BetriebssystemsBeispiele & Ausblick

Page 3: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

3

Echtzeitbetriebssystem - was ist das?Echtzeitbetriebssystem - was ist das?

DIN 44300 (1985): – „Betrieb eines Rechensystems, bei dem Programme zur

Verarbeitung anfallender Daten ständig betriebsbereit sind derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind“.

Eigenschaften:– Rechtzeitigkeit und Gleichzeitigkeit

– Unterbrechungsfähigkeit (Interruptverwaltung)

– Sichere Ressourcenverwaltung

– Definierte Reaktion auf Fehlerzustände

Page 4: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

4

Vergleich „normales“ BS - RTOSVergleich „normales“ BS - RTOS

• hohe Antwortzeiten

• hohe Schedulingzeiten

• unbekannte Interruptsperren

• nichtunterbrechbare Kernelaufrufe

• „gerechte“ Rechenzeit- aufteilung

• Annahme jedes Prozesses

• Latenzzeiten gering

• Scheduling im µs Bereich

• bekannte Interruptbehandlung

• teilweise preemptive Kernel

• Prioritätsklassen im Scheduler

• Last- und Möglichkeitsanalyse

„normales“ BS Echtzeit BS

Page 5: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

5

„„Weiche“ - „Harte“ EchtzeitWeiche“ - „Harte“ Echtzeit

„Weiche“ Echtzeit:– definierte Zeitforderungen– niedrige Kosten bei verspäteten Ergebnissen – Akzeptierung einer geringeren Performance bei einer Verspätung

„Harte“ Echtzeit:– Verzögerungen unter keinen Umständen– Ergebnisse sind nutzlos wenn zu spät – katastrophale Störungen bei verpassen Deadlines– unendlich hohe Kosten für verpasste Deadlines

Page 6: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

6

Einsatzgebiete von RTOSEinsatzgebiete von RTOS

„Weiche“ Echtzeit– digitale Telefonanlage – multimediale Anwendungen – Steuerung unkritischer chemischer Prozesse – Verkaufsautomat – Router und Switches

„Harte“ Echtzeit– Steuerung eines Kernreaktors– Steuerung kritischer chemischer Prozesse– Antiblockiersystem– Überwachungssysteme auf einer Intensivstation– Digitalsteuerung im Airbus Flugzeug

Page 7: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

7

ÜberblickÜberblick

Was ist ein Echtzeitbetriebssystem?Weiche - Harte EchtzeitEinsatzgebieteAufgaben eines BetriebssystemsAufbau eines BetriebssystemsBeispiele & Ausblick

Page 8: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

8

Aufgaben eines BetriebssystemsAufgaben eines Betriebssystems

Hardware

Betriebssystem

Software Software Software

I/O-VerwaltungTask-

verwaltungInterrupts

Speicher-verwaltung

SoftwareSoftware

Ha

rdw

are

ab

stra

ktio

n

Schnittstellen

Page 9: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

9

POSIX StandardPOSIX Standard

Portable Operating System Interface– Portabilität von Applikationen

– eindeutige Schnittstellen

– POSIX konformer Code auf allen POSIX Betriebssystem compilierbar

IEEE 1003.1b Echtzeit & I/O Erweiterungen– Interprocess communiation - Process memory locking

– Timers - Real-time signal extensions

– Priority scheduling - Synchronized I /O

– Shared memory - Asynchronous I/O

Page 10: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

10

POSIX StandardPOSIX Standard

Beispiele

int timer_delete

(

timer_t timerid

)

sched_setprogram

(

pit_t tid,

const struct sched_param * param

)

Page 11: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

11

I/O-VerwaltungI/O-Verwaltung

Synchronisationsmechanismen– Polling

– Busy-Waiting

– Handshaking

Interrupts– Interfacebaustein

Beispiel:– Temperatursensor

Page 12: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

12

Task-EinordnungTask-Einordnung

Eine Task (Prozess) ist:– Träger der Aktivität

– die kleinste planbare Einheit

– erfüllt eine von Programm spezifizierte Funktion

verschiedene Taskzustände

Zustandsübergänge werden durch Scheduler ausgelöst

Page 13: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

13

Task ZuständeTask Zustände

Einfache, nicht unterbrechbare Tasks

bereit

deaktiviert

aus-führend

aktivieren

start

beenden

deaktiviert

bereit

aus-führend

deaktiviert

Einfache, nicht unterbrechbare Tasks

Page 14: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

14

Einfache, unterbrechbare Tasks

Task ZuständeTask Zustände

Einfache, unterbrechbare Tasks

bereit

deaktiviert

aus-führend

aktivieren

start

beenden

unter-brechen

deaktiviert

bereit

aus-führend

bereit

aus-führend

deaktiviert

Page 15: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

15

ProzessA

ProzessA

ProzessA

ProzessA

ProzessablaufplanungProzessablaufplanung

0

5

10

Prio

rität

ProzessB

ProzessC

ProzessD

ProzessE

ProzessF

ProzessD

ProzessB

ProzessC

ProzessB

ProzessC

Page 16: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

16

ÜberblickÜberblick

Was ist ein Echtzeitbetriebssystem?Weiche - Harte EchtzeitEinsatzgebieteAufgaben eines BetriebssystemsAufbau eines BetriebssystemsBeispiele & Ausblick

Page 17: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

17

Monolithischer AufbauMonolithischer Aufbau

Def: feste Einheit bildend (Duden)gekennzeichnet durch:

– keine erkennbare Struktur– nicht multitaskingfähig– jede Prozedur darf jede andere aufrufen

Nachteile:– schlecht anpassbar und wartbar– fehleranfällig

Beispiele:– OS/360 (IBM, 1964)– DOS

Page 18: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

18

Heutige BetriebssystemeHeutige Betriebssysteme

hierarchisch strukturiert und modular aufgebaut

– taskorientiert– hierarchische Gliederung in Schichten (Schichtenmodell)– verschiedene Abstraktionsebenen

Vorteile gegenüber monolithischen Aufbau:

– linearer Verifikationsaufwand durch Hierarchie– Skalierbarkeit, Konfigurierbarkeit– Multitaskingfähigkeit

Page 19: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

19

Die Mikrokernel-ArchitekturDie Mikrokernel-Architektur

BS-Kern enthält nur die absolut notwendigen Funktionen– Prozessverwaltung

– Interprozesskommunikation

– Synchronisation

Die restlichen Aufgaben in Erweiterungsmodulen

Page 20: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

20

BeispieleBeispiele

Weitere RTOS im Internet:

Prioritätsbasierte Betriebssystemkerne für eingebettete Anwendungen– VRTX, VxWorks, OSEK, PXROS, RTkernel, OS9, RTEMS, Nucleus...

Echtzeiterweiterungen für “Timesharing” Betriebssysteme– RT-Unix, RT-Linux,...

Echtzeitbetriebssysteme in der Forschung– MARS, CHAOS, Spring, ARTS, MARUTI,...

http://www.dedicated-systems.com/encyc/buyersguide/rtos/Dir228.html

Page 21: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

21

Zusammenfassung & AusblickZusammenfassung & Ausblick

Echtzeitbetriebssysteme– Garantierte Reaktionszeiten

– Sicherheit und Stabilität

– Kompaktheit

Aufgaben eines Betriebssystems– Hardwareabstraktion

– Bereitstellung von Ressourcen

Ausblick– Jetzt schon: RTOS in alle Bereichen des täglichen Lebens

– Umsetzung des POSIX Standards

Page 22: Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002.

Echtzeitbetriebssysteme - Gregor Schräder

22

EndeEnde

Vielen Dank für die Aufmerksamkeit