0%

不知不觉一个月都要过去了,整了将近一个月(中间因为各种事情咕咕了一周多)的 rCoreLab, 在这里做一个小小的总结。

关于收获:

  • Rust编程更加熟练了,对于Rust本身的一些有趣的特性的理解也更加深刻了。比起C++和Python之类的语言,Rust可以明显让人感到要过编译其实不太容易。但是其实稍微入门一点以后就会习惯了,Rust编译器给你的各种提示比C++友好多了。另一方面,Rust花在测试Debug上的时间显著减少了,基本算法正确的情况下一遍过是没问题的。
  • 当然,上面的这些收获还是次要的。在这次rCore的活动中,我对于RISC-V指令集有了更加深刻的认知,以前上计算机体系结构的时候讲的也是这玩意儿,但因为Soren本身是做Robotics的,其实讲的就没那么仔细了,关于页表、中断这种概念我是看了清华的OS课以后才有了一种恍然大悟的感觉(捂脸)
  • 我比较认真地通读了当前rcore-tutorial的所有源代码,包括Rust和汇编,应证了以前的一个观点:“一个涉及合理的架构远胜于细节的精雕细琢”。可以看到,tutorial v3的代码比前两个版本组织的更好了,它是循序渐进的,而且模块化也做得更好了,分隔出来的六个实验基本上你看看过源码之后就可以知道该如何修改,这些对于接口的抽象也是我应该学习的。

关于下一步:

  • 如果可以进入下一轮的话,我比较感兴趣的工作是zCore的文档和单元测试完善,这一部分看起来容易,但是要做好还是需要花不少工夫的。

曾经遇到的困难:

  • 关于OS和RISC-V这部分其实还可以再深挖一下,但就目前的需求而言,可以点到为止了。