0%

os-camp-blog

总结

rust编程语言

第一阶段由于原先有C/C++的编程基础,基础语法上手还是比较快的,但在rust语言在内存管理方面的特性还是需要适应一段时间。但学习rust的经历中,也是能学到很多,能看到很多其他编程语言的影子,但也有rust自身的特性,如内存管理方面。多方面多语言融会贯通,收获颇丰。

rcore

由于在操作系统方面是0基础,在进入第二阶段的学习之前,我先去学习了Mit的xv6课程,有了这方面的基础,后续的学习会简单很多。

在实验上第一次尝试用rust写内核,体验挺奇妙的,在内存管理上给人与C语言完全不同的体验。

  1. ch3 熟悉系统调用
  2. ch4 内存映射出问题,调试比较麻烦
  3. ch5 熟悉进程调度算法
  4. ch6 挺麻烦的要自己实现一些接口
  5. ch8 死锁检测,耗费时间比较多,走了一些弯路,好在最后调试发现问题所在

arceos

作业难度比上一阶段简单一些,但模块化的设计思路很巧妙,体验比较新奇。

在实验上

  1. [print_with_color] 仿照原有代码的color包装即可完成
  2. [alt_alloc_bump] 内存分配算法 这里的测试文件是不很全部
  3. [ramfs_rename] 动手实现一个处理函数
  4. [sys_map] 花费的时间比较多,后续调试才发现是访问权限的问题
  5. [simple_hv] 解析指令,修改上下文即可

综上

总的来说,训练营的学习收获还是挺多的,也尝试了用rust编写内核,这是我从未涉猎的领域,希望在后续的学习中能学的更多,后续希望能写出自己的内核,尝试在操作系统中加入自己的想法。