Definition

Echtzeitbetriebssystem (Real-Time Operating System, RTOS)

Ein Echtzeitbetriebssystem (Real-Time Operating System, RTOS) ist ein Betriebssystem, das Echtzeitanwendungen innerhalb einer bestimmten Frist eine bestimmte Funktion garantiert. RTOS sind für kritische Systeme und für Timing-spezifische Geräte wie Mikrocontroller gedacht. Die Anforderungen an die Verarbeitungszeit werden in Millisekunden gemessen. Jegliche Verzögerungen bei der Beantwortung können katastrophale Folgen haben.

Echtzeitbetriebssysteme haben ähnliche Funktionen wie Universalbetriebssysteme (GPOSes) wie Linux, Microsoft Windows oder macOS, sind jedoch mit einem Planer im Betriebssystem so konzipiert, dass sie bestimmte Fristen für verschiedene Aufgaben einhalten.

Echtzeitbetriebssysteme kommen häufig in eingebetteten Systemen vor, die eine Kombination aus Hardware und Software sind, die für eine bestimmte Funktion entwickelt wurden und Teil eines größeren Systems sein können. Häufig verwenden eingebettete Systeme ein Echtzeitbetriebssystem, um mit der Hardware zu kommunizieren.

Echtzeitbetriebssysteme sind darauf ausgelegt, mehrere Prozesse gleichzeitig zu verarbeiten und sicherzustellen, dass diese Prozesse innerhalb eines festen Zeitlimits auf Ereignisse reagieren. Die Verarbeitung in einem RTOS erfolgt innerhalb definierter Zeitbeschränkungen und überwacht die Priorität von Tasks. Ein RTOS priorisier außerdem Änderungen auf eine spezifische Weise. Ereignisgesteuerte Systeme wechseln häufig nach Priorität zwischen Aufgaben.

Echtzeitbetriebssysteme werden für spezielle Anwendungen erstellt, während andere eher allgemeine Zwecke haben. Üblicherweise bieten Echtzeitbetriebssysteme die folgenden Eigenschaften:

  • Multitasking, bei dem das System Aufgaben schnell wechselt, um den Eindruck zu erwecken, dass mehrere Programme gleichzeitig ausgeführt werden;
  • Prozess-Thread-Priorisierung; und
  • eine ausreichende Anzahl von Unterbrechungsebenen.

Echtzeitbetriebssysteme sind in den folgenden Geräten enthalten:

  • Flugsicherungssysteme;
  • Antiblockierbremsen und Airbags;
  • Kameras;
  • medizinische Systeme; und

Eigenschaften eines Echtzeitbetriebssystems

Echtzeitbetriebssysteme haben im Allgemeinen folgende Eigenschaften:

  • Kleiner Fußabdruck. Im Vergleich zu allgemeinen Betriebssystemen sind Echtzeitbetriebssysteme leichtgewichtig.
  • Hochleistung. Echtzeitbetriebssysteme sind in der Regel schnell und reaktionsschnell.
  • Determinismus. Sich wiederholende Eingaben enden in der gleichen Ausgabe.
  • Sicherheit und Geborgenheit. Sicherheitskritische und Security-Standards haben in der Regel höchste Priorität, da RTOS häufig Teil kritischer Systeme sind.
  • Prioritätsbasierte Planung. Tasks mit hoher Priorität werden zuerst ausgeführt, gefolgt von Jobs mit niedrigerer Priorität.
  • Timing-Informationen. Echtzeitbetriebssysteme sind für das Timing und die Bereitstellung von Anwendungsprogrammierschnittstellen verantwortlich

Wie funktioniert ein Echtzeitbetriebssystem?

RTOS werden in weiche und harte Echtzeitsysteme unterteilt. Ein weiches RTOS ist darauf ausgelegt, innerhalb weniger hundert Millisekunden zu arbeiten, während ein hartes RTOS darauf ausgelegt ist, Reaktionszeiten innerhalb von zehn Millisekunden einzuhalten.

Weiche Echtzeitsysteme haben typischerweise größere Dateien zu bearbeiten, als harte Echtzeitbetriebssysteme. Einige Varianten verhalten sich während Spitzenlasten weniger vorhersehbar. Das ist tolerierbar, da Berechnungen auf zuvor festgelegte Prüfpunkte zurückgesetzt werden, wenn ein Fehler auftritt. Soft-RTOS werden normalerweise in Systemen verwendet, in denen zeitbasierte Ausführungen weniger wichtig sind, wie zum Beispiel in PCs, Kameras und Smartphones.

Hard-RTOS bearbeiten typischerweise kleine oder mittelgroße Dateien. Sie verhalten sich in Momenten mit Spitzenlasten vorhersehbar, und die Berechnung wird zurückgesetzt, wenn ein Fehler auftritt. Sie sind normalerweise Teil von Systemen, die wichtige zeitbasierte Ausführungen erfordern, wie beispielsweise in Flugzeugsensoren, Autopilotsystemen oder medizinischen Geräten.

Wenn ein Betriebssystemen mit harter Echtzeit die Berechnung nicht rechtzeitig schafft, wird es mit einem Fehler beendet. In einem Soft-RTOS funktioniert das Betriebssystem weiterhin, bestimmte Aufgabe werden aber nicht erfüllt. Echtzeitbetriebssysteme fungieren auch als Planer, in dem Aufgaben als betriebsbereit, ausgeführt oder blockiert festgelegt sind.

Sie haben typischerweise eine monolithische Kernel- und Mikrokernel-Architektur. Ein Monolithischer RTOS-Kernel und Betriebsprozesse teilen sich denselben Platz. Diese Architektur arbeitet im Vergleich zu Mikrokernel-Konfigurationen schnell und bietet in der Regel eine bessere Leistung. Obwohl monolithische Echtzeitbetriebssysteme schneller laufen, sind sie schwieriger zu aktualisieren, und ein Programmierfehler im Dateisystem, im Protokollstapel oder im Treiber kann Systemabstürze verursachen.

Die Mikrokernel-Architektur beherbergt den Kernel und die Operationen an getrennten Orten. Diese Architektur ist langsamer als ein monolithisches RTOS, da jede Aktion zum Kernel zurückkehren muss, bevor sie zu der Komponente wechseln kann, auf die sie verweist. Dem Mikrokernel fehlen auch Dateisysteme.

RTOS versus universelle Betriebssysteme

Universelle Betriebssysteme wie Windows oder Unix erledigen mehrere Aufgaben gleichzeitig, sind aber wegen ihrer Latenz- und Synchronisationsproblemen nicht ideal für wichtige, zeitkritische Anwendungen. Sie arbeiten zudem ohne Zeitbeschränkungen, sodass Aufgaben manchmal fehlschlagen oder länger dauern.

Während normale Betriebssysteme gut für die Bedürfnisse des Durchschnittsverbrauchers geeignet sind, sind RTOSs für Fälle konzipiert, in denen ein System innerhalb eines kurzen, festgelegten Zeitrahmens auf ein Ereignis oder eine Aufgabe reagieren muss. Echtzeitbetriebssysteme müssen für die typischen eingebetteten Systeme, in denen sie sich befinden, schnell und genau sein.

Beliebte RTOS-Software und Faktoren für die Auswahl eines Betriebssystems

Zu den beliebten Open-Source- und kommerziellen RTOS gehören:

  • FreeRTOS von Amazon Web Services. Dieses Open-Source-Mikrocontroller-Betriebssystem wurde entwickelt, um das Entwickeln, die Sicherheit, Bereitstellung und das Warten von Mikrocontroller-Edge-Geräten zu vereinfachen.
  • QNX Neutrino von BlackBerry. Dieses kommerzielle Echtzeitbetriebssystem ähnelt Unix und ist für den Betrieb in eingebetteten Systemen konzipiert. Dies ist auch eines der ersten kommerziell erfolgreichen Mikrokernel-Betriebssysteme.
  • VxWorks von Windriver. Dieses RTOS unterstützt die Anwendungsbereitstellung in Containern. Mars Exploration Rovers führen VxWorks aus.
  • SafeRTOS von Wittenstein. Dieses vorzertifizierte Sicherheits-Echtzeitbetriebssystem ist für eingebettete Prozessoren konzipiert.

Bei der Suche nach einem RTOS sollten Sie die folgenden Faktoren berücksichtigen:

  • Die Reaktionsgeschwindigkeit hängt vom Scheduling-Algorithmus, die Interrupt-Latenz und die Kontextwechselzeiten.
  • Vorzertifizierte und zertifizierte RTOS stellen sicher, dass die Qualität des RTOS den Designstandards der Branche entspricht.
  • Verfügbare Systemressourcen. Die Architektur definiert die Art der benötigten Systemressourcen. Beispielsweise verwenden Mikrokerne nur eine geringe Menge an Systemressourcen.
  • Es sind kostenlose Open-Source-RTOS sowie kommerzielle Optionen verfügbar. Sie alle bieten integrierte Sicherheitsfunktionen, aber nicht im gleichen Umfang.
  • Kompatibilität. Sie sollten berücksichtigen, wie lange Sie das RTOS benützen möchten. Zukünftige Unterstützung und Updates sollten eine Rolle spielen, wenn eine Organisation das RTOS über einen längeren Zeitraum verwenden wird.
Diese Definition wurde zuletzt im März 2022 aktualisiert

Erfahren Sie mehr über Serverhardware