Skip to content

Commit 3cb3daf

Browse files
committed
update stage 2
1 parent 5a23bd1 commit 3cb3daf

File tree

3 files changed

+114
-50
lines changed

3 files changed

+114
-50
lines changed

2024-spring-scheduling-2.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
2+
# 2024年秋冬季开源操作系统训练营:第二阶段
3+
4+
## [专业阶段 - OS设计实现](https://opencamp.cn/os2edu/camp/2025spring/stage/2)
5+
6+
- [新闻与纪要](./news.md)
7+
- [常见问题解答](./QA.md)
8+
- [Learning Resource](./relatedinfo.md) (训练营学习资源)
9+
- [直播教室](https://opencamp.cn/os2edu/camp/2025spring/stage/2)
10+
- [视频回放与课件](https://opencamp.cn/os2edu/camp/2025spring/stage/2?tab=video)
11+
- [实验指导书](https://learningos.cn/rCore-Camp-Guide-2025S/)
12+
13+
- Online Ranking (训练营在线排行榜)
14+
- [rCore Tutorial 晋级榜单](https://opencamp.cn/os2edu/camp/2025spring/stage/2?tab=rank)
15+
- Classroom
16+
- [rCore Tutorial ClassRoom邀请链接](https://classroom.github.com/a/pTgmDIG6) (点击创建仓库)
17+
18+
19+
## 第二阶段活动安排
20+
21+
### 第二阶段的训练步骤
22+
23+
基于Rust语言进行操作系统内核实验--based on qemu (三周时间)
24+
25+
前提条件:要求有操作系统的基础,基本理解RISC-V与OS相关的硬件特性
26+
27+
#### 课程参考
28+
- [课程幻灯片](https://www.yuque.com/docs/share/4c39608f-3051-4445-96ca-f3c018cb96c7)
29+
- 参考书
30+
- [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)
31+
- [深入了解计算机系统](https://hansimov.gitbook.io/csapp/)
32+
- [RISC-V Reader中文版](http://riscvbook.com/chinese/RISC-V-Reader-Chinese-v2p1.pdf)
33+
- [rCore Tutorial Book v3](https://learningos.github.io/rCore-Tutorial-Book-v3/)
34+
35+
#### 基于Rust语言的rCore Tutorial实验指导 [rCore-Tutorial-Guide-2025S](https://learningos.github.io/rCore-Tutorial-Guide-2025S/)
36+
- [实验代码](https://github.com/LearningOS/rCore-Tutorial-Code-2025S)
37+
- [测试用例](https://github.com/LearningOS/rCore-Tutorial-Test-2025S)
38+
39+
40+
#### [rCore实验讲解视频](https://www.yuque.com/docs/share/1b5b9260-8a80-4427-a612-78ec72b37e5f)
41+
42+
#### 建立基于ClassRoom实验的具体步骤
43+
44+
**基于Rust语言的rCore Tutorial**
45+
- [rCore Tutorial ClassRoom邀请链接](https://classroom.github.com/a/pTgmDIG6):点击后按提示可以建立自己的rCore Tutorial实验专用仓库
46+
- [rCore Tutorial ClassRoom排名页面](https://opencamp.cn/os2edu/camp/2025spring/stage/2?tab=rank):可以查看自己的rCore Tutorial实验的排名情况
47+
48+
请根据各个实验的具体实验要求在自己的仓库中完成 ch[3,4,5,6,8] 5个实验。请在每完成一个实验(完成编码和实验报告文档)后,请通过执行 `git push` 命令来更新自己的实验专用 repos,来通过基于GitHub Classroom的CI测试。
49+
50+
### 总体学习要求和成绩考核方式
51+
52+
晋级要求:
53+
1. 第二阶段排行榜满**500分**
54+
2. 每个实验的总结报告 (`reports/lab[3,4,5,6,8].md`)
55+
3. 第一、二阶段的学习blog (通过 PR 合并)
56+
57+
注意:需提供 **排行榜截图 + blog PR截图** 进行确认,通过检查后方可晋级第三阶段。
58+
59+
60+
### 关于学习记录与 blog
61+
62+
每个阶段结束后需要写总结报告,第二阶段需要完成第一、二阶段的blog。
63+
64+
- [学习记录的标杆1](https://github.com/LearningOS/record),浙江大学本科生徐文浩的2020开源操作系统训练营的过程记录,是大家学习的榜样,供大家学习参考。
65+
- [学习记录的标杆2](https://kiprey.github.io/tags/uCore/):湖南大学本科生肖政杭的自学ucore for x86的过程记录,是大家学习的榜样,供大家学习参考。
66+
67+
68+
## 相关信息:
69+
70+
- [参加2020--2022 OS训练营学生的blog](https://rcore-os.github.io/blog/),鼓励参加2025 OS训练营的同学把自己在学习过程中的感悟/收获等写成blog,生成pr,并提交到 <https://github.com/rcore-os/blog> 上,让更多人看到你的进步!
71+
- **注意** 为及时了解和指导同学的学习和实践情况并推动学生相互帮助,本次活动要求学生把每周学习实践的过程记录(Markdown格式)放在github上自己的公开repo中。可参见[每日学习实践的具体例子](https://github.com/GCYYfun/DailySchedule)[2020年OS训练营同学的每日学习情况汇总](https://github.com/rcore-os/rCore-Tutorial/issues/18 ) 。请参加实习的同学把记录每天的进展的git repo网址 更新到[2025年OS训练营同学的每日学习情况汇总](https://github.com/LearningOS/rust-based-os-comp2025/issues/1) 中。要求每位同学在自己的git repo中记录自己的每周进展,其他同学也可以参考学习。
72+
- 提问方式:
73+
74+
- 问答论坛:https://opencamp.cn/os2edu/bbs,欢迎大家积极发帖讨论
75+
- 在微信群中提问:如果长时间未得到回复可以手动 at 负责人
76+
- **注意**:有任何疑问,请优先查看 [常见问题](https://github.com/LearningOS/rust-based-os-comp2025/blob/main/QA.md),确认常见问题列表中不存在您的问题,再通过微信群@助教以及【问答论坛】等方式提问,常见问题列表会随着训练营的推进不断补充完善,感谢大家的参与和支持!
77+
78+
79+
One More Thing:当你看到这,感觉第二阶段还没开始,还在想下一步要干啥时,我们的建议是:**Just Do It NOW!**

2025-spring-scheduling-1.md

Lines changed: 33 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
21
# 2025年春夏季开源操作系统训练营:第一阶段
32

43
- [OS 导学视频](https://opencamp.cn/os2edu/camp/2025spring/stage/0?tab=video)
5-
- [第一阶段学习:Rustlings Rust编程教程](https://classroom.github.com/a/nxqlgJOx)
4+
- [第一阶段学习:Rustlings Rust编程教程](https://classroom.github.com/a/S8vP0lDr)
65
- Online Ranking (训练营在线排行榜)
76
- [第一阶段排行:Rust Lang](https://opencamp.cn/os2edu/camp/2025spring/stage/1?tab=rank)
87

98
- [常见问题解答](./QA.md)
109
- [Learning Resource](./relatedinfo.md) (学习资源汇总)
11-
10+
1211
欢迎在校学生/工程师在2025年春季参加清华大学、阿图教育等共同举办的**2025年春夏季开源操作系统训练营**活动(2025.3.30~2025.6.22)。训练营结束后,表现突出的同学将获得训练营优秀证书,部分优秀同学将得到前往**清华科技园、泉城实验室线下实习**的机会。鼓励同学继续以开源社区的方式参与到企业/科研院所的操作系统实习/实践/工作/学习等相关的活动。
1312

1413
## 目标:
@@ -30,61 +29,47 @@
3029

3130
# 2025春夏季开源操作系统训练营第一阶段环境配置与学习资料
3231

33-
前提条件: 要求有基本数据结构,算法基础,相对了解或熟悉C语言等编程.
32+
前提条件:要求有基本数据结构,算法基础,相对了解或熟悉C语言等编程.
3433

35-
1. 自学基础知识:[阅读书籍/课程/视频等资源汇总](https://github.com/rcore-os/rCore/wiki/study-resource-of-system-programming-in-RUST)
36-
34+
## 自学基础知识
35+
36+
- [阅读书籍/课程/视频等资源汇总](https://github.com/rcore-os/rCore/wiki/study-resource-of-system-programming-in-RUST)
3737
- 推荐:[Rust语言圣经(Rust教程 Rust Course和配套练习)](https://course.rs/)
3838
- 推荐:[半小时快速了解Rust](https://fasterthanli.me/articles/a-half-hour-to-learn-rust)
3939
- 推荐:[Rust速查表(cheatsheet)](https://cheats.rs/) 该项目不仅提供了基础的语法速查,还有执行顺序详解和编写时需要关注的注意事项。项目还包含了示例代码(EX)、书籍(BK)、标准(STD)等相关资料的扩展。
4040
- 推荐:[清华计算机系大一学生2022暑期课程:Rust程序设计训练(有课程视频)](https://lab.cs.tsinghua.edu.cn/rust/)
4141

42-
2. 自学编程
43-
44-
- [2025春夏季OS训练营--rustling训练](https://classroom.github.com/a/S8vP0lDr)(采用Github Classroom模式的Rustling小练习,点击上述链接,形成自己的练习用repo)
45-
46-
- 要求:**必须完成** 。完成所有练习后,执行 ``git add; git commit -m"update"; git push`` 命令,把更新提交到GithubClassroom的CI进行自动评测。要求小练习全部通过GithubClassroom的CI自动评测。
47-
48-
- [学习系列视频:Rust中文社群线上学习室--通过 Rustlings 学 Rust](https://space.bilibili.com/24917186/video)
49-
**提示:基于github classroom的开发方式**
50-
基于github classroom,可方便建立开发用的git repository,并可基于github的 codespace(在线版ubuntu +vscode)在线开发使用。整个开发环境仅仅需要一个网络浏览器。
51-
52-
> codespace 不是必须的。如果是本地的ubuntu中建立开发环境,可在shell中执行 `make ubuntu_local_setenv` 来自动安装配置开发环境(执行需要 `sudo` root 权限,仅需要执行一次)。
53-
54-
1. 在网络浏览器中用自己的 github id 登录 github.com。
55-
56-
2. 接收 [Rust-lang Lab Test based on Rustlings 的github classroom在线邀请](https://classroom.github.com/a/S8vP0lDr) ,根据提示一路选择OK即可。
57-
58-
3. 完成第二步后,你的rustings实验练习 的 github repository 会被自动建立好,点击此github repository的链接,就可看到你要完成的实验了。
59-
60-
4. 在你的第一个实验练习的网页的中上部可以看到一个醒目的 `code` 绿色按钮,点击后,可以进一步看到 `codespace` 标签和醒目的 `create codesapce on main` 绿色按钮。请点击这个绿色按钮,就可以进入到在线的ubuntu +vscode环境中
61-
62-
5. 再按照下面的环境安装提示在vscode的 `console` 中安装配置开发环境:rustc等工具。
63-
64-
6. 然后就可以基于在线vscode进行测试 (执行命令 `rustlings watch`),编辑代码的循环实验过程了。
65-
66-
7. 如果使用本地的环境进行rustlings的练习,请按照接下来的步骤进行:首先需要安装一个Linux的环境,对于windows的用户,推荐使用wsl2,也可以使用vmware等虚拟机进行安装。如果在这一步存在问题,请联系助教。
67-
68-
8. 创建ssh key。在linux环境下,使用` ssh-keygen -t rsa -b 4096 -C "你的邮箱" `命令,创建ssh key,下面的选项全部直接敲回车即可。
69-
随后使用` cat ~/.ssh/id_rsa.pub` 命令查看生成的公钥,并完整的复制下来。
70-
在github仓库界面点击自己的头像,选择`settings`。进入到设置页面后,点击左侧的`SSH and GPG keys`选项。点击`New SSH key`选项,并将复制下来的内容粘贴上去,添加该ssh key的描述。随后点击`Add SSH key`,并一路点击确认即可。
71-
72-
9. 在本地安装rust。进入linux环境下,参考rcore 教程 http://rcore-os.cn/rCore-Tutorial-Book-v3/ 中, 第零章操作系统概述,实验环境配置的内容,找到Rust 开发环境配置的章节,相应配置即可,你可以同时将后续需要的环境也配置好。
73-
74-
10. clone实验仓库到本地。在前面点击链接生成的仓库中,同样点击醒目的 `code` 绿色按钮,选择`local`下的`ssh`选项,复制下面的链接。随后回到本地linux环境下,使用`git clone 复制的链接`的方式,将目标仓库clone到本地。随后,使用`ls`命令查看自己clone下来的文件夹,再使用`cd`命令进入到该文件夹下,使用`cargo install --force --path .`安装rustlings。
75-
76-
11. 练习rustlings。使用vscode等编辑器,进入clone下来的目录下的`exercises`文件夹,依次完成对应的练习。随后在rustlings的根目录下使用`rustlings run 练习名称`去运行对应练习,也可以使用`rustlings hint 练习名称`查看题解。
77-
78-
12. 提交。当做完部分或所有练习之后,执行 ``git add; git commit -m "$Your commit message"; git push`` 命令,把更新提交到GithubClassroom的CI进行自动评测。你可以在github仓库页面的actions页面,看到你的CI提交结果,或者在排行榜上面查看自己的评分。
79-
80-
13. 上述步骤有任何问题都可以找助教。
42+
## 课程实验: Rustlings 训练
43+
44+
- [点我创建课程实验仓库](https://classroom.github.com/a/S8vP0lDr),采用Github Classroom模式的Rustling小练习,点击上述链接,形成自己的练习用repo。请记住您的 github 仓库名称,格式一般为 `LearningOS/2025s-rcore-${YourGithubName}`
45+
46+
- 要求:**必须完成** 。完成所有练习后,将本地修改提交到上一步创建的 git 仓库上,CI 会进行自动评测。要求小练习全部通过GithubClassroom的CI自动评测。
47+
48+
- [学习系列视频:Rust中文社群线上学习室--通过 Rustlings 学 Rust](https://space.bilibili.com/24917186/video)
49+
50+
### 实验环境配置和快速上手
51+
52+
1. 在网络浏览器中用自己的 github id 登录 github.com。
53+
54+
2. 接收 [Rust-lang Lab Test based on Rustlings 的github classroom在线邀请](https://classroom.github.com/a/S8vP0lDr) ,根据提示一路选择OK即可。
55+
56+
3. 完成第二步后,你的rustings实验练习 的 github repository 会被自动建立好,点击此github repository的链接,就可看到你要完成的实验了。
57+
58+
4. 请参考您的仓库中的 README(示例[README](https://github.com/LearningOS/rustling-classroom-2025s-rustling-25S-template/blob/main/README.md))开始进行 rustlings 的环境配置和实验。
59+
60+
5. 提交。当做完部分或所有练习之后,执行 ``git add; git commit -m "$Your commit message"; git push`` 命令,把更新提交到GithubClassroom的CI进行自动评测。你可以在github仓库页面的actions页面,看到你的CI提交结果,或者在排行榜上面查看自己的评分。
8161

62+
6. 上述步骤有任何问题都可以找助教。
63+
64+
65+
## 自学编程(可选,非必须要求)
66+
8267
- (Option)[32 Rust Quizes](https://dtolnay.github.io/rust-quiz/1)
83-
68+
8469
- 要求:小练习全部通过。(**非必须完成**
85-
70+
8671
- (Option)[exercisms.io 快速练习(88+道题目的中文详细描述)](http://llever.com/exercism-rust-zh/index.html)
87-
72+
8873
- 要求:大部分练习会做或能读懂。(**非必须完成**
8974
- [exercism.io官方站点](https://exercism.io/)
9075

2025-spring-summary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103

104104
### 阶段介绍
105105

106-
本阶段开始我们将会讲授 rCore-Tutoril-OS。它是由清华大学开发的、使用 Rust 编写的教学用内核。我们将会从这个内核开始,一步步带领大家熟悉内核、了解内核,上手内核的开发过程。
106+
本阶段开始我们将会讲授 rCore-Tutoril-OS。它是由清华大学开发的、使用 Rust 编写的教学用内核。我们将会从这个内核开始,一步步带领大家熟悉内核、了解内核,上手内核的开发过程。课程详细信息请查看 [第二阶段公告](./2024-spring-scheduling-2.md)
107107

108108

109109

@@ -162,5 +162,5 @@ TODO
162162

163163
- 问答论坛:https://opencamp.cn/os2edu/bbs,欢迎大家积极发帖讨论
164164
- 在微信群中提问,如果长时间未得到回复可以手动 at 负责人
165-
- **注意**:有任何疑问,请优先查看 [常见问题](https://github.com/LearningOS/rust-based-os-comp2025/blob/main/QA.md),确认常见问题列表中不存在您的问题,再通过微信群@助教以及【问答论坛】等方式提问, 常见问题列表会随着训练营的推进不断补充完善,感谢大家的参与和支持!
165+
- **注意**:有任何疑问,请优先查看 [常见问题](https://github.com/LearningOS/rust-based-os-comp2025/blob/main/QA.md),确认常见问题列表中不存在您的问题,再通过微信群@助教以及【问答论坛】等方式提问,常见问题列表会随着训练营的推进不断补充完善,感谢大家的参与和支持!
166166

0 commit comments

Comments
 (0)