logo
0
0
Login
numpy1314<xzj13@mail.ustc.edu.cn>
Added some detailed instructions for Task 3

项目三-操作系统开发云原生基础设施建设

简介

本项目方向是一系列小任务的集合,目的是将 rCore-Tutorial、ArceOS、EulixOS 等开源操作系统相关仓库或项目移植到CNB平台,并在CNB平台搭建基础设施(如:CI/CD),云原生开发环境及Docker运行镜像,最终实现操作系统内核开发的云原生环境搭建。

优先推荐参加过清华大学开源操作系统训练营的学员参与,由于本项目小任务相对简单,各位可根据情况优先选择项目一、二作为项目阶段选题,本选题作为辅助学习。

任务一:在 CNB 平台移植 Rustlings 实验,并配置云原生开发环境

Rustlings 是一个由 Rust 社区维护的,面向 Rust 初学者的交互式学习工具,通过小型练习帮助用户逐步掌握语言的核心概念。

Rustlings 的官方仓库: https://github.com/rust-lang/rustlings

清华大学开源操作系统训练营团队基于 Rustlings 的一个历史版本进行修改,增加了部分题目与异步的测评程序,形成了现在在训练营中所使用的 Rustlings。

训练营 Rustlings: https://github.com/LearningOS/rustling-classroom-2025s-rustling-25S-template

训练营 Rustlings 基于 GitHub Actions 设计了自动化测评流程,详细脚本配置位于: https://github.com/LearningOS/rustling-classroom-2025s-rustling-25S-template/blob/main/.github/workflows/rust.yml

本任务的目的在于将训练营 Rustlings 仓库从 GitHub 移植到 CNB 平台,确保可以正确运行自动化测评,并提供云原生开发环境。

关于 Rust 语言的资料: Rust 程序设计语言 - Rust 程序设计语言 简体中文版

任务二:在 CNB 平台移植 rCore-Tutorial 实验,并配置云原生开发环境

rCore-Tutorial 是一个面向操作系统开发学习的开源教程项目,基于 Rust 语言实现一个简易的类 Unix 内核(名为 rCore)。它最初由清华大学计算机系的师生开发,旨在通过实践帮助学习者深入理解操作系统的核心机制,同时掌握 Rust 在系统编程中的应用。

训练营 rCore-Tutorial 仓库: GitHub - LearningOS/os-rcore-classroom-2025s-rcore-rCore-Camp-Code-2025S: os-rcore-classroom-2025s-rcore-rCore-Camp-Code-2025S created by GitHub Classroom

rCore-Tutorial 的测评较为复杂,测例也较为丰富,因此具有独立的测试仓库: https://github.com/LearningOS/rCore-Tutorial-Test-2025S rCore-Tutorial 具有独立的实验指导书: rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档ContentsMenuExpandLight modeDark modeAuto light/dark mode

rCore-Tutorial 的自动化测评脚本配置分布于多个分支下,每个分支对应一个 lab,如 lab1 的脚本位于: os-rcore-classroom-2025s-rcore-rCore-Camp-Code-2025S/.github/workflows/build.yml at ch3 · LearningOS/os-rcore-classroom-2025s-rcore-rCore-Camp-Code-2025S

本任务的目的与任务一类似,将 rCore-Tutorial 仓库与 rCore-Tutorial-Test 仓库从 GitHub 移植到 CNB 平台,确保可以正确运行自动化测评,并提供云原生开发环境。

任务三:在CNB平台移植 OSCamp-ArceOS 实验,并配置云原生开发环境

OSCamp-ArceOS 是一个实验性的组件化操作系统,完全使用Rust语言编写,该项目的设计深受 Unikraft 项目的启发,这个项目是开源操作系统训练营第三阶段的核心教学内容,通过剪裁版本让同学们更好地理解操作系统的核心概念。

OSCamp-ArceOS 采用组件化设计理念,具有以下特色:

  • 模块化架构:包含内存管理(axalloc)、文件系统(axfs)、网络栈(axnet)、任务调度(axtask)等独立模块
  • 多平台支持:支持x86_64、riscv64、aarch64三种架构
  • 丰富功能:包含多线程、调度器、网络驱动、TCP/UDP协议栈、文件系统等完整OS功能

任务具体说明

1.请按照 OSCamp-ArceOS 项目的要求,将项目代码从 GitHub 移植到 CNB 平台。

训练营 OSCamp-ArceOS 仓库: https://github.com/LearningOS/arceos-classroom-2025s-arceos-2025s-oscamp-stage3

2.请配置项目的 CI/CD 流水线,确保项目代码的自动化测试,测评包含以下几个核心练习:

  • 颜色输出测试 - 验证终端颜色输出功能
  • 文件系统测试 - 测试内存文件系统的重命名功能
  • 内存分配测试- 测试替代内存分配器
  • HashMap支持测试-验证高级数据结构支持
  • 系统映射测试- 测试内存映射功能
  • 虚拟化测试-简单虚拟机监控器测试

自动化测评脚本请参考:https://github.com/LearningOS/arceos-classroom-2025s-arceos-2025s-oscamp-stage3/tree/main/scripts

3.请配置项目的云原生开发环境,包括 Docker 镜像构建、Kubernetes 集群等。

关于 ArceOS 的配置部分,请参考 https://rcore-os.cn/arceos-tutorial-book/index.html 中的第一章《实验环境配置》,将配置命令打包形成镜像最终构建完成完整的实验环境

如何开展项目

请联系项目导师-徐堃元进行选题,或加入项目交流群(要求完成专业阶段晋级)