0%

训练营学习记录

第一阶段

本阶段我是学习使用Rust的基本内容,阅读的是Rust圣经中文版,那个版本对于入手而言还是很舒服的,之后就开始对着内容,找对应的Rustlings的练习,然后就做一章,看一章。
学习的速度绝对不快,掌握的其实也不算太好,特别是偏向后面的部分,那个内容也是缺乏练习,导航i学习的不是很深刻,最后也是压哨提交的内容。

第二阶段

本阶段的目标是完成rCore-tutorial的五个实验。这个阶段的内容要难的多,也花了很多时间。
好在之前有过相关的学习经历(本校的书院有OS方向,我是CPU&OS的学员),这样对我而言压力也小了很多很多。

整个学习的经历

我在配置环境上没有出现大的问题,我使用的是Ubuntu22.04LTS直接安装的,所以的很舒服,一边就OK了。

配置环境之后就开始学习,并逐步完成实验。

我一开始学习的速度很慢,花了很长时间去做笔记,这部分笔记几乎写了2000K行吧(还是在Vim中的“行”概念)。
后来发现,这样的学习速度过于慢了,一周的时间仅仅勉强学到了CH4,而后面的任务要更加艰巨。
之后我将做笔记的部分融合到了看代码的过程中,大大加快了我学习的进度。

之后的学习速度就快了很多很多,然后在最后一周花了很大的精力学完了hhhhhhhh。

由于最后一段时间的进度不理想,我甚至最后一周翘了好多课,连轴转了好久才转出来500分,只能说能过我已经很幸运了!

我在第二个月的时间里完成了RustSBI很多部分的开发。它已经能运行rCore-Tutorial,并且支持qemu、K210
两款硬件平台。希望未来的时间里,我能为RustSBI编写更多平台的支持,也为丰富社区项目做一些贡献。

Read more »

rCore 到 zCore 功能迁移组报告

郑昱笙、李宇

目录

Read more »

lab1 report

实现功能

修改 TaskControlBlock ,加入成员变量 TaskInfo 。

初始化时,TaskInfo.status 为 TaskStatus::Running 。由于查询的是当前任务的状态,因此 TaskStatus 一定是 Running ;TaskInfo.syscall_times 为 全 0 ;TaskStatus.time 用 get_time_us() 赋值。

每次调用 syscall 的时候,都先更新 TaskControlBlock.TaskInfo ,然后真正去调用 syscall 。

返回的 task_info.status 和 task_info.syscall_times 都是直接从 TaskControlBlock 复制;task_info.time 为 (get_time_us() - TaskControlBlock.TaskInfo.time) / 1000 ,从而体现出时间差以及时间单位换算。

Read more »

rCore 第一阶段总结

前言

我是 大连理工大学 18级的一名本科生 , 在老师的宣传下被 这个项目所深深吸引,自愿加入了进来

在学习之前,我只是对 操作系统有所了解,完成了清华的课程 和 实验

RUSTRISC-V 的了解不是很多,但是 rust 的安全性, 和 risc-v 的简洁是我一直十分欣赏的

Read more »