Skip to content

项目计划 — RTOS 重构与双内核架构(2026年5月 - 8月)

基于 2026-05-12 「RTOS 重构与双内核架构方案研讨会」整理

一、目标与背景

1.1 总体目标

构建 Starry OS + RTOS 双内核架构,在异构多核平台上实现通用计算与实时控制的协同:

┌─────────────────────────────────────────────────┐
│              应用层                               │
│  机器人控制 / AI 推理 / 传感器采集 / 用户交互      │
├──────────────────────┬──────────────────────────┤
│   Starry OS (通用)    │    RTOS (实时)            │
│   复杂计算 / AI 推理  │   电机控制 / 传感器采集     │
│   文件系统 / 网络     │   低延迟 / 确定性响应       │
├──────────────────────┴──────────────────────────┤
│              IPC / 共享内存通信层                   │
│         无锁队列 · 事件驱动 · 轮询机制              │
├─────────────────────────────────────────────────┤
│              硬件抽象层 (HAL)                      │
│         QEMU virt / 星光二 (JH7110)               │
└─────────────────────────────────────────────────┘

二、阶段一:RTOS 内核完善(5月12日 - 6月15日)

在现有 rt-async 基础上补齐同步、通信和任务管理能力。

2.1 同步原语

  • [ ] Mutex<T> — 支持优先级继承的异步互斥锁(基础实现完成,优先级继承未实现)
    • [x] MutexGuard RAII 自动释放
    • [x] 测试:mutex.rs

2.2 任务与时间管理

  • [x] JoinHandle<T> — spawn 返回可 await 的句柄
    • [x] TaskStorage 增加 result slot + join waker
    • [x] 测试:join_handle.rs

三、阶段二:双内核通信机制(6月1日 - 6月30日)

实现 Starry OS 与 RTOS 之间的 IPC 通信,打通系统环路。

3.1 通信基础设施

  • [ ] 无锁队列 (Lock-Free Queue)
    • [ ] 基于 async 机制实现 MPSC 无锁队列
    • [ ] 减少系统调用次数,轮询/事件驱动降低 IPC 开销
    • [ ] 测试:多核间消息传递正确性与延迟
  • [ ] 共享内存协议
    • [ ] 定义双内核共享内存布局
    • [ ] 双向独立信道避免竞争
    • [ ] 测试:数据完整性验证

3.2 IPC 接口封装

  • [ ] Notification — 信号通知机制
  • [ ] Message Queue — 消息队列
  • [ ] RPC 调用框架 — App → StarryOS → RTOS → 硬件 的完整调用链

3.3 6月30日初赛交付

  • [ ] QEMU 上双内核启动并完成握手
  • [ ] 基础 IPC 通信(Notification + Message Queue)可用
  • [ ] 端到端 demo:用户态 App 通过 IPC 控制 RTOS 任务
  • [ ] 性能基准测试报告(IPC 延迟、吞吐量)

四、阶段三:实体板移植与优化(7月1日 - 8月12日)

从 QEMU 仿真迁移到星光二实体板,优化驱动性能与实时性。

4.2 星光二 (JH7110) 驱动适配

  • [ ] CLINT 定时器 + 软件中断
  • [ ] UART 控制台
  • [ ] GPIO 基本读写
  • [ ] PLIC 外部中断
  • [ ] 链接脚本 + M-mode 启动代码
  • [ ] 测试:VF2 上运行 demo 验证

4.3 执行流与调度优化

  • [ ] 执行流(协程/线程)与栈管理解耦
    • 避免在中断处理中引入复杂的调度逻辑
    • 长期方案:独立执行流管理器
  • [ ] 动态加载与资源分配
    • "按需启动"模式:系统启动后仅加载必要组件
    • RTOS 可动态启动或接管特定核心

4.4 8月12日决赛交付

  • [ ] 星光二板上双内核稳定运行
  • [ ] 实体演示:机器人捡球等场景
    • 备选:若硬件受限则通过 QEMU 展示性能数据
  • [ ] 实时性指标(抢占延迟、IPC 延迟)