Skip to content

Latest commit

 

History

History
237 lines (200 loc) · 19.5 KB

ref-info.md

File metadata and controls

237 lines (200 loc) · 19.5 KB

与内核实现赛道相关的一些硬件,OS相关的实例/教程的参考信息

  • 注1:在内核实现赛道,并不要求参赛队要从零开发os kernel,可以参考和复制非本队(如下面的各种内核相关的开源软件参考实现)的内核参考例子(即作为base OS)或内核模块参考,进一步实现和改进可通过测试用例的内核功能。重点是参赛队自己独立完成的内核增量工作。
  • 注2:在参考和复制非本队的内核参考例子(即作为base OS)时,需要仔细阅读并遵循2025OS比赛技术方案中的"比赛要求"内容,确保源代码和文档的合法性和合规性。
  • 注3:参赛队实现的内核要求支持RISC-V64 & LoongArch64。在初赛阶段,硬件环境仅基于QEMU硬件模拟器 for RISC-V64 & LoongArch64,不基于实际物理硬件。
  • 注4:如果参赛队把参考和复制的内核模块等做了改进后,鼓励通过如github的PR(提交git patch)等方式回馈给原作者和原项目。

内核实现赛道涉及的测试用例、QEMU模拟器、编译器工具、开发环境的docker配置文件等信息

放在 https://github.com/oscomp/ 上的一些OS参考例子

注:C-based OS(RT-Thread)参考例子会尽快提供。参赛队在遵循2025OS比赛技术方案中的"比赛要求"的前提下,可以复制/参考/选用这些OS(或其他类似的开源OS)的全部或部分功能模块作为based来参赛。

与操作系统相对无关的内核核心组件

硬件抽象层相关组件

文件系统相关组件

ext4文件系统参考实现

TCP/IP协议栈相关组件

可用于QEMU的设备驱动相关组件

各种可用于内核开发的crates

注1:2025决赛阶段的内核实现赛道比赛,测试用例所在文件系统格式为Ext4, 上面提供的C和Rust的Ext4库与具体OS无关,经过适配后,可集成到各种OS中。

注2:2025决赛阶段的内核实现赛道比赛,操作系统内核要求能支持RISC-V 64和 LoongArch64,在必须遵循2025OS比赛技术方案的比赛要求(请仔细阅读)下,上面的或相关的符合开源协议的源代码可参考、引用、复制。

RISC-V相关参考信息

RISC-V 相关文档

赛昉星光二代开发板(RV64)信息

采用赛昉星光二代开发板(RV64)的部分2024年参赛获奖作品

采用赛昉星光二代开发板(RV64)的部分2023年参赛获奖作品

可以在基于QEMU(RV64)上运行的开源OS:

与OS无关的kernel components

这是部分与OS无关的kernel components,有一些不一定特别完善,供参考、引用或改进

开发OS过程中形成的kernel components

固件(Firmware):Bootloader/BIOS/UEFI/OpenSBI等相关

RISC-V 系统功能级模拟器(支持运行OS kernel)

其他RISC-V模拟器

LoongArch相关参考信息

采用2k1000(LoongArch64)的部分2024年参赛获奖作品

内核赛道选用的2K1000开发板参考资料

LoongArch架构通用文档

模拟器

  • QEMU模拟器已经对LoongArch提供了较好的支持。我们正在致力于完善高度仿真大赛主板的2k1000版本QEMU,目前这个版本可以运行原生的uboot和内核。该版本基于较老的qemu开发,我们正在将其移植到上游最新版本,后续会开源发布。

LoongArch上可以运行的参考OS

  • Starry OS。StarryOS LoongArch版会持续更新。
  • mit xv6-loongarch。 xv6 是MIT开发的一个类Unix教学操作系统,与Linux或BSD不同,xv6非常简单,足以在一个学期内讲完,但仍包含Unix的重要概念和组织结构。xv6被全世界很多高校用于操作系统教学。 开发者: 深圳大学罗老师。 含OS代码、实验代码、实验指导书和PPT演示资料,可以直接用于操作系统教学。
  • mit xv6-labs. 本项目是xv6-labs-2021相关实验在LoongArch平台的参考实现。具体的实验设计参见xv6主页 的labs标签页。
  • [uCore] (https://github.com/cyyself/ucore-loongarch32). 实验指导书
  • rCore. 2022年全国大学生操作系统大赛-功能挑战赛二等奖。
  • MaQueOS. 本项目是用于兰州大学的教学操作系统,兰州大学相关团队为其编写了教材《MaQueOS:基于龙芯LoongArch架构的教学版操作系统》。
  • Yocto. Yocto是用于定制嵌入式Linux系统的主流工具之一,它已经支持LoongArch.
  • seL4. 2022年全国大学生操作系统大赛-功能挑战赛一等奖。
  • NuttX. NuttX是完全兼容Posix和ANSI标准的嵌入式实时系统,有着轻量级、定制化的特点,已被广泛应用在成熟的商业系统或软件中,如小米Vela系统、三星Tizen RT系统、px4飞行控制软件。

LoongArch上可以运行的内核模块

其它参考信息

Tutorial of developing OS for RV/x86 in C

Tutorial of developing OS for RV/x86/ARM in Rust

下面是一些教学用的开源OS:

开发OS相关的信息