From 48c426ae17f5282cd0a2a3a743ad4d7a45c25682 Mon Sep 17 00:00:00 2001 From: xiuzz <1519072696@qq.com> Date: Fri, 3 Nov 2023 14:58:33 +0800 Subject: [PATCH] finalblog --- ...\273\223\346\212\245\345\221\212-xiuzz.md" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "source/_posts/2023\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\347\254\254\344\272\214\351\230\266\346\256\265\346\200\273\347\273\223\346\212\245\345\221\212-xiuzz.md" diff --git "a/source/_posts/2023\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\347\254\254\344\272\214\351\230\266\346\256\265\346\200\273\347\273\223\346\212\245\345\221\212-xiuzz.md" "b/source/_posts/2023\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\347\254\254\344\272\214\351\230\266\346\256\265\346\200\273\347\273\223\346\212\245\345\221\212-xiuzz.md" new file mode 100644 index 00000000000..bb2a5939946 --- /dev/null +++ "b/source/_posts/2023\345\274\200\346\272\220\346\223\215\344\275\234\347\263\273\347\273\237\350\256\255\347\273\203\350\220\245\347\254\254\344\272\214\351\230\266\346\256\265\346\200\273\347\273\223\346\212\245\345\221\212-xiuzz.md" @@ -0,0 +1,31 @@ +--- +title: 2023开源操作系统训练营第二阶段总结报告-xiuzz +date: 2023-11-03 14:03:04 +categories: + - report +tags: + - author:xiuzz + - repo:https://github.com/LearningOS/2023a-rcore-xiuzz +--- + +第一次参加开源训练营,给我的感觉很不错,感谢老师和助教们的付出。这也是我第一次写rust语言,刚开始写的时候一路想弃坑最后还是坚持下来了。 + +## 第一阶段 +第一阶段内容还是比较简单文档也很清晰,照着做就能够完成。第一阶段遇到的最大难题是加入训练营时还有五天就开第二阶段了,然后就拼命爆肝rustling。 + +## 第二阶段 +第二阶段就不得不吐槽一下实验文档,刚开始只知道有guide,后面发现还有一本book v3, 感觉还得优化下实验说明, 很容易一开始就找不到方向。还有就是实验测试样例说明不够,只能靠自己摸索。不过指导书写的很不错,之前有上过操作系统课,学习起来还是比较轻松。 +### ch1 ch2 ch3 + +这部分给我开了个好头,os课上学的知识还是比较零碎的。rcore的操作系统发展脉络很清晰,操作系统上的程序怎么运行起来的,如何构建用户态向内核态的系统调用请求,如何构建裸机上的操作系统,都讲述的很清楚。实验部分完成task_info系统调用难度也不大。 + +### ch4 + +地址空间这章感觉是这几章中最难的一章,之前对虚拟内存没什么概念,v3这里也是好长的几章字。学完了现在感觉也是似懂非懂的, +不过好在这章实验不是很复杂只需要实现4种系统调用,前面两种还是重写上一章的只不过加入了虚拟地址转换。不过这里有一个神奇的地方在于ch4里面get_time_us()和get_time_ms()产生了很大的误差,而在ch3里面却通过了。 + +### ch5 + +进程这章比较简单。不过让我学习到的地方在于,指导书上面介绍了 +为什么要实现进程。这章实验要求在新增进程功能下,不仅让代码能通过之前的测试,还要新实现sys_spawn,以及进程调度算法,不过总的不算困难。 +