Nach modernen Ansprüchen muss ein Betriebssystem (OS) für Embedded-Geräte meist echtzeitfähig und Security-zertifizierbar sein sowie Multicore unterstützen. Hierfür gibt es flexible und kostenlose Lösungen.
Struktur des Echtzeit-Betriebssystems RTEMS: Vor 25 Jahren wurde die erste volle Version des unter Open-Source-Lizenz verbreiteten RTOS erstmals zur Verfügung gestellt.
(Bild: embedded brains)
Waren embeddedOS früher eher als Starter-Kit für einen Micro-Controller zu verstehen, so benötigt die Komplexität von aktueller Hard- und Software oft einen „Unterbau“, der dem von Desktop Systemen oft kaum nachsteht. Dennoch scheinen die Forderungen auf dem Titel ziemlich hoch gegriffen.
Dies ist jedoch kein Ausdruck fehlender Kompromissbereitschaft, sondern begründet und realistisch. Im Folgenden soll erläutert werden, was dahintersteckt.
Ansprüche an ein Embedded-Betriebssystem
In der Regel wächst die Entwicklung eines Embedded-Systems mit der Zeit. Anfangs geht es darum, möglichst schnell zu einem funktionsfähigen Basis-System zu kommen. Das wird benötigt, um die Hardware testen zu können und als Basis für die weitere Entwicklung. Hier ist es wichtig, ein OS für die vorgesehenen Hardware-Plattform verfügbar zu haben, oder zumindest mit überschaubarem Aufwand produzieren zu können.
Naheliegend werden hier bereits die zu erwartenden Features, die Prozessorarchitektur sowie die Systemkonfiguration berücksichtigt. Zu diesem Zeitpunkt gelingt dies jedoch nur auf einer relativ groben Ebene, da sowohl Hardware als auch Software heutzutage eine hohe technische Komplexität aufweisen.
Beispielsweise kann die Dokumentation für einen SoC durchaus mehrere Tausend Seiten umfassen. Die Feinheiten erschließen sich dann oft erst während der Entwicklung.
Neben der technischen Betrachtung für das konkrete Projekt spielen auch simple praktische Gesichtspunkte eine Rolle. Welche Erfahrungen hat man mit ähnlichen Systemen beziehungsweise Projekten? Wie aufwendig ist der Einstieg?
Unter dem Zeitdruck bei (oft schon verzögertem) Projektbeginn hat man selten die Geduld, umfangreiche Beschaffungsprozesse und Lizenzvereinbarungen für Testzwecke anzustoßen. Man muss hier einen Weg zwischen zwei Extremen finden.
Scheinbarer Minimalaufwand
Der Minimalistische Ansatz verfolgt den Aufbau eines möglichst einfachen Systems. Der initiale Aufwand ist hierbei klein, das System zunächst einfach, dadurch auch die Einarbeitung.
Allerdings wird es aufwendig (oder gar unmöglich), später eventuelle notwendige Erweiterungen einzubringen. Selbst wenn sich „nur“ eine Schnittstellendefinition ändert und der passende Treiber nicht im Support-Package für das jeweilige Board verfügbar ist, können schon erhebliche Schwierigkeiten auftreten.
Wenn sich gar herausstellt, dass die Performance eines Single-Core Systems nicht ausreicht und man deswegen auf eine Multi-Core Variante aufrüsten muss, ist in vielen Fällen ein kompletter softwareseitiger Neustart angesagt – mit absehbaren Problemen beim Terminplan.
Fast noch dramatischer wird es, wenn die benötigen Response-Zeiten nicht stabil einzuhalten sind. Denn es ist nahezu unmöglich, unzureichende Echtzeitfähigkeiten nachzurüsten. Und ein System manuell bezüglich der Response-Zeit „zu optimieren“ braucht es viel Zeit und es bleibt riskant (um nicht zu sagen instabil).
Maximal und schwerfällig
Beim maximalen Ansatz werden In Erwartung möglicher Schwierigkeiten alle denkbaren Notwendigkeiten in Betracht gezogen. Speziell breit aufgestellte Projektkonsortien neigen dazu, Bedenken und Kritik durch weitere Forderungen im Lastenheft „zu bedienen“. Das Ergebnis ist dann ein schwerfälliger Bolide, mit großem Aufwand und Zeitbedarf für die Entwicklung und geringer Flexibilität für Anpassungen und Weiterentwicklungen.
Open Source
Kommerziell, aber frei verfügbar
Komerziell
ERIKA
CMX-RTX
OS-9
FreeRTOS
On Time RTOS-32
PikeOS
RTAI
RTLinux
QNX
RTEMS
SCIOTOPIA RTOS
Xenomai
SMX RTOS
Zephyr
µC/OS
VxWorks
Die (unvollständige) Liste benennt Echtzeitbetriebssysteme, die für verschiedene Mikrocontroller verfügbar sind, in alphabetischer Reihenfolge.
Überlegungen zu Lebens- und Einsatzzeiten des Systems
Die Suche nach einem „optimalen“ Weg zwischen den oben gezeigten Extremen erscheint verständlich, bleibt aber ein Kompromiss. Und, egal welche Strategie man letztlich gewählt hat, kommt irgendwann im Laufe der Produktlebenszeit dazu noch die zeitliche Entwicklung. Dies ist wichtig zu berücksichtigen, da Embedded-Systeme oft lange Produktlebenszyklen und Einsatzzeiten haben. Ein paar geläufige Beispiele:
1. Es erscheint eine neue Version des OS. Soweit kein ungewöhnlicher Vorgang, aber speziell bei kommerziellen OS kommt man früher oder später um eine Anpassung nicht herum. Das bedeutet auch eine komplett neue Testung, gegebenenfalls Aufrüstung der Hardware. Sofern das mit einer ohnehin fälligen Produktrevision einhergeht, passt es. Andernfalls entsteht ein nicht unerheblicher und dazu noch sinnloser Aufwand.
2. Das Produkt soll eine Weiterentwicklung erfahren. Hier stößt man leicht an eine gläserne Decke, wenn nämlich die dafür benötigten Features nicht vom OS bereitgestellt werden (können).
3. Ein Nachfolgeprodukt oder eine abgeleitete Variante soll entwickelt werden. Hierbei ist der Rückgriff auf vorhandenes Know-how und vorhandene Technologie sehr vorteilhaft. Ob das klappt, hängt von der Flexibilität des OS ab.
4. Eigentümerwechsel beim OS-Hersteller: Die Lizenzbedingungen und die Lizenzkosten ändern sich. Dadurch ändern sich nicht nur die Kosten an sich, sondern auch die Kostenstruktur und die Roadmap. Im Einzelfall können sich die Lizenzgebühren vervielfachen. Ein Wechsel auf ein anderes OS ist bei einem laufenden Produkt kaum möglich, das weiß auch der Lizenzgeber.
5. Wird eine Qualitäts- oder Sicherheitszertifizierung (für Automotive, Medizintechnik oder Luft- und Raumfahrt) benötigt, ist generell ein großer Aufwand nötig. Bei jeglichen Änderungen fallen Re-Zertifizierungen an. Nachträgliche Zertifizierungen sind oft aus ökonomischen Gründen kaum machbar, bei komplexen Architekturen, wie bei Linux), auch technisch kaum möglich.
Funktional
Operativ
Strategisch
Ausreichender Funktionsumfang
Entwicklungs- und Testwerkzeuge
Skalierbarkeit für andere Plattformen und für veränderten Leistungsumfang
Verfügbarkeit für vorgesehene Hardware- Plattform (oder umgekehrt)
Abhängigkeit vom Lieferanten bzw. Transition-Aufwand
Kompatibilität zu Standards bzw. etablierten Plattformen
Flexible Skalierung erlaubt schnelle Anpassung
Und nun? Am liebsten möchte man nicht „klein ODER groß“ sondern „klein UND groß“. Das heißt, ein einfaches und kleines System für den Start, das bei Bedarf ausgebaut werden kann. Und ein System, das keinen unerwarteten Ärger macht, weil etwas „nicht geht“. Wie eine solche Skalierung gelingen kann, soll am Beispiel der Entwicklung des Echtzeitbetriebssystem „RTEMS“ (Real Time Executive for Multiprocessor Systems) dargestellt werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Ursprünglich wurde RTEMS in den 1980er Jahren vom amerikanischen Militär als Plattform für Echtzeitsysteme entwickelt. Aber bereits nach wenigen Jahren wurde die Software unter Open-Source-Lizenz gestellt und dort weiterentwickelt. Herausragende Merkmale waren von Anfang an die „harte“ Echtzeitfähigkeit sowie der niedrige Ressourcenbedarf bei gleichzeitig hoher Leistung (Memory Footprint derzeit ab ca. 64 KByte). Mittlerweile hat sich eine überwiegend aus professionellen Usern gebildete Community gebildet, zumeist aus Bereichen mit hohem Leistungsanspruch (Raumfahrt, industrielle Anwendungen).
Über die Jahre wurde RTEMS auf eine Vielzahl von Prozessoren portiert und zeitgemäße Schnittstellen hinzugefügt. Derzeit ist RTEMS für 32 und 64 Bit-Systeme, einschließlich ARM und AARC64, Power PC und NIOS-2- RISC-V Architekturen verfügbar. Die lange „Reifezeit“ als Open-Source-Software war wichtig, um sicherzustellen, dass (a) das System technisch und organisatorisch ausgereift ist und (b) das System auf absehbare Zeit weiterentwickelt wird – einfach, weil es schon von einer größeren Zahl professioneller User genutzt wird.
Open-Source Software im professionellen Einsatz
Ein Open-Source Betriebssystem, das überwiegend von professionellen Benutzern getrieben wird, ist zwar noch etwas ungewöhnlich, hat aber eine Reihe von Vorteilen gegenüber kommerziellen Systemen:
Jeder Nutzer kann frei entscheiden, welche Version genutzt werden soll;
es gibt keine Restriktionen, neue Features zu entwickeln; und
für den Support gibt es verschiedene Anbieter, die (nur) durch wettbewerbsfähige Leistungen bestehen können.
Die zuvor erwähnte „gläserne Decke“ existiert hier also nicht bzw. nur in dem Sinne, dass der technische Aufwand im gegebenen Rahmen vertretbar sein muss.
Systeme mit Symmetrischem Multiprocessing (SMP)
Mit der zunehmenden Verbreitung von Multicore-Systemen für höhere Leistungsfähigkeit steigen die Anforderungen an die Systemarchitektur erheblich. Solange verschiedene Prozesse jeweils einem eigenen Prozessor zugewiesen werden können oder mit einer festen Zuteilung von Rechenkapazität (Hypervisor-Architektur), ist dies noch relativ einfach zu realisieren.
Allerdings ist eine solche Lösung hinsichtlich der Nutzung der Rechenleistung nicht flexibel und daher nicht optimal effizient. Hinzukommen, je nach Prozessorarchitektur, mehr oder minder spürbare Umschaltverluste zwischen den Prozessen und die suboptimale Nutzung von Hardware-Beschleunigern, zum Beispiel Cache.
Zur Erreichung einer maximalen Systemperformance wurde in RTEMS das Konzept des Symmetrischen Multiprocessing (SMP) implementiert - gefördert durch die Europäische Raumfahrtagentur ESA. Hierbei wird die Rechenleistung gleichmäßig und in einer Art Selbstorganisation auf die verschiedenen Rechenkerne verteilt.
Die Zuhilfenahme einer Reihe von Features ermöglicht die Darstellung eines Echtzeitbetriebssystems mit maximal effektiver Nutzung beziehungsweise Zuteilung der Prozessorressourcen. Derzeit wird dies umgesetzt auf 4- bis 24-Core-Systemen, unter anderem auf „QoriQ T4240“, „GR740“, „Intel Arria 10“, „Intel Cyclone V“ und „Xilinx Zynq“ (auch „UltraScale+“).
Echzeitbetriebssystem mit Sicherheitszertifzierung
Die für Luft- und Raumfahrt, Medizintechnik, Bahn- und Fahrzeugtechnik und viele andere Branchen notwendige Sicherheitszertifizierung stellt hohe Ansprüche an die Architektur und die Testung von Software. Vor allem ist sie aufwändig und kann ein Mehrfaches des Entwicklungsaufwands verschlingen.
Um diesen Prozess zu vereinfachen, wird für RTEMS derzeit ein Qualifizierungs-Toolkit entwickelt. Dieses umfasst die notwendige Dokumentation sowie eine Tool-Chain und Test-Suites für eine automatische Testung. In einem ersten Schritt dient dies zur Zertifizierung für die Europäische Raumfahrt (nach ECSS-Standard), die Tools können aber auch für andere Standards angepasst werden.
Da die Tools im öffentlichen Repository verfügbar sein werden, sinkt der Zertifizierungsaufwand erheblich. Ebenso sind die Tools zur Qualitätsverbesserung der Entwicklungsprozesse (auch ohne formale Zertifizierung) sehr nützlich.
Effiziente und sichere Optionen im RTOS-Umfeld
Operative und strategische Gesichtspunkte spielen bei Echtzeitbetriebssystemen eine zentrale Rolle, da diese die Erstehungskosten und Pflegekosten eines Produkts maßgeblich beeinflussen. Die Entscheidung für ein Echtzeitbetriebssystem sollte daher nicht nur nach Leistung und primären Kostenfaktoren getroffen werden. Vielmehr sind langfristig wirksame Faktoren wie Skalierbarkeit, Verfügbarkeit und Abhängigkeiten von ebenso großer Bedeutung.
Größere Open-Source-Projekte sind diesbezüglich interessante, oft langfristig sogar sicherere Alternativen zu kommerziellen Systemen. Sie erfordern jedoch Engagement und gelegentliches Umdenken hinsichtlich des zugrunde liegenden Geschäftsmodells. Etablierte und nicht zu exotische Systeme auf Open-Source-Basis bieten eine effiziente und sichere Option im Bereich der Echtzeitbetriebssysteme.
Hinweis: Der Artikel ist zuerst im Partnerportal „Elektronik Praxis“ erschienen.
* Professor Dr.-Ing. Matthias Göbel ist Projektleiter bei der Embedded Brains GmbH in Puchheim bei München.