RROS is a dual-kernel OS, consisting of a real-time kernel (in Rust) and a general-purpose kernel (Linux). RROS is compatible with almost all native Linux programs and offers real-time performance superior to RT-Linux. It is also being experimented with as the host OS for in-orbit satellites (Tiansuan Project).
Here is an architecture diagram and a demo video of RROS.
RROS is primarily intended for satellites (onboard computers, payloads, etc). The key incentive is the trend that nowadays satellites serve both traditional satellite-borne real-time tasks (e.g., communication and positioning) and general-purpose tasks that need mature, complicated software support (e.g., data compression and machine learning). That catalyzes the dual-kernel architecture of RROS. Taking a step further, the real-time kernel of RROS is fully implemented in Rust for better safety and robustness. However, RROS can be used in scenarios like automatic cars, IoTs, industrial control, etc.
The advantages of RROS are:
Kick off with RROS easily: boot, run, test, and develop with RROS.
See the document including:
Contact us at Zulip Forum or with email buptrros AT gmail.com
.
Contributions are also very welcomed! Check it out.
See here for our future roadmap.
We are a research group at BUPT.
The RROS relies on both the dovetail and the Rust for Linux(RFL), neither of which currently provides patches. Integrating one into the other at a high frequency is challenging. As a result, RROS is currently tied to Linux kernel version 5.13, built on top of linux-dovetail-v5.13, and readily compatible with RFL patch v1. Fortunately, RFL is swiftly making its way into the mainline Linux kernel. We plan to release new versions once most of the RFL APIs we depend on are available in the linux-dovetail mainline. At that point, we will further consider Long-Term Support (LTS) versions.
RROS has benefitted from the following projects/resources.
@misc{li2023rros,
title = {RROS: A Dual-kernel Real-time Operating System in Rust},
url = {https://github.com/BUPT-OS/RROS},
author = {Hongyu Li and Jiangtao Hu and Qichen Qiu and Yuxuan Shan and Bochen Wang and Jiajun Du and Yexuan Yang and Xinge Wang and Shangguang Wang and Mengwei Xu},
month = {December},
year = {2023}
}
The source code of RROS is under the License of GPL-2.0.