可在开源 RISC-V 上的裸机操作系统

几款可在开源 RISC-V (如 QEMU、HiFive、VisionFive、Kendryte K210 等)上运行的裸机级操作系统或实时内核。这些系统通常不依赖 Linux 的庞大内核,而是直接操作硬件,适合嵌入式、教学或实时控制场景。


1. xv6-riscv

  • 定位: MIT 教学用操作系统,Unix V6 的 RISC-V 重写版
  • 特点 :
    • 约 10,000 行 C + 少量汇编,结构清晰
    • 支持多进程、简单文件系统、管道、exec
    • 运行在 QEMU RISC-V 或真实硬件
  • 适用: 操作系统课程、内核原理学习
  • 获取 : git clone https://github.com/mit-pdos/xv6-riscv.git

2. RustSBI + rustsbi-qemu / rustsbi-hal

  • 定位: RISC-V 的引导层(SBI 实现),但可扩展为极简运行时
  • 特点 :
    • 用 Rust 编写,内存安全
    • 提供 M-mode 的 SBI 调用接口(定时器、IPI、控制台)
    • 可作为裸机程序的底层支撑,或扩展为微内核
  • 适用: 安全关键系统、Rust 生态嵌入式开发
  • 获取: https://github.com/rustsbi/rustsbi

3. Zephyr RTOS

  • 定位: Linux 基金会托管的实时操作系统
  • RISC-V 支持 :
    • 支持 QEMU RISC-V32/64、HiFive1、ESP32-C3 等
    • 配置最小可达 8KB Flash + 4KB RAM
    • 支持多线程、信号量、消息队列、网络栈(可选)
  • 特点: 模块化 Kconfig 配置,POSIX 兼容层
  • 适用: 物联网传感器、可穿戴设备、工业控制
  • 构建 : west build -b qemu_riscv64 samples/hello_world

4. FreeRTOS

  • 定位: 最广泛使用的开源实时内核
  • RISC-V 支持 :
    • 官方移植支持 RISC-V RV32I/RV32IMAC/RV64I
    • 提供 GCC 和 IAR 工具链支持
    • 最小内核约 4-9KB ROM
  • 特点: 抢占式调度、极简 API、广泛社区生态
  • 适用: 商业产品、实时控制、快速上市
  • 获取: https://github.com/FreeRTOS/FreeRTOS-Kernel

5. RT-Thread Nano / RT-Thread Smart

  • 定位: 国产开源实时操作系统
  • RISC-V 支持 :
    • Nano 版最小 3KB Flash + 1.2KB RAM
    • 支持 QEMU RISC-V、GD32VF103、CH32V307 等
    • 提供 FinSH 命令行、DFS 文件系统、SAL 套接字抽象层
  • 特点: 组件化(软件包生态)、POSIX 兼容、国产芯片支持好
  • 适用: 国产 RISC-V 芯片开发、教育
  • 获取: https://github.com/RT-Thread/rt-thread

6. seL4 on RISC-V

  • 定位: 形式化验证的微内核(安全关键系统)
  • RISC-V 支持 :
    • 已验证移植到 RV64(Spike 模拟器、HiFive Unmatched)
    • 提供 capability-based 安全模型
    • 内核代码经过 C 代码级形式化证明
  • 特点: 高可靠、微内核架构、多服务隔离
  • 适用: 航空航天、汽车电子、安全网关
  • 获取: https://github.com/seL4/seL4

7. Tock OS

  • 定位: 嵌入式安全操作系统,用 Rust 编写
  • RISC-V 支持 :
    • 支持 HiFive1、ESP32-C3、OpenTitan 等
    • 内核与用户空间隔离,进程间内存安全
    • 基于 capsule 的驱动模型(编译时检查)
  • 特点: 安全优先、低功耗、适合传感器网络
  • 适用: 安全 IoT、学术安全研究
  • 获取: https://github.com/tock/tock

8. NuttX RTOS

  • 定位: POSIX 标准兼容的实时操作系统
  • RISC-V 支持 :
    • 支持 QEMU RISC-V、BL602、ESP32-C3 等
    • 完整 POSIX 线程、文件系统、BSD 套接字
    • 可配置为微内核或宏内核模式
  • 特点: 高度标准兼容、可运行 Lua/Python 脚本
  • 适用: 需要 POSIX 兼容的裸机场景
  • 获取: https://github.com/apache/nuttx

9. Hubris (by Oxide Computer)

  • 定位: Rust 编写的微内核,专为嵌入式设计
  • RISC-V 支持: 实验性支持(主要目标为 ARM Cortex-M)
  • 特点 :
    • 静态分配、无堆内存、任务隔离
    • 基于 IPC 的消息传递架构
    • 编译时确定资源,拒绝运行时失败
  • 适用: 高可靠工业控制(Oxide 用于服务器 BMC)
  • 获取: https://github.com/oxidecomputer/hubris

10. Bare-metal 教学框架

项目 描述 链接
rCore-Tutorial 清华 Rust 版教学 OS,从裸机到多核 https://github.com/rcore-os/rCore-Tutorial
os-tutorial-riscv 从零写 RISC-V OS 的教程代码 多个 GitHub 仓库
sifive/freedom-e-sdk SiFive 官方 SDK,含裸机示例 https://github.com/sifive/freedom-e-sdk

选择建议

需求场景 推荐系统 理由
教学/学习内核原理 xv6-riscv / rCore-Tutorial 代码精简,文档完善
商业实时控制 FreeRTOS / Zephyr / RT-Thread 生态成熟,文档丰富
高安全/形式化验证 seL4 数学证明可靠
Rust 生态/内存安全 Tock / Hubris / RustSBI 语言级安全保证
POSIX 兼容/快速移植 NuttX 标准 API,Linux 代码易迁移
极简资源(<<16KB) RT-Thread Nano / FreeRTOS 裁剪后体积极小
相关推荐
蓝速科技3 小时前
蓝速科技 RISC-V+ 鸿蒙终端:一机多场景信创改造实效评测
科技·harmonyos·risc-v
明哥聊AI3 小时前
开源发布|ZhDocParser:不是 OCR,而是面向 RAG 与 Agent 的中文复杂文档结构化解析工具
开源·ocr
小羊Yveesss3 小时前
2026年如何自己搭建一个外贸网页?单页验证和完整网站的区别
微信小程序·小程序·开源
冬奇Lab5 小时前
每日一个开源项目(第156篇):OpenDataLoader PDF - 基准测试第一名的开源 PDF 解析器,专为 RAG 设计
人工智能·开源·资讯
碎_浪5 小时前
Mac 壁纸被 MDM 锁住?我做了个 2MB 的开源方案
macos·开源·swift
汤姆yu6 小时前
面向具身智能的物理视频模拟器:蚂蚁灵波LingBot-Video开源模型全解析
java·大数据·人工智能·gpt·开源·大模型·音视频
IT大师兄吖7 小时前
GFPGAN:开源人脸修复与增强 懒人整合包
人工智能·开源
fthux17 小时前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
修己xj18 小时前
让README “活”起来:Readme Typing SVG 介绍与本地化改造实践
开源
ApacheSeaTunnel21 小时前
为什么 Data Ingestion 还没有被 Fivetran/Airbyte 完全解决?
大数据·开源·数据集成·seatunnel·技术分享·数据同步·airbyte·fivetran