China Launches Satellite with Linux Nucleus Components in Rust

Launch of Tianyi-33 Satellite Equipped with Modified Linux Kernel

On December 9 in China, the Tianyi-33 satellite was successfully launched as part of the Tiansuan project. It is equipped with a modified Linux kernel that allows for real-time work written in Rust using abstractions and layers provided by the subsystem Rust for Linux. The operating system, known as RROS, combines a typical Linux core with an RTOS-Yadro core in Rust, providing the capability to perform tasks in harsh real-time environments. The RROS nucleus code is open source under the GPLV2 license.

The development of the RROS core took two years and was carried out by a research group from the Peking University of Post and Telecommunications.

Enhanced Real-Time Capabilities

The RROS core is compatible with most ordinary Linux programs, while also offering enhanced real-time capabilities that surpass those of RT-Linux. It is specifically designed for use in critical systems, such as on-board and auxiliary computers of satellites, industrial systems, and automobile systems. The Linux-Jadro component handles general-purpose tasks such as data compression and processing of machine learning models, while the RTOS-Yadro component specializes in tasks with guaranteed response time, such as space positioning, scientific data collection, and communication.

Double Nucleus Architecture

The RROS core is built upon the Real-Time API provided by the libevl library and adopts a double nucleus architecture proposed by the Xenomai/EVL project. The RTOS-Yadro component includes a separate task planner, synchronization mechanisms, flow and process implementations, address broadcasting level, memory selection subsystem, cache, and a network stack with UDP protocol support.

Architecture Diagram

/Reports, release notes, official announcements.