Zum ersten möchte ich erwähnen, dass ich ein Neuling in der Echtzeit-Systemprogrammierung bin. Deshalb bin ich mir nicht sicher, ob meine Fragen richtig sind. Entschuldigung, aber ich brauche etwas Hilfe
Kurz gesagt: Wie kann man harte Echtzeitsoftware implementieren, um sicherzustellen, dass sie die harten Fristen einhält? Ist es notwendig, einige QNX-Funktionen zu verwenden? Oder reicht es gerade aus, es für Linux zu schreiben, auf QNX zu portieren und es wird standardmäßig in Echtzeit sein?
Vollständige Frage: Wir haben eine komplexe plattformübergreifende Multiprozess-Software mit prozessübergreifender Kommunikation für Linux, Windows, Android und QNX implementiert. Die Programmiersprache ist C ++, wir verwenden Boost und Planty anderer Bibliotheken. Unsere Software erledigt ihre Arbeit gut und schnell, ist aber immer noch ein Prototyp. Für Produktionszwecke müssen wir dies in Echtzeit tun. Einige unserer Funktionen müssen in Echtzeit und sehr robust sein, da sie sehr wichtig sind und die Sicherheit der Benutzer unserer Software davon abhängen kann. Sie arbeiten ziemlich schnell - bis zu Hunderten von Millisekunden. Aber ich bin mir nicht sicher, ob unser System aufgrund dieser Tatsache wirklich in Echtzeit ist (habe ich recht?).
Es gibt also eine Hauptfrage: Wie kann man unsere Software so ändern, dass sie in Echtzeit ist? Ich habe viel gegoogelt, aber ich habe immer noch keine Ahnung, wie ich es machen soll.
Einige zusätzliche Informationen zu unseren Plattformen: Linux und Windows verwenden wir derzeit nur zu Testzwecken. Android - wir haben uns noch nicht entschieden, ob wir es brauchen. QNX - ist unser Zielbetriebssystem für die Produktion. Ich denke, die Antwort auf meine nächste Frage lautet "NEIN" :) Aber ist es überhaupt möglich, plattformübergreifende Echtzeitsoftware (für Echtzeitbetriebssysteme (RTOS) sowie für Allzweckbetriebssysteme (GPOS)) zu implementieren?
Möglicherweise müssen wir uns bemühen, alle Echtzeitfunktionen nur für QNX zu implementieren? Aber ich verstehe immer noch nicht, wie es geht. Könnte jemand ein Licht auf diese Frage werfen?