空间技术发生了突破性的发展,中国成功地发射了一颗配备了用Rust编程语言编写的实时LINUX内核子系统的卫星。这是将Rust用于高性能、关键任务系统的一个重要里程碑,并有可能彻底改变未来卫星的运行方式。
传统上,卫星依赖于专门的实时操作系统(RTOS)来处理具有严格时间限制的关键任务。这些RTOS通常是专有的,缺乏Linux的灵活性和可移植性。在天义-33卫星的RTOS内核中使用Rust提供了几个优点:
- 内存安全:Rust的核心设计在编译时消除了所有类别的内存错误,显著提高了系统的可靠性和安全性。
- 性能:铁锈以其卓越的性能而闻名,这使其成为每一毫秒都很重要的实时应用的理想选择。
- 并发性:Rust强大的并发性功能使开发人员能够为多核处理器编写高效且可伸缩的代码,这是现代卫星系统的一个重要方面。
- 开源:作为GPLv2许可下的开源,RROS内核允许更广泛的协作和社区贡献,加速开发和创新。
双内核设计,提高性能和灵活性
天一33号卫星采用双内核架构,将熟悉的通用任务Linux内核与新开发的用Rust编写的RTOS内核结合在一起。这种方法两全其美:
- Linux内核:处理数据压缩、机器学习模型处理和文件管理等常规任务。
- RTOS内核:确保空间定位、科学数据收集和通信等关键任务的有保证的响应时间。
这种双内核设计提供了几个好处:
- 灵活性:开发人员可以很容易地利用Linux软件库和工具的庞大生态系统来执行通用任务。
- 可预测性:RTOS内核确保一致的性能,消除抖动,确保关键功能的可靠运行。
- 效率:两个内核之间的任务分离允许优化资源利用和电源管理。
使用KVM的RROS演示
关于RROS内核
RROS内核带来了超过RT-Linux等现有解决方案的实时能力。它提供了专门的任务调度器、同步机制、内存分配子系统,以及专门为实时应用程序设计的网络堆栈。这使得天一33卫星能够自信地处理高精度任务,并为未来的航天任务开辟了新的可能性。
内核是由北京邮电大学的一个研究小组开发的。他们将其开源,你可以在GitHub上找到。
此外,该团队还提供了内核在QEMU虚拟机上运行的演示视频:
使用QEMU的RROS演示(视频链接)
通过论坛帖子