On December 9 at 7:39 am Beijing time, the Tiany-33 satellite, part of the Tiansuan project, was successfully launched from the Zyutsuan cosmodrome in China. Weighing 50 kg, the satellite is an experimental scientific apparatus. It is equipped with an onboard computer that operates on a modified version of the Linux nucleus and contains components for real-time work, written in the programming language Rust using abstractions and layers provided by the Rust for Linux subsystem. For more information, click here.
The satellite’s operating system includes a double core RROS, which combines the standard Linux core for general tasks and a specialized RTOS-Yadro written on Rust for tasks that require strict adherence to real-time requirements. The RROS nucleus code is available publicly and distributed under the GPLV2 license. To access the code, click here.
The RROS core is compatible with most traditional Linux applications, but it also offers superior real-time capabilities compared to RT-Linux. It is designed for use in critical systems such as onboard and auxiliary computers of satellites, as well as industrial and automobile systems. To solve standard tasks, such as data compression and processing of machine learning models, Linux-Yadro based on version 5.13 is utilized, while RTOS-Yadro handles specialized tasks with guaranteed response time, including positioning in space, data collection, and communication.
In addition to compatibility with the Real-Time API provided by the Libevl library, the RROS core incorporates a double core architecture proposed by the Xenomai/EVL project. RTOS-Jadro includes its own task planner, synchronization mechanisms, flow and process implementations, address broadcasting levels, memory control subsystem, cache, and network stack with UDP protocol support. The two-year development of RROS was carried out by a research group from the University of Peking of the University of Post and Telecommunications.