0%

2024秋冬开源操作系统训练营第四阶段总结-张宇驰

2024秋冬开源操作系统训练营第四阶段总结-张宇驰

学习内容

这个阶段,我选择了unikernel方向一的任务,为arceos实现linux的app移植,其中我进行了如下方向的探索:

  1. 跟安同学讨论了基于对Ecall进行截断的思路,并自己尝试截断Ecall并导向自己提供的函数,在最小幅度的情况下实现。最后也是其他东西都有了,但是没有做明白怎么截断。
  2. 同样是在群里,和安同学讨论在SBI中进行转发的设想,不过后来没琢磨明白怎么处理这些新的调用号而困惑,最后也仅仅停留在理论层面上。
  3. 最终的选择:自己实现Mocklibc,验证了用自己的函数替换musl中的系统调用的思路,也就是获得abitable,然后在对应的地方直接进行跳转。交流会的时候看到了另一个同学针对动态链接的实现思路,尝试修改代码后发现支持动态链接还是好做的,但是由于时间原因在交这份报告之前还没有跑起来。

学习收获

这个任务对我来说属实难度比较大,总结一下有两点没有做好:

  1. 时间管理。在学校安排中,我们进行了为期两周的实习,其实空余时间挺多的,但是自己没有利用起来(也跟中间还有个考试有关),然后往后做的时间少而且累。
  2. 探索能力。在面对二、三周的复杂项目时,我没有很好的确定到自己的方向,在一定程度上延误了时间。(不过就是探索了很多有意思的东西了)

下一步计划

往后顺着PPT上的东西继续探索吧,我不是特别在意一定要在训练营之中去做什么事儿。出于对这个项目的兴趣,我打算保持跟这里的交流,往后继续探索,验证一下自己的想法。然后看看寒假有没有机会去实习,吧这个项目完善完善,而且家里也没人,假期回家的意义也不大。