230 likes | 492 Views
Echtzeitbetriebssysteme. Proseminar Technische Informatik Gregor Schräder. SS 2002. Überblick. Was ist ein Echtzeitbetriebssystem? Weiche - Harte Echtzeit Einsatzgebiete Aufgaben eines Betriebssystems Aufbau eines Betriebssystems Beispiele & Ausblick.
E N D
Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002
Überblick • Was ist ein Echtzeitbetriebssystem? • Weiche - Harte Echtzeit • Einsatzgebiete • Aufgaben eines Betriebssystems • Aufbau eines Betriebssystems • Beispiele & Ausblick Echtzeitbetriebssysteme - Gregor Schräder
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 Echtzeitbetriebssysteme - Gregor Schräder
Vergleich „normales“ BS - RTOS „normales“ BS Echtzeit BS • 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 Echtzeitbetriebssysteme - Gregor Schräder
„Weiche“ - „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 Echtzeitbetriebssysteme - Gregor Schräder
Einsatzgebiete 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 Echtzeitbetriebssysteme - Gregor Schräder
Überblick • Was ist ein Echtzeitbetriebssystem? • Weiche - Harte Echtzeit • Einsatzgebiete • Aufgaben eines Betriebssystems • Aufbau eines Betriebssystems • Beispiele & Ausblick Echtzeitbetriebssysteme - Gregor Schräder
Aufgaben eines Betriebssystems Hardwareabstraktion Software Software Software Software Software Betriebssystem Schnittstellen I/O-Verwaltung Task- verwaltung Interrupts Speicher- verwaltung Hardware Echtzeitbetriebssysteme - Gregor Schräder
POSIX 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 Echtzeitbetriebssysteme - Gregor Schräder
POSIX Standard • Beispiele int timer_delete ( timer_t timerid ) sched_setprogram ( pit_t tid, const struct sched_param * param ) Echtzeitbetriebssysteme - Gregor Schräder
I/O-Verwaltung • Synchronisationsmechanismen • Polling • Busy-Waiting • Handshaking • Interrupts • Interfacebaustein • Beispiel: • Temperatursensor Echtzeitbetriebssysteme - Gregor Schräder
Task-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 Echtzeitbetriebssysteme - Gregor Schräder
Task Zustände Einfache, nicht unterbrechbare Tasks Einfache, nicht unterbrechbare Tasks bereit bereit aktivieren deaktiviert deaktiviert deaktiviert start aus- führend aus- führend beenden Echtzeitbetriebssysteme - Gregor Schräder
Task Zustände Einfache, unterbrechbare Tasks Einfache, unterbrechbare Tasks bereit bereit bereit aktivieren deaktiviert deaktiviert deaktiviert unter-brechen start aus- führend aus- führend aus- führend beenden Echtzeitbetriebssysteme - Gregor Schräder
Prozessablaufplanung Prozess A Prozess A Prozess A Prozess A Prozess B Prozess B Prozess B Prozess C Prozess C Prozess C 10 Priorität Prozess D Prozess D 5 Prozess E Prozess F 0 Echtzeitbetriebssysteme - Gregor Schräder
Überblick • Was ist ein Echtzeitbetriebssystem? • Weiche - Harte Echtzeit • Einsatzgebiete • Aufgaben eines Betriebssystems • Aufbau eines Betriebssystems • Beispiele & Ausblick Echtzeitbetriebssysteme - Gregor Schräder
Monolithischer 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 Echtzeitbetriebssysteme - Gregor Schräder
Heutige 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 Echtzeitbetriebssysteme - Gregor Schräder
Die Mikrokernel-Architektur • BS-Kern enthält nur die absolut notwendigen Funktionen • Prozessverwaltung • Interprozesskommunikation • Synchronisation • Die restlichen Aufgaben in Erweiterungsmodulen Echtzeitbetriebssysteme - Gregor Schräder
Beispiele • 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,... Weitere RTOS im Internet: http://www.dedicated-systems.com/encyc/buyersguide/rtos/Dir228.html Echtzeitbetriebssysteme - Gregor Schräder
Zusammenfassung & 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 Echtzeitbetriebssysteme - Gregor Schräder
Ende Vielen Dank für die Aufmerksamkeit Echtzeitbetriebssysteme - Gregor Schräder