- 2025.3.30:2025年春夏季开源操作系统训练营启动仪式回放
- 2025.3.19: 2025年春夏季开源操作系统训练营发布重要信息,请仔细阅读。
- 2025.3.15: 2025年春夏季开源操作系统训练营准备中。
- Easy --> Normal --> Hard
入门 --> 进阶 --> 提升 --> 实战
(第一阶段)目标:了解并掌握基于Rust语言的编程
- 创建rustling练习教室 点击后按提示可以建立自己的rustling实验专用仓库,并完成练习
- rustling练习排行榜 可以查看自己的rusting实验的排名情况
(第二阶段)目标:了解并掌握如何设计实现一个简单的操作系统内核
rCore Tutorial来自清华大学计算机系本科操作系统课实验
- 创建 rCore Tutorial练习教室 点击后按提示可以建立自己的rCore Tutorial实验专用仓库,并完成实验
- rCore Tutorial练习排行榜 可以查看自己的rCore Tutorial实验的排名情况
(第三阶段)目标:打好设计实现组件化OS的基础,理解如何基于组件来组合出多种构型的操作系统内核
- opencamp课程-项目基础阶段 - 组件化操作系统的视频
- 学习视频,并重现视频中的tutorial例子
- Normal -- Hard :Design OS Components -- OS Kernel Framework -- Apps
- arceos tutorial文档一
- arceos tutorial文档二
- 注:这两个文档有进一步更新计划,欢迎想一起写文档的学员直接微信联系助教或导师欢迎合作者联系我们,我们一起共建训练营。
- 根据opencamp课程-项目基础阶段 - 组件化操作系统的视频中每节课最后的练习说明,完成课程练习。
- 创建"实现组件化 unikernel/monolithickernel/Hypervisor"练习教室 点击后按提示可以建立自己的"实现组件化OS/Hypervisor"实验专用仓库
- "实现组件化OS/Hypervisor"练习题排行榜这个是课后练习的排行榜,一共6题,共600分,可以查看自己的的排名情况。
- "实现组件化OS/Hypervisor"挑战题排行榜这个是挑战题目的排行榜,满分设置的是373分,可以查看自己的的排名情况。
- 注:感谢徐堃元、殷金钰和周屿涵建立的三阶段排行榜!
第四阶段:实战1~3
(第四阶段)目标:用组件化开发方法,基于单体内核组件扩展出宏内核组件,设计并实现直接支持Linux应用的轻量组件化宏内核
实战挑战:类似全国大学生操作系统比赛内核赛道实战,构造支持linux syscalls的OS kernel on RV64/LA64/AARCH64/X64,
- 先完成Rust base Simple OS Kernel和Foundation of Component OS Kernel Design & Implementation的学习
- 小步快跑,学习指导书,观察主线进展和挑战者的进步,查找资源,有问题就发issues,有想法就发discussion,鼓励贡献并提交PR
- 所有的开发、合作、交流基于下面列出的建立在github上的 classroom,CI, issues, PR, discussions
- opencamp课程-项目一:基于ArceOS组件的宏内核- Starry-Next
- Hard :Design OS Kernel to run linux apps 2025年开源操作系统训练营 oskernel训练仓库模板
- Starry-Next实验指导书 欢迎提交PR,一起来写
设计实现支持Linux App的宏内核
一个具体任务的参考步骤:扩展Linux Syscall
- 创建OS kernel Comp练习教室 点击后按提示可以建立自己的OS kernel Comp实验专用仓库
- 把Starry-next作为基线宏内核参考,并阅读starry-next编程指导书(撰写中)
- 进一步分析支持Linux App宏内核的编程排行榜中有成绩的repo项目,学习他们是如何逐步实现对Linux Syscalls的支持,并进一步通过测试用例的。注:上榜的宏内核不仅仅是Starry Next,还有ByteOS等
- 对自己的OS kernel Comp实验专用仓库进行编程,逐步实现对各种Linux Syscall的支持。有问题就发issues,并可在四阶段项目一群中交流。在自己的的OS kernel Comp实验专用仓库中撰写周报告,总结自己如何逐步提升的。
- 争取登顶支持Linux App宏内核的编程排行榜
- OS kernel Comp练习排行榜 可以查看自己的OS kernel Comp实验的排名情况
- 测试逻辑:每测例1分,同时通过四种架构测试才能得到该测例的分数
- 排名逻辑:按总分排名,总分排名相同则按git commit的push时间排名
- Linux测试用例来自全国大学生OS比赛内核赛道的测例
- 注:感谢黄熙涵建立的宏内核排行榜!
- 给Starry-Next宏内核提问题 关于Starry-Next的bug信息等
- 给Starry-Next宏内核贡献PR 关于Starry-Next的各种改进/修复bug的提交
- Starry-Next宏内核讨论 关于周报告、想法等
- 全国大学生OS比赛内核实现赛道相关的资源信息 相关硬件手册,驱动组件,文件系统组件,网络协议栈组件,获奖操作系统,操作系统参考例子等。
(第四阶段)目标:用组件化开发方法,基于单体内核组件扩展出系统虚拟化组件,设计并实现直接支持运行Linux和其他OS内核的轻量组件化Hypervisor
实战挑战:基于RV64/LA64/AARCH64/X64的硬件辅助虚拟化,设计轻量组件化的Hypervisor
设计实现组件化Hypervisor
(第四阶段)目标:基于 Rust 语言的异步机制 future 对设备驱动和调度器等内核模块进行异步改造核心问题
- opencamp课程-项目三:基于协程异步机制的操作系统/驱动
- 基础阶段:学习相关博客
- 进阶阶段:阅读 tokio 源码,形成文档
- 参考资料:tokio中文
设计实现异步协程相关机制和内核相关组件
注1:有感兴趣改进各阶段的排行榜的学员,请在直接微信联系助教或导师,我们一起共建训练营。
注2:如果对(Option)训练内容或定制培训内容感兴趣,请联系LearningOS开源社区负责人李明老师(微信id:limingth)。
注3:如果想继续实习/训练的学生和工程师,请在完成四阶段OS实习后,请与助教和老师联系。这些项目和其它OS相关项目属于有一定创新性的题目,得到了国家实验室、国家创新中心、头部企业和高校研究生导师的直接支持,在就业和学业发展上有新的挑战和机会。
- 开源实验小项目招新,可作为本科或研究生毕设课题,欢迎报名并参加!
- 内核组件汇聚中心 汇聚了各种各样的内核组件,并进行分析、测试和管理
- ArceOS开源社区 探索多构型内核组件化设计
- 唐图(rCoreOS)开源社区 开展多构型内核组件化设计与实现的教学与科研探索
- OS比赛开源社区 面向全国高校学生的OS比赛
- syswonder开源社区 面向泛在技术的操作系统探索
- 智能网联汽车创新中心训练营:开源操作系统 面向智能驾驶领域的系统软件开发培训