lab1: 实现log等级控制 by 樊博
大家好,我是来自哈尔滨工业大学(深圳)的20级本科生。我把我做实验的过程整理成博客,希望得到大家的指正。
inchinaxiaofeng-rCore-study-record
训练营学习记录
第一阶段
本阶段我是学习使用Rust的基本内容,阅读的是Rust圣经中文版,那个版本对于入手而言还是很舒服的,之后就开始对着内容,找对应的Rustlings的练习,然后就做一章,看一章。
学习的速度绝对不快,掌握的其实也不算太好,特别是偏向后面的部分,那个内容也是缺乏练习,导航i学习的不是很深刻,最后也是压哨提交的内容。
第二阶段
本阶段的目标是完成rCore-tutorial的五个实验。这个阶段的内容要难的多,也花了很多时间。
好在之前有过相关的学习经历(本校的书院有OS方向,我是CPU&OS的学员),这样对我而言压力也小了很多很多。
整个学习的经历
我在配置环境上没有出现大的问题,我使用的是Ubuntu22.04LTS直接安装的,所以的很舒服,一边就OK了。
配置环境之后就开始学习,并逐步完成实验。
我一开始学习的速度很慢,花了很长时间去做笔记,这部分笔记几乎写了2000K行吧(还是在Vim中的“行”概念)。
后来发现,这样的学习速度过于慢了,一周的时间仅仅勉强学到了CH4,而后面的任务要更加艰巨。
之后我将做笔记的部分融合到了看代码的过程中,大大加快了我学习的进度。
之后的学习速度就快了很多很多,然后在最后一周花了很大的精力学完了hhhhhhhh。
由于最后一段时间的进度不理想,我甚至最后一周翘了好多课,连轴转了好久才转出来500分,只能说能过我已经很幸运了!
洛佳:K210组RustSBI开发总结
我在第二个月的时间里完成了RustSBI很多部分的开发。它已经能运行rCore-Tutorial,并且支持qemu、K210
两款硬件平台。希望未来的时间里,我能为RustSBI编写更多平台的支持,也为丰富社区项目做一些贡献。
zCore Summer of Code 2020 报告 by 车春池
移植rCore-Tutorial 到k210 徐文浩报告
rCore 到 zCore 功能迁移组报告
为 zCore 实现 Exception Channel 机制
最近我为 zCore 实现了 zircon 的 Exception Channel 机制。下面来介绍一下 Exception Channel 机制,以及这套机制在 zCore 中的实现。
rcore
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 ,从而体现出时间差以及时间单位换算。