From 9d61a8b02ee0ab5d7b083cffb9e5975981df5789 Mon Sep 17 00:00:00 2001 From: yonchicy <1079279184@qq.com> Date: Tue, 3 Dec 2024 09:20:52 +0800 Subject: [PATCH] add stage 3 report --- source/_posts/2024a-stage3-yonchicy.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 source/_posts/2024a-stage3-yonchicy.md diff --git a/source/_posts/2024a-stage3-yonchicy.md b/source/_posts/2024a-stage3-yonchicy.md new file mode 100644 index 0000000000..7b3933056c --- /dev/null +++ b/source/_posts/2024a-stage3-yonchicy.md @@ -0,0 +1,11 @@ +# stage3总结 +## u1.0 +很简单,定位到 axstd 里修改 println 的输出,前后加上转义字符就好了 +## u2.0 +找到 axstd 里,把 collection 替换成自己的 collection 包就可以,在自己的 collection 包实现 HashMap 结构体,只需要简单实现接口,覆盖测试用例即可。另外自己在替换 axstd 的 collection 的时候,遇到的问题是模块的导出关系没弄清导致的刚开始测试用例找不到我的代码. + +## u3.0 +做的过程中,先按照自己的想法做了一下,发现编译不过哈哈,然后看群里消息,学到了 const generic 这个知识点。然后顺便看到了 blogOS 对于 bump allocator 的介绍,就拿过来参考了一下,这个 bump allocator 确实简单的不可思议。 最后写完之后还是不过,打了日志才发现是自己初始化漏了 b_pos 和 p_pos 的初始化. + +## h1.0 & h2.0 +实验内容还是很简单的,但是虚拟化这块之前没有了解过,但是比较感兴趣。中间一周把宏内核实验翘掉读了虚拟化原理那本书。在听老师讲解过程中感觉,对一个不熟悉的东西,尽量简化,然后做出一个最小 work 的样板,然后不断迭代添加复杂功能,是非常好的学习方式。