目录
目录README.md

2025中国研究生操作系统开源创新大赛

研究创新赛道 第7题

赛题题目

操作系统SEU故障注入与容错方案设计与实现

赛题说明

星载操作系统作为航天器软件系统的核心,承担着资源管理、任务调度、数据通信等关键功能。随着航天技术的快速发展,航天领域对星载操作系统的可靠性提出了更高要求。

在宇宙高能粒子撞击下,航天器内CPU中的寄存器、内存等硬件元器件容易发生单粒子翻转(SEU)、单粒子闩锁(SEL)等故障。针对星载操作系统面临的硬件故障挑战,设计并实现具有高可靠性的星载操作系统至关重要。在这种场景下,高可靠星载操作系统需具备一定的容错机制,能够在硬件故障发生时通过容错(Fault Tolerance)或失效恢复(Failure Recovery)机制,确保系统稳定运行。

在本赛题的场景下,参赛者只需考虑指令可见寄存器(如CPU通用寄存器、特权寄存器)、内存上的SEU,无需考虑如Cache与指令不可见寄存器(如CPU流水线寄存器)上的故障。参赛者可选用X86、ARM、RISC-V等指令集架构实施编程,并在QEMU模拟器上验证设计与效果。参赛者可将GDB与QEMU相连接,在GDB中操纵寄存器与内存以模拟故障注入。

参赛者需结合上述所描述的航天领域特殊要求,仅依靠软件技术,使用诸如但不限于数据摘要校验、多模冗余、状态机复制等一个或多个可靠性保障方案,设计并实现一个操作系统SEU故障注入和容错方案,并尽可能对用户程序透明。故障注入在学术界没有明确公认的测试数据集,参赛者需自行设计操作系统的工作负载与故障注入测例(如:均匀分布的故障注入地址/寄存器),从而展示设计的效果。

赛题要求

  • 技术文档要求:参赛者所交付的操作系统应有配套的详细设计方案与测试方案。若有参考文献或互联网资料,应尽数列出。
  • 软件基础要求:参赛者所交付的操作系统可基于现有的操作系统,也可以自行设计操作系统。要求容错机制与失效恢复机制对用户程序尽可能透明。
  • 运行环境要求:参赛者所交付的操作系统可有选择地适配X86、ARM、RISC-V等指令集架构,参赛者所交付的操作系统需能在未经修改的v9.2.2版本的QEMU模拟器上运行。
  • 功能正确要求:参赛者所交付的操作系统应能运行有一定规模的工作负载,且在无故障注入的情境下正确地支撑工作负载的完整生命周期。
  • 故障注入测试:参赛者需准确论述所设计故障注入模型(包括故障发生位置与时间的概率分布等)的合理性,参赛者还需详细报告并分析在该故障注入模型下所交付软件的故障恢复或故障容忍能力。

评分标准

  • 功能完整性(20分):
    • 无故障情况下,系统可以部署运行(20分)。
  • SEU故障注入测试(70分):
    • 所运行的工作负载具有较强代表性,如nginx等长期运行的服务程序(15分);
      • 所设计的故障注入模型充分考虑各种故障注入情景(10分);
      • 故障注入模型(故障注入的时间、空间分布)具有合理性(15分);
    • 合理故障注入下工作负载的可用性(30分):
      • ≥20%且<40%(5分);
      • ≥40%且<60%(18分);
      • ≥60%(30分);
      • 其中可用性定义为:工作负载正常运行时间/测试总时间。
  • 文档质量(10分):
    • 文档详细清晰,包含安装方式及使用方法(5分);
    • 文档应充分阐述其创新性(5分)。

赛题联系人

沃天宇 woty@buaa.edu.cn

参考资料

参赛资源支持:无

关于

2025研究生OS开源创新大赛-研究创新赛道-第7题 操作系统SEU故障注入与容错方案设计与实现

60.0 KB
邀请码