Embedded Betriebssysteme für Echtzeitanwendungen

Embedded Betriebssysteme für Echtzeitanwendungen

Unter den Betriebssystemen für Embedded Anwendungen spielen diejenigen, die für Echtzeitprozesse ausgelegt sind eine besondere Rolle. Echtzeitbetriebssysteme oder auch RTOS (real-time operating system) sind mit zusätzlichen Echtzeit-Funktionen für die Einhaltung von Zeitbedingungen und die Vorhersagbarkeit des Prozessverhaltens ausgestattet. Sie sind die Basis zeitkritischer Anwendungen in allen Bereichen der Industrie. Die vorliegende Marktübersicht zeigt zahlreiche Systeme mit Einsatzschwerpunkten in den verschiedensten Branchen.
Die Komplexität von Embedded Systemen variiert sehr stark. Sie reicht von einzelnen Prozessoren bis hin zu kleinen, komplett funktionsfähigen Rechnern. Dasselbe gilt für die Funktionalität. Während ein einzelner Prozessor oft nur eine einzelne Aktion beherrscht, gibt es Systeme, die der Funktionalität eines PCs schon sehr nahe kommen. Das Einsatzgebiet für Embedded Systems ist in den letzten Jahren stark gewachsen. Der Markt für Embedded Systems, also in Geräte verbaute Chip-Technologie brummt. Sie sind heute grundlegender und unverzichtbarer Teil in fast allen Bereichen der Wirtschaft und sind ein Treiber für Innovationen und neue intelligente Entwicklungen und damit für neue Investitionen. Embedded Systems sowie ihre Weiterentwicklung zu Embedded Networks und Computer Physikalischen Systemen sind eine treibende Kraft und für die zukünftige Industrieentwicklung von wachsender Bedeutung. Das Spektrum der Produkte, die unter Verwendung von Embedded Systems realisiert werden, überdeckt zahlreiche entscheidende Branchen. Sie werden als Schlüsseltechnologie in Bereichen wie Industrie- und Prozessautomatisierung, Gebäudeautomatisierung und Maschinenbau zunehmend eingesetzt. Sie werden aber auch in den Zukunftsbereichen Automobilelektronik, Verkehrssteuerung und Medizintechnik sowie in innovativen Anwendungsfeldern wie Ambient Assistent Living (intelligente Assistenzsysteme für Haushalt und Gesundheit) und intelligentes Energiemanagement mit IKT-basierten Smart Grids, Smart Cities und virtuellen Kraftwerken bis hin zum ‚Internet der Dinge‘ eine wichtige Rolle spielen. Embedded Systems befinden sich meist unsichtbar in Maschinen, Anlagen und Geräten wie Waschmaschinen, Kühlschränken etc. Ein gutes Beispiel für Embedded Systems sind die Dutzende von Computern, die in einem modernen Auto arbeiten. Nicht nur in Unterhaltungsgeräten und Navigationssystemen stecken dabei Prozessoren und Betriebssysteme, sondern beispielsweise auch im ABS. Sie steuern unter anderem Scheibenwischer, Stabilitätskontrolle (ESP), Bremsassistent, Tempomat oder Einparkhilfe. So ist die Automobilindustrie auch eines der drei Felder, in denen Embedded Systems noch vermehrt zum Einsatz kommen sollen. Die anderen Bereiche sind Energieversorgung und Einzelhandel. Somit ist natürlich auch das Angebot an Embedded-Betriebssystemen immens, die Auswahl eines geeigneten Systems kein leichtes Unterfangen. Muss ein deterministisches Zeitverhalten erfüllt werden, so sind Echtzeitbetriebssysteme unumgänglich, denn nur sie garantieren dem Anwender die Reaktion innerhalb einer vorhersagbaren und wiederholbaren Zeit. Die Vielzahl der Embedded-Betriebssysteme ist kein Zufall sondern das Ergebnis der unterschiedlichen Anforderungen in den verschiedenen Anwendungsfällen. Deshalb ist es besonders wichtig, möglichst genau zu klären, was das Betriebssystem, beziehungsweise dessen Umgebung, können muss. Jedes Betriebssystem hat seine individuellen Stärken. Auch das Einsatzgebiet spielt für die Wahl des Betriebssystems eine zentrale Rolle. Aus diesem Grund ist es sicher von Vorteil, die Anforderungen ganz genau abzuklären, bevor man sich für ein Betriebssystem entscheidet. Ein Echtzeitbetriebssystem verwaltet im Prinzip die Zeit eines Mikroprozessors oder Microcontrollers und bietet eine Multitasking-Umgebung. Das heißt, es können mehrere Dinge gleichzeitig ablaufen, indem ein Programm in mehrere Tasks zerlegt wird. Treten mehrere Ereignisse gleichzeitig ein, müssen dennoch alle Deadlines für alle Ereignisse eingehalten werden. Ein Echtzeitsystem muss also einen inhärenten Parallelismus haben und bestimmte Forderungen erfüllen. So muss es eine Interruptverwaltung sicherstellen sowie eine sichere Verwaltung der Rechenprozesse und des Systemspeichers (Taskverwaltung). Es muss weiterhin eine definierte Reaktion auf Fehlerzustände garantieren, Ressourcen zur Taskkommunikation und Synchronisation bereitstellen sowie Ressourcen zur Steuerung zeitlicher Abläufe. Beim Kernel eines Echtzeitbetriebssystems handelt es sich um einen hardwareunabhängigen, effizienten Scheduler. Er hat die höchsten Rechte in einem System. Um diesen Kernel bildet das Echtzeitbetriebssystem eine Schale, die von Applikationsprogrammen nicht durchdrungen wird. Der Kernel beinhaltet die Systemuhr, den Scheduler (Threadmanager) und eine Verwaltung der Synchronisationsobjekte. Ein Task ist ein Stück Programmcode. Der Task mit hoher Priorität hat immer Vorrang vor dem mit niedrigerer Priorität. Führt ein System beispielsweise einen Task mit niedriger Priorität aus, während ein Task mit höherer Priorität blockiert ist, unterbricht das Betriebssystem diesen Vorgang und arbeitet zuerst den Task mit höherer Priorität ab.
(ahc)

TeDo Verlag GmbH
www.embedded-design.net

Das könnte Sie auch Interessieren