Welche Vorteile hätte ein Betriebssystem wie QNX oder VxWorks gegenüber Linux bei der Entwicklung einer Lösung, die ein Echtzeitbetriebssystem erfordert?
Oder anders ausgedrückt: Da diese Betriebssysteme speziell für den eingebetteten Echtzeitgebrauch entwickelt wurden - im Gegensatz zu Linux, einem allgemeineren System, das auf den Echtzeitgebrauch zugeschnitten werden kann -, wann Sie eines dieser Betriebssysteme benötigen diese Betriebssysteme anstelle von Linux?
Ich habe überhaupt keine Echtzeitarbeit geleistet, also nimm das mit einem Körnchen Salz ...
Mir wurde gesagt, dass es zwei Kategorien von "Echtzeit" gibt: harte Echtzeit und weiche Echtzeit.
"Weiche Echtzeit" bedeutet informell "Erledige es so schnell wie möglich". Ich denke, dass Linux auf einer modernen CPU für so etwas gut ist.
"Harte Echtzeit" bedeutet informell "Erledige es innerhalb eines erforderlichen Zeitfensters". Das Fenster kann ziemlich klein sein, Millisekunden oder so. Flugsteuerungssysteme für Marschflugkörper oder Satelliten-Trägerraketen scheinen das kanonische Beispiel zu sein. Möglicherweise benötigen auch industrielle Prozessleitsysteme dies. Der Stuxnet-Wurm scheint in Systeme eingegriffen zu haben, die diese Art der Steuerung durchführen.
In letzterem Fall würden Sie RTOS verwenden. RTOS garantiert oft die Auslieferung eines Interrupts in weniger als so vielen Befehlen oder Takten oder was auch immer.
Eine weitere Überlegung könnte sein, dass ein RTOS so konzipiert, getestet und / oder "geprüft" ist, dass es keinen uneingeschränkten Stapelspeicher belegt. Es kann innerhalb einer bestimmten Mindestmenge an Speicher leben, und Dinge wie ein "OOM Killer" existieren nicht, weil sie nachweislich nie benötigt werden. Einige der gooferen Merkmale von FORTRAN in der Frühphase sind auf diese Art von Anforderung zurückzuführen. Als Sie ein FORTRAN II-Programm kompilierten, wussten Sie genau, wie viel Stapel und wie viel Heap es benötigte, da Sie nicht rekursiv arbeiten und nichts dynamisch zuweisen konnten.
Realistisch gesehen ist die zweite Überlegung (garantierter maximaler Speicherverbrauch) in einigen sicherheitskritischen Anwendungen möglicherweise wichtiger als die "garantierte Interrupt-Latenz von 0,001 Sekunden".
Ich könnte mir auch vorstellen, dass Ingenieure ein RTOS auswählen, wenn sie den Auswahlprozess des Feigenblatts der unterstützenden Redewendung streifen, weil "die Anforderungen sagen zu".
quelle