4 ms·
The flight software team did a reddit AMA a while back [0]. They use C++ for writing the flight software (what flies falcon, dragon, etc) running on a customize
by elteto 8y ago
The flight software team did a reddit AMA a while back [0]. They use C++ for writing the flight software (what flies falcon, dragon, etc) running on a customized RT Linux.
[0] https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_software_engineers_we_launch/ https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_...
- monocasa 8y agoAnd FreeRTOS. RTLinux is only barely soft realtime.
- avmich 8y ago> RTLinux is only barely soft realtime. 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.
- solarkraft 8y agoBut 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?
- avmich 8y agoAll 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.
- monocasa 8y agoWow, 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/ 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.
- raptorraver 8y agoThanks for this! ”We’re looking to start crew trials as early as 2015.” :)