Files
rust-based-os-comp2022/module-rCore-Tutorial.md
2022-08-01 21:20:55 +08:00

25 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 模块化的 rCore-Tutorial-v3
1. 项目标题:模块化的 rCore-Tutorial
2. 项目描述rCore-Tutorial-v3 是一套简洁,易于上手的教程,但是目前代码将不同章节用分支隔离的组织形式导致前一章实验的成果很难迁移到后一章,且若要修改某一章的实现,就需要手动同步到后续所有章节。我们希望能发挥 Rust 语言 workspace/crates 的设计,将学习时对仓库的操作变为以下形式:
| 操作 | 使用 git 分支 | 使用 crate
| ------------ | ------------------- | -
| 学习另一个章节 | 切换分支 | 修改 workspace即切换相关 crates
| 做课后实验 | 切换到 lab 分支写代码 | 封装一个 crate 加入 workspace
3. 项目难度适合完成了lab1-5熟悉 Rust workspace 的同学)
4. 项目社区导师:杨德睿 github id:YdrMaster weichat id: ydrdwx
5. 项目产出要求:
项目应该将现有的 rCore-Tutorial-v3 变得模块化。形式包括:
- 章节模块化:所有章节不再被 git 分支隔离开,而是只有逻辑上的隔离关系,后一章节能够以依赖库的形式继承前一章节的成果
- 实现模块化:能在所有章节中复用的代码形成单独的 crate 甚至 package
- 系统调用接口模块化:系统调用的分发封装到一个 crate。使得添加系统调用的模式不是为某个 match 增加分支,而是实现一个分发库要求的 trait 并将实例传递给分发库