Echtzeit Betriebssysteme Was ein RTOS für Embedded-Anwendungen leistet und was bei der Auswahl zu beachten ist

Autor / Redakteur: Ralf Hickl * / Dipl.-Ing. (FH) Hendrik Härter

Ein RTOS kann die steigende Software-Komplexität bewältigen und erlaubt Anwendungen in Echtzeit. Was es bei der Wahl eines RTOS zu beachten gilt, zeigen wir Ihnen im folgenden Beitrag.

Anbieter zum Thema

Die Selektionskriterien für leistungsfähige Mikrocontroller haben sich in den letzten Jahren grundlegend gewandelt: Die Eigenschaften des Bauteils treten in den Hintergrund, im Fokus steht zunehmend die Infrastruktur durch 3rd Parties, das sogenannte Ecosystem.

Deshalb hat Rutronik sein Portfolio längst über die Komponenten hinaus erweitert und bietet zu den Mikrocontrollern auch passende Software, allen voran Echtzeit Multitaskingsysteme (RTOS).

Gründe für die steigende Komplexität der Software

Bei Embedded-Anwendungen verzeichnen innerhalb der Ecosysteme vor allem die Echtzeit-Multitaskingsystemen (RTOS) eine wachsende Beliebtheit. Die Gründe dafür liegen allen voran in der stetig wachsenden Software-Komplexität und in der Forderung nach Echtzeitverhalten der Applikation.

Gründe für die zunehmende Komplexität der Programme sind etwa neue Normen und Gesetze zur Sicherheit, ein steigender Software-Aufwand für die Mensch-Maschine-Schnittstelle wie Touch-Bedienungen oder Grafikdisplays, und die Forderung nach PC-kompatiblen Schnittstellen durch den verstärkten Anschluss von Embedded-Produkten an die PC-Welt.

Ergänzendes zum Thema
Ein Echtzeit- Betriebssystem

Ein Echtzeit-Betriebssystem unterscheidet sich von einem herkömmlichen Betriebssystem schon allein durch seine Größe. Letzteres kann zwischen einigen Kilobytes, beispielsweise bei den Mikrorechnern, bis hin zu mehreren Megabytes bei Großrechnern liegen. Wesentlich bei einem RTOS ist sein Echtzeitverhalten. Ein RTOS arbeitet zeitlich determiniert. Ein herkömmliches Betriebssystem ist meist nicht deterministisch. Die Antwortzeiten werden von den Applikationen nicht vorgegeben. Ein RTOS ordnet auch die Aufruffrequenzen den Tasks individuell zu. Das senkt die Taktfrequenz und es wird Energie gespart. Somit ist ein Echtzeit-Betriebssystem für batteriebetriebene Geräte sehr interessant. Für Anwender eines RTOS ist auch die Tatsache relevant, wieviele CPU-Architekturen das RTOS unterstützen kann. Zu den Soft-Skills bei der Wahl eines RTOS gehören beispielsweise die Lizenz-Modelle. Hängen die Lizenzkosten von der Stückzahl der verkauften Endprodukte ab?

Die steigende Echtzeit-Forderung resultiert aus dem vermehrten Vordringen elektronischer Systeme in sicherheitsrelevante Bereiche, dem Wunsch nach geringerem Energieverbrauch, der Integration analoger Funktionen in den Mikrocontroller durch die digitale Signalverarbeitung sowie den parallelen Einsatz mehrerer komplexer Schnittstellenprotokolle, darunter auch Echtzeit-Protokolle, wie ProfiNET.

RTOS managt steigende Software-Komplexität und ermöglicht Echtzeitverhalten

Beide Herausforderungen beantworten RTOS: Sie helfen, die steigende Software-Komplexität zu bewältigen und ermöglichen Anwendungen mit Echtzeitverhalten. Im Kern eines RTOS verteilt ein Steuerprogramm, der Scheduler), die CPU-Zeit und damit die Rechenleistung an die verschiedenen Aufgaben (Tasks) nach bestimmten Regeln. Allen Tasks sind in einem Task Control Block bestimmte Eigenschaften zugeordnet, wie die Priorität und der Zustand, in dem sich die Task befindet (Running, Ready, Suspend).

Beim Prioritätsscheduling startet der Scheduler die Task mit der höchsten Priorität, die sich zugleich im Ready-Zustand befindet. Eine eventuell bereits laufende Task wird durch eine mit höherer Priorität unterbrochen (Preemptive Task Scheduling).

Für diese Grundaufgabe benötigt das RTOS einen Timer mit zugehöriger Interrupt Service Routine. Falls vorhanden bietet sich hierfür der Core-Timer einer CPU an, denn damit wird das RTOS einfach portabel für alle Implementierungen dieser CPU. Andernfalls übernimmt ein einfacher Intervalltimer aus dem Peripheralset diese Aufgabe.

Effektivere CPU-Ausnutzung mit RTOS

Nach dem Motto: So oft wie nötig und so selten wie möglich, ordnet ein RTOS die Aufrufintervalle den Tasks individuell zu. Dadurch werden Aufgaben, die mit niedriger Aufruffrequenz arbeiten können, auch entsprechend selten gestartet. Die CPU-Zeit wird nur dort eingesetzt, wo sie wirklich benötigt wird. Das steigert die Effektivität und eröffnet die Möglichkeit, entweder die Taktfrequenz der CPU im Vergleich zu der einer einfachen Superloop zu senken oder sie häufiger in einen Schlafmodus zu versetzen und so Energie zu sparen. Das macht RTOS besonders für batteriebetriebene Geräte äußerst interessant.

Auf der nächsten Seite: Wie die Datenkonsistenz gewahrt bleibt

(ID:30259480)