|
1 | | - |
2 | 1 | # 2025年春夏季开源操作系统训练营:第一阶段 |
3 | 2 |
|
4 | 3 | - [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) |
6 | 5 | - Online Ranking (训练营在线排行榜) |
7 | 6 | - [第一阶段排行:Rust Lang](https://opencamp.cn/os2edu/camp/2025spring/stage/1?tab=rank) |
8 | 7 |
|
9 | 8 | - [常见问题解答](./QA.md) |
10 | 9 | - [Learning Resource](./relatedinfo.md) (学习资源汇总) |
11 | | - |
| 10 | + |
12 | 11 | 欢迎在校学生/工程师在2025年春季参加清华大学、阿图教育等共同举办的**2025年春夏季开源操作系统训练营**活动(2025.3.30~2025.6.22)。训练营结束后,表现突出的同学将获得训练营优秀证书,部分优秀同学将得到前往**清华科技园、泉城实验室线下实习**的机会。鼓励同学继续以开源社区的方式参与到企业/科研院所的操作系统实习/实践/工作/学习等相关的活动。 |
13 | 12 |
|
14 | 13 | ## 目标: |
|
30 | 29 |
|
31 | 30 | # 2025春夏季开源操作系统训练营第一阶段环境配置与学习资料 |
32 | 31 |
|
33 | | -前提条件: 要求有基本数据结构,算法基础,相对了解或熟悉C语言等编程. |
| 32 | +前提条件:要求有基本数据结构,算法基础,相对了解或熟悉C语言等编程. |
34 | 33 |
|
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) |
37 | 37 | - 推荐:[Rust语言圣经(Rust教程 Rust Course和配套练习)](https://course.rs/) |
38 | 38 | - 推荐:[半小时快速了解Rust](https://fasterthanli.me/articles/a-half-hour-to-learn-rust) |
39 | 39 | - 推荐:[Rust速查表(cheatsheet)](https://cheats.rs/) 该项目不仅提供了基础的语法速查,还有执行顺序详解和编写时需要关注的注意事项。项目还包含了示例代码(EX)、书籍(BK)、标准(STD)等相关资料的扩展。 |
40 | 40 | - 推荐:[清华计算机系大一学生2022暑期课程:Rust程序设计训练(有课程视频)](https://lab.cs.tsinghua.edu.cn/rust/) |
41 | 41 |
|
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提交结果,或者在排行榜上面查看自己的评分。 |
81 | 61 |
|
| 62 | + 6. 上述步骤有任何问题都可以找助教。 |
| 63 | + |
| 64 | + |
| 65 | +## 自学编程(可选,非必须要求) |
| 66 | + |
82 | 67 | - (Option)[32 Rust Quizes](https://dtolnay.github.io/rust-quiz/1) |
83 | | - |
| 68 | + |
84 | 69 | - 要求:小练习全部通过。(**非必须完成**) |
85 | | - |
| 70 | + |
86 | 71 | - (Option)[exercisms.io 快速练习(88+道题目的中文详细描述)](http://llever.com/exercism-rust-zh/index.html) |
87 | | - |
| 72 | + |
88 | 73 | - 要求:大部分练习会做或能读懂。(**非必须完成**) |
89 | 74 | - [exercism.io官方站点](https://exercism.io/) |
90 | 75 |
|
|
0 commit comments