diff --git "a/source/_posts/2025s-rcore\350\256\255\347\273\203\350\220\245\345\211\215\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-Murrrphy" "b/source/_posts/2025s-rcore\350\256\255\347\273\203\350\220\245\345\211\215\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-Murrrphy" new file mode 100644 index 00000000000..4fae4de363c --- /dev/null +++ "b/source/_posts/2025s-rcore\350\256\255\347\273\203\350\220\245\345\211\215\344\270\211\351\230\266\346\256\265\346\200\273\347\273\223-Murrrphy" @@ -0,0 +1,30 @@ +--- + +title: 2025s-rcore训练营前三阶段总结-Murrrphy +date: 2025-5-24 10:37:33 +tags: + - author:Cisco-F + - repo:https://github.com/LearningOS/2025s-rcore-Cisco-F + +--- + +这次是二刷rcore训练营,和群友们说的一样,二刷进度要比第一次慢,对自己的要求也更高了,因为二刷期望自己能更深入的了解内核机制和设计方法 + +# 一阶段 + +rust基础语法,很快刷过,因为已经有了比较扎实的rust编程基础和经验。但这个过程中,我也重温了一下Arc、闭包、迭代器等方面的知识,对这些高级数据结构和语法有了更清晰的认识。 +例如闭包捕获的变量,我之前一直不知道从哪里来,这次重新做题,我有一些茅塞顿开的感觉,例如用在迭代器里的闭包,捕获到的变量就是每次迭代的元素。 + +# 二阶段 + +第一次参加时我在指导书前五章花费的时间较多,后面三章由于时间不足,掌握程度仅为完成实验。这次我重新认真读了后面三章,又对内核机制,不仅是rcore,也是通用的内核设计方法有了更深入的掌握。同时在读前五章时,由于之前的学习和操作经验,我也感到更加好理解,有很多第一次参加的时候疑惑的地方在重读后都感到恍然大悟 +第一次参加训练营时,我对第八章的内容几乎是一知半解,仅能勉强完成实验。这次重读指导书,发现很多内容和操作系统课是一致的,再加上对项目结构有了更深入的了解,做起实验也更加得心应手了。 + +# 三阶段 + +三阶段对我的最大挑战还是由于因为内核进行组件化重构,导致项目结构异常复杂,在分析代码时常常找不到负责对应功能的实现在哪里。其他方面,如果找到了对应实现,代码还是很好理解的 +同时在实验的过程中,我也愈发感觉到组件化的优越性和灵活性。在了解项目运行逻辑后,为操作系统添加组件就变得十分轻松、模式化 + +十分感谢清华大学给了我这个平台,不仅让我学习到了新知识、前沿知识,切实培养了操作能力,也激发了我对体系结构方面的研究兴趣。也感谢群友和老师们的耐心解答,大家共同进步,营造十分友好的学习氛围 + +也希望开源操作系统训练营能够越办越好!