2023开源操作系统训练营第二阶段总结报告
学习动机与兴趣
使用rust已经很久了, 但是一直没有机会可以深入学习Rust编程和操作系统原理。对于Rust,它的内存安全性、”零开销抽象”和Cargo包管理工具等特性吸引了我(ps: cpp的包管理差的有点子多)。在训练营里面, 我可以深入了解了RISC-V架构。虽然之前可能只是听说过,但在训练营中,我学习了SBI和RISC-V指令集的使用。相对于传统的x86架构,RISC-V的指令集更为简洁,文档也相对清晰,这为理解底层原理提供了很好的机会。
实验内容与技术挑战
训练营的实验内容广泛,涵盖了操作系统的核心概念,包括多道程序的放置与加载、虚拟内存管理、进程管理、文件系统、管道和线程支持等。但是目前 文件系统和异步这方面的内容还没有看太明白。
在实验中,我遇到了不少技术挑战。例如,在虚拟内存管理实验中,我们需要处理虚拟地址到物理地址的映射,而在进程管理实验中,我们必须正确处理任务切换和多任务调度。这些挑战锻炼了问题解决能力和编程技巧。
同时 UPSafeCell的使用,也给我的工作中有一定启发。 我通过使用sdk中UnsafeCell结构体, 结合atomic变量来完成ReadGuard。 成功去除了锁依赖, 使用无锁编程的方式解决并发效率问题。 这种学习并能实践的感觉,让我觉得不虚此行。
学习总结
整个训练营让我更深入地理解了操作系统的原理和底层机制。通过实际的内核开发和编程实践,积累了宝贵的经验,不仅掌握了Rust编程,还深刻理解了操作系统的内部工作原理。我对于Rust的掌握也有了显著提高。