Echtzeitbetriebssystem (Real-Time Operating System, RTOS)
Was ist ein Echtzeitbetriebssystem (RTOS)?
Ein Echtzeitbetriebssystem (Real-Time Operating System, RTOS) ist ein Betriebssystem, das Echtzeitanwendungen eine bestimmte Leistungsfähigkeit innerhalb einer festgelegten Frist garantiert. RTOS sind für kritische Systeme und für zeitsensitive Geräte wie Mikrocontroller (MCUs) konzipiert. Die Anforderungen an die Verarbeitungszeit eines RTOS werden in Millisekunden gemessen. Jede Verzögerung bei der Reaktion kann katastrophale Folgen haben.
Echtzeitbetriebssysteme haben ähnliche Funktionen wie allgemeine Betriebssysteme (General-Purpose OS, GPOS) wie Linux, Microsoft Windows und macOS. Sie sind jedoch so konzipiert, dass ein Scheduler im Betriebssystem bestimmte Ablaufzeiten für verschiedene Aufgaben einhalten kann.
RTOS kommen häufig in eingebetteten Systemen vor, die in Mobil-, Netzwerk- und Echtzeitanwendungen eingesetzt werden. Diese Systeme sind eine Kombination aus Hardware und Software, die für eine bestimmte Funktion entwickelt wurden und auch innerhalb eines größeren Systems betrieben werden können. Eingebettete Systeme werden häufig in Echtzeitumgebungen eingesetzt, die RTOS zur Kommunikation mit der Hardware verwenden.
RTOS sind so konzipiert, dass sie mehrere Prozesse gleichzeitig verarbeiten und sicherstellen, dass diese Prozesse innerhalb einer vorhersehbaren Zeitspanne auf Ereignisse reagieren. Die Verarbeitung in einem RTOS erfolgt innerhalb definierter Zeitvorgaben. Die Priorität der Aufgaben wird überwacht und das System kann die Priorität der Aufgaben ändern. Ereignisgesteuerte Systeme wechseln häufig zwischen Aufgaben auf der Grundlage ihrer Priorität.
RTOS sind in folgenden Geräten enthalten:
- Flugverkehrskontrollsysteme
- Antiblockiersysteme und Airbags
- Kameras
- Medizinische Systeme
- PCs
Merkmale eines Echtzeitbetriebssystems
Einige Echtzeitbetriebssysteme sind für spezielle Anwendungen konzipiert, andere sind universell einsetzbar. In der Regel bieten sie jedoch die folgenden Funktionen:
- Multitasking, bei dem Aufgaben schnell hin und her gewechselt werden, so dass der Eindruck entsteht, dass mehrere Programme gleichzeitig ausgeführt werden
- Priorisierung von Prozess-Threads
- ausreichende Anzahl von Interrupt-Ebenen
RTOS weisen im Allgemeinen die folgenden Merkmale auf:
- geringer Speicherbedarf: Im Vergleich zu allgemeinen Betriebssystemen sind Echtzeitbetriebssysteme leichtgewichtig.
- hohe Leistung: RTOS sind in der Regel schnell und leistungsstark.
- Determinismus: Wiederholte Eingaben führen zu derselben Ausgabe.
- Sicherheit und Schutz: Sicherheitsstandards haben in der Regel höchste Priorität, da RTOS häufig in kritischen Systemen eingesetzt werden.
- prioritätsbasierte Planung: Aufgaben, denen eine hohe Priorität zugewiesen ist, werden zuerst ausgeführt, gefolgt von Aufgaben mit niedrigerer Priorität.
- Timing-Informationen: RTOS sind für das Timing und die Bereitstellung von Anwendungsprogrammierschnittstellen verantwortlich.
Wie funktioniert ein RTOS?
Echtzeitbetriebssysteme werden in weiche und harte Echtzeitsysteme unterteilt. Ein weiches RTOS ist für einen Betrieb innerhalb weniger hundert Millisekunden ausgelegt, während ein hartes RTOS vorhersagbare Reaktionszeiten innerhalb von zehn Millisekunden gewährleisten soll.
Weiche Echtzeitsysteme haben in der Regel größere Dateien als harte Echtzeitsysteme. Einige Ausführungen verhalten sich bei Spitzenlasten weniger vorhersehbar, werden jedoch toleriert, da Berechnungen bei Auftreten eines Fehlers auf zuvor festgelegte Prüfpunkte zurückgesetzt werden. Weiche RTOS werden normalerweise in Systemen verwendet, in denen zeitbasierte Ausführungen weniger wichtig sind, wie zum Beispiel in PCs, Kameras und Smartphones.
Harte RTOS haben in der Regel kleine oder mittelgroße Datenmengen. Sie verhalten sich in Spitzenlastphasen vorhersehbar, und bei Auftreten eines Fehlers werden die Berechnungen zurückgesetzt. Normalerweise werden harte RTOS in Systemen verwendet, die wichtige zeitbasierte Ausführungen erfordern, wie zum Beispiel in Flugzeugsensoren, Autopilotsystemen und medizinischen Geräten.
Wenn in einem harten Echtzeitbetriebssystem die Berechnung nicht so ausgeführt werden kann, dass ein Objekt zum festgelegten Zeitpunkt verfügbar ist, wird das Betriebssystem mit einer Fehlermeldung beendet. In einem weichen RTOS funktioniert das Betriebssystem weiter, aber bestimmte Aufgaben sind möglicherweise unproduktiv, wenn sie nicht zu einem bestimmten Zeitpunkt ausgeführt werden.
RTOS fungieren auch als Scheduler, der Aufgaben als bereit zur Ausführung, in Ausführung oder blockiert einteilt.

Sie verfügen meist über einen monolithischen Kernel und eine Mikrokernel-Architektur. Der Betriebssystemkern stellt grundlegende Dienste für alle anderen Teile des Systems bereit. Kernel sind die Hauptschicht zwischen dem Betriebssystem und der Hardware, sie verhindern, dass Benutzeranwendungen kritische Systemfunktionen beeinträchtigen.
Der monolithische RTOS-Kernel und die Betriebsprozesse teilen sich einen Speicher. Diese Architektur arbeitet im Vergleich zu Mikrokernel-Konfigurationen schnell und bietet in der Regel eine bessere Leistung. Monolithische RTOS laufen zwar schneller, sind jedoch schwieriger zu aktualisieren, und ein Programmierfehler im Dateisystem, im Protokoll-Stack oder im Treiber kann zu Systemabstürzen führen.
Bei der Mikrokernel-Architektur sind der Kernel und die Operationen an separaten Orten untergebracht. Diese Architektur ist langsamer als monolithische RTOS, da jede Aktion zum Kernel zurückkehren muss, bevor sie zu der Komponente weitergeleitet werden kann, auf die sie verweist. Dem Mikrokernel fehlt außerdem ein Dateisystem.
Arten von Echtzeitbetriebssystemen
RTOS werden anhand ihrer zeitlichen Beschränkungen und der Folgen von Terminüberschreitungen in drei Hauptkategorien eingeteilt:
- harte RTOS: Harte RTOS arbeiten unter strengen zeitlichen Vorgaben und gehen davon aus, dass die Anwendung, das System und die Umgebung statisch und im Voraus bekannt sind. Diese Systeme bieten deterministische Garantien und stellen sicher, dass alle Aufgaben ihre Fristen einhalten und Systemaufrufe innerhalb festgelegter Zeitlimits beantwortet werden. Ein Beispiel für ein Hard-RTOS ist ein satellitengestütztes Ortungssystem wie das Global Positioning System.
- Firm RTOS: Aufgaben in diesen Systemen haben Zeitvorgaben, sind jedoch flexibler als harte Echtzeitbetriebssysteme. Die Ergebnisse müssen innerhalb der Fristen vorliegen, aber es kommt nicht zu einem Systemausfall, wenn die Fristen nicht eingehalten werden. Firm-Echtzeitbetriebssysteme werden häufig in Multimedia-Anwendungen eingesetzt. Ein Hörgerätesystem, das aufgrund von Verzögerungen bei der Datenverarbeitung gelegentlich Geräuschimpulse erzeugt, gilt beispielsweise als Firm RTOS.
- weiche RTOS: Diese Aufgaben haben zeitliche Beschränkungen, die jedoch nicht als absolute Fristen, sondern als Durchschnittswerte ausgedrückt werden. Ergebnisse, die nach Ablauf der Fristen erzielt werden, gelten nicht als falsch, und die Systemnützigkeit nimmt allmählich ab. Ein weiches RTOS wird in praktischen Anwendungen wie der Bahnfahrkartenreservierung eingesetzt. Es bietet die besten Zeitpläne unter dynamischen Umständen.
Vorteile von Echtzeitbetriebssysteme
Ein Echtzeitbetriebssystem bietet mehrere Vorteile, die es ideal für kritische Aufgaben und Anwendungen machen. Die folgenden sind die wichtigsten Vorteile:
- Ressourcennutzung: RTOS können die Ressourcennutzung maximieren und gleichzeitig Geräte aktiv halten, was zu minimalen Ausfallzeiten führt. Diese Eigenschaft macht RTOS besonders geeignet für Anwendungen, die eine optimale Leistung erfordern.
- Aufgabenverwaltung: RTOS können Aufgaben schnell wechseln, oft in drei Mikrosekunden oder weniger. Diese Aufgabenumschaltung stellt sicher, dass kritische Prozesse rechtzeitig abgeschlossen werden, was die Gesamteffizienz des Systems erhöht. Die Konzentration auf die Ausführung der wichtigsten Aufgaben in der Warteschlange und kritischer Anwendungen kann zusätzlich zu ihrer Effektivität beitragen.
- frei von Fehlern: Echtzeitbetriebssysteme eignen sich gut für die Fehlerbehandlung und können für geringe Jitter optimiert werden. Diese Zuverlässigkeit ist entscheidend für Anwendungen, die einen kontinuierlichen Betrieb erfordern, da RTOS rund um die Uhr verfügbar sind und verschiedene MCU-Plattformen unterstützen.
Nachteile von Echtzeitbetriebssysteme
Echtzeitbetriebssysteme haben bestimmte Nachteile, darunter die folgenden:
- schlechte Multitasking-Fähigkeit: RTOS sind darauf ausgelegt, nur wenige Aufgaben auszuführen und sich auf diese zu konzentrieren, sodass sie für Systeme mit umfangreichen Multitasking-Anforderungen ungeeignet sind.
- Komplexität: RTOS basieren auf komplizierten Algorithmen, die für durchschnittliche Benutzer schwer zu schreiben oder zu verstehen sind. Nur erfahrene Entwickler können mit diesen komplexen Algorithmen effektiv arbeiten.
- eingeschränkte Aufgabenbearbeitung: Um die Genauigkeit zu gewährleisten und Fehler zu reduzieren, konzentrieren sich Echtzeitbetriebssysteme auf jeweils eine Anwendung und lassen Aufgaben mit niedriger Priorität auf unbestimmte Zeit in der Warteschlange. Dies kann zu einer ineffizienten Ressourcenzuweisung und möglichen Verzögerungen bei nicht kritischen Prozessen führen.
Echtzeitbetriebssysteme und generische Betriebssysteme im Vergleich
Generische Betriebssysteme wie Windows und Unix können mehrere Aufgaben gleichzeitig ausführen. Aufgrund von Latenzzeiten und Synchronisationsproblemen sind sie jedoch nicht ideal für wichtige, zeitkritische Anwendungen. Sie arbeiten ebenfalls ohne zeitliche Beschränkungen, sodass Aufgaben manchmal fehlschlagen oder länger dauern. Das heißt, sie bieten eine potenziell nicht deterministische, weiche Echtzeitreaktion auf Aufgaben.
Echtzeitbetriebssysteme bieten in der Regel eine deterministische, harte Echtzeitantwort mit dem Ziel, schnell auf Ereignisse zu reagieren. Während generische Betriebssysteme für den allgemeinen Verbraucherbereich gut geeignet sind, wurden RTOS für Fälle entwickelt, in denen ein System innerhalb eines kurzen, festgelegten Zeitrahmens auf ein Ereignis oder eine Aufgabe reagieren muss. RTOS müssen für die typischen eingebetteten Systeme, in denen sie eingesetzt werden, schnell und genau sein.

Anwendungsfälle für Echtzeitbetriebssysteme
Echtzeitbetriebssysteme kommen in verschiedenen Branchen zum Einsatz. Zu den wichtigsten Anwendungsbereichen zählen:
- medizinische Geräte: Echtzeitbetriebssysteme werden in verschiedenen medizinischen Geräten eingesetzt, beispielsweise in Infusionspumpen, Beatmungsgeräten, Patientenüberwachungssystemen und im IoT der Medizin. Sie gewährleisten eine zuverlässige und genaue Medikamentenabgabe in Infusionspumpen und ermöglichen die Feinabstimmung des Sauerstoffgehalts in Beatmungsgeräten. Die Fehlertoleranz eines RTOS ist in medizinischen Umgebungen, in denen Systemausfälle negative Folgen für die Patientensicherheit haben können, von entscheidender Bedeutung.
- Verteidigungssysteme: RTOS spielen eine entscheidende Rolle in Verteidigungsanwendungen. Sie werden in Avioniksystemen, im Satellitenbetrieb und in unbemannten Luftfahrzeugen eingesetzt. Ihr Einsatz in diesen Systemen gewährleistet ein vorhersehbares Verhalten, das für militärische Einsätze unerlässlich ist. In Raketen- und Radarsystemen koordinieren RTOS komplexe Zielerfassungs- und Verteidigungsmechanismen.
- Flugverkehrskontrolle: RTOS sind in Flugverkehrskontrollsystemen, in denen präzise Zeitsteuerung und Synchronisation entscheidend sind, unverzichtbar. Diese Systeme erfordern die Echtzeitverarbeitung großer Datenmengen, die RTOS effizient bewältigen. Die Fähigkeit dieser Systeme, enge Verarbeitungsfristen einzuhalten, die oft in Millionstelsekunden gemessen werden, ist für Flugsteuerungsfunktionen von entscheidender Bedeutung.
- industrielle Automatisierung: In der industriellen Automatisierung werden Echtzeitbetriebssysteme für programmierbare Steuerungen, Robotik und Überwachungs- und Datenerfassungssysteme eingesetzt. Ein RTOS ermöglicht die präzise Steuerung und zeitliche Abstimmung industrieller Abläufe und steigert so die Produktivität. Diese Systeme sind als Schlüsselkomponenten der Industrie 4.0 positioniert und revolutionieren die Fertigung durch vernetzte Maschinen und Echtzeitentscheidungen.
Wichtige Faktoren bei der Auswahl eines Echtzeitbetriebssystems
Bei der Suche nach einem Echtzeitbetriebssystems sollten die folgenden Faktoren berücksichtigt werden:
- Reaktionsfähigkeit: Zu den Faktoren, die die Reaktionsfähigkeit bestimmen, gehören der Scheduling-Algorithmus, die Interrupt-Latenz und die Kontextwechselzeiten.
- Sicherheitszertifizierungen: Vorzertifizierte und zertifizierte RTOS gewährleisten, dass die Qualität des RTOS den Designstandards der Branche entspricht.
- Verfügbare Systemressourcen: Die Architektur definiert die Art der benötigten Systemressourcen. Beispielsweise benötigen Mikrokernel nur eine geringe Menge an Systemressourcen.
- Sicherheit: Es gibt kostenlose Open-Source-RTOS wie FreeRTOS von Amazon Web Services und RT-Thread sowie kommerzielle Optionen wie QNX Neutrino von BlackBerry, VxWorks von Wind River Systems und SafeRTOS von Wittenstein. Sowohl Open-Source- als auch kommerzielle Produkte bieten integrierte Sicherheitsfunktionen, wobei einige Angebote umfangreicher sind als andere.
- Kompatibilität: Die langfristige Nutzung muss berücksichtigt werden. Wenn ein Unternehmen das RTOS über einen längeren Zeitraum einsetzen will, sollten die Möglichkeiten für zukünftigen Support und Updates berücksichtigt werden.