Proseminar Technische Informatik Echtzeitbetriebssysteme Proseminar Technische Informatik Gregor Schräder SS 2002
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
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 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
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
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
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
Echtzeitbetriebssysteme - Gregor Schräder I/O-Verwaltung Synchronisationsmechanismen Polling Busy-Waiting Handshaking Interrupts Interfacebaustein Beispiel: Temperatursensor Echtzeitbetriebssysteme - Gregor Schräder
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 bereit bereit aktivieren deaktiviert deaktiviert deaktiviert start aus- führend aus- führend beenden Echtzeitbetriebssysteme - Gregor Schräder
Einfache, unterbrechbare Tasks Einfache, unterbrechbare Tasks 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 C Prozess C Prozess C 10 Priorität Prozess D Prozess D 5 Prozess E Prozess F Echtzeitbetriebssysteme - Gregor Schräder
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
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
Vielen Dank für die Aufmerksamkeit Ende Vielen Dank für die Aufmerksamkeit Echtzeitbetriebssysteme - Gregor Schräder