0%

2024开源操作系统训练营第三阶段总结-tyz-own

第三阶段总结报告

相关进度

前期学习

项目实践

  • rcore 中整合 embassy, 首先遇到的问题就是在 executor 代码中里调试程序出错,后来发现了是因为在 poll 之后的一致性锁服务中加入了M态不是S态,将配置文件中的riscv加上一个s-mode的特征属性就好了。
  • 最后一学期在整合 embassy 提供的时钟中断服务时,因为没有找到关于 Driver trait 的具体实现,加上自身实力不济,并未能成功实现相关功能,是周积萍同学帮忙写的,然后我们测试了在单任务,多任务下的时钟中断服务,发现了各种各样的bug,例如任务的阻塞、无限嵌套时钟中断、忽然打出满屏的#号等等(按理来说地址越界是有相应的处理的,不知道这个为什么会直接不处理,可能不是地址越界造成的问题),有些是 embassy循环时的机制问题,有些则还未能解决,但并不妨碍我们去重构timer.rs中的相关定时器代码。
  • 最后在将代码放入 timer.rs 的定时器中并加以重构之后,我们测试了相关用例,发现符合我们的需求,并且能够正常运行。

感谢

  • 很感谢周积萍同学帮忙讲解 embassy 相关的运行机制,以及帮我解决 embassy 中的相关问题。
  • 也很感谢向老师每周周会时提出的建议,让我对之后的学习有了更加明确的方向。
  • 感谢夏令营的各位老师和助教们的帮助和支持,同时还提供了一个这么好的平台供我们学习成长。