Lab1
3.28
完成 Rust 语言练习
Lab2
4.7
risc-v知识欠缺,花费大量时间浏览 risc-v 手册。
完成 Lab1
学习 第四章 Rust 中的动态内存分配,地址空间, SV39 多级页面管理机制(上)。
成果:
初步了解risc-v多级分页机制。
4.10
完成 Lab2, 选做了 Lazy 分配策略。
大部分时间花在了 Lazy 策略初始化不分配内存上,通过查看多个函数的调试输出,完善了mmap申请的虚拟页表和物理页表映射结构上的设计。
4.11
开始 Lab3:spawn, 迁移 Lab2 中的工作。
spawn 功能非常简单,记得最后要添加到 manager 中。
4.15 总结
rcore 的文档很详细,通过读文档已经能对 rcore 很清晰的了解了,之后做实验也不存在太大的困难。选做题只做了 mmap lazy 策略。
Lab3
4.17
做完第二个小测验,发现没有安装 riscv-linux-musl-gcc, ArchLinux 中这个包在 AUR 中可以找到,riscv64-gnu-toolchain-musl-bin^AUR^, 也可以在 github 上找到相应的二进制文件 riscv-gnu-toolchain/releases
4.23
完成 Lab3, 选做题花费的时间多了些,主要是卡在了最后一个点上,费了一番功夫才完成了。现在回想起来感觉是因为是在晚上3,4点脑子不清醒,今天下午就顺利很多。
题目难度本身不大,第三阶段需要对项目的结构有一定的了解,不然会不知道要找的模块在哪里。