Wow, that's really silly that someone went out, made a hard realtime system using Linux as the lowest priority level, and then called it RTLinux. RTLinux for years had meant Linux with the PREEMPT_RT patches.
In any case, SpaceX doesn't use Linux for hard realtime systems.
> They do not have hard realtime requirements
https://lwn.net/Articles/540368/
And I probably wouldn't use the RTLinux for a real hard realtime system if I were making the choice. Putting all of the realtime code in the same memory domain as the rest of the Linux kernel is a huge surface area for corruption. I'd probably use sel4 with a virtualized Linux to get the same semantics.
Re:SpaceX Crew Demo-1 Mission [video]
by solarkraft on Saturday March 02, 2019 @04:40PM
(#19291328)
But only the underlying kernel part is actually real-time, the Linux process wouldn't be, right? That leads me to the question: Shouldn't all things in a rocket be real time? Are they "post-poning" stuff like telemetry and other communications?
All critical processes can run outside of Linux, in hard real-time fashion. Linux is used for non-critical things, like networking... The whole RTLinux includes Linux (non-RT part) and a hard RT part, for which you can write your code.
Linux used to run as a non-privileged process in hard real-time kernel, which taken together was guaranteeing responses in nanoseconds range.
If this is still the case (along with what Wikipedia states) , the whole system is by definition hard real-time.