diff --git a/.gitignore b/.gitignore index 83dbe003b2b..e5311e45a4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ public/ node_modules/ db.json +.DS_Store diff --git a/package-lock.json b/package-lock.json index 5d0fa3d7904..04ef4a312ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,3 +1,6 @@ +// 20231101232231 +// https://raw.githubusercontent.com/rcore-os/blog/master/package-lock.json + { "name": "hexo-site", "version": "0.0.0", @@ -2552,4 +2555,4 @@ } } } -} +} \ No newline at end of file diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking.md" new file mode 100644 index 00000000000..84018236ee4 --- /dev/null +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking.md" @@ -0,0 +1,89 @@ +--- +title: 2023秋冬季开源操作系统训练营总结-lispking +date: 2023-11-01 22:10:55 +categories: + - report +tags: + - author: lispking + - summerofcode2023 + - rcore-lab +--- + +# 逆境中的学习与成长:我的开源操作系统训练营之旅 + +## 自我介绍 + +今年的经济形势确实不容乐观。没错,我就是那位大龄失业的程序员。在寻找工作的同时,我尝试将自己的经验和心得整理成文章,发布在名为《猿禹宙》的微信公众号上,希望能为广大读者提供一些帮助。如果这些文章对您有所启发,请您不吝啬地关注、转发、点个赞、赏 1 元以示支持。广告部分到此结束,接下来我要分享一次偶然的相遇。 + +![微信公众号](2023秋冬季开源操作系统训练营总结-lispking/wx-mp.png) + + + +## 偶遇 rCore 经历 + +在一次无意间的机会,Rust 中文社区创始人 MT 在群里推荐了《2023 秋冬季开源操作系统训练营》活动。操作系统一直是我想深入学习的领域,因此,我毫不犹豫地报名并坚定地参与了整个过程。根据操作系统官网对该活动的介绍,这无疑是一次难得的学习机会。 + +在这个训练营中,我结识了许多志同道合的朋友,共同探讨开源操作系统的未来发展。我们深入交流了许多技术话题,分享了各自的心得体会。这次经历让我受益匪浅,也让我对这个领域有了更为深入的了解。 + +尽管目前的经济形势不容乐观,但我相信只要我们不断学习、充实自己,总会迎来属于自己的春天。希望我的经历和分享能给大家带来一些启示。再次感谢各位的支持,我会继续努力,为大家带来更多有价值的内容。 + +让我们共同期待,在未来的某一天,当我们迈向成功的道路上时,会遇到更多美好的机遇。愿我们都能在不断学习和成长中,找到属于自己的价值和幸福。 + +## 课程总结 + +### 第一阶段总结 + +在第一阶段的 Rust 编程培训中,虽然我觉得过程相对顺利,但在工作中用得却不多。不过,我在查阅过去的代码仓库时,发现了一个有趣的事实:原来早在两年前,我就已经开始接触 Rust,并已做过 Rustlings 题目,当时的版本还是 1.53。令人难以置信的是,Rust 已经发展到了 1.73 版本,并且开源项目也如雨后春笋般涌现。这让我对 Rust 的未来充满期待,也坚定了我在这条路上继续前行的决心。 + +### 第二阶段总结 + +#### 那段回忆 + +由于这些年我的工作主要集中在上层应用开发,对操作系统的了解仅限于学生时代的点滴记忆。因此,在第二阶段的学习中,许多不懂的知识点会让我卡住很长时间。然而,得益于失业这段时间,我能够投入更多的时间来深入学习课程。从早上 7 点多起床,一直到晚上 11 点,我才会愿意结束学习,洗漱后入睡。这样的努力让我在操作系统领域取得了显著的进步。 + +#### 粉丝认可 + +在失业半年里,养成了写文章的习惯。于是,我将这门课程的学习过程及时记录在了 [#RISC-V] 系列笔记中。在总结的过程中,我不仅巩固了自己的所学,还能为他人在成长过程中提供帮助。一些粉丝在后台留言表示,清华的这份笔记非常精彩。看到这些肯定与鼓励,我倍感欣慰,这也激发了我继续在求学道路上前行的信心和动力。同时,我也深感荣幸能为他们的学习提供帮助。我会继续努力,为大家分享更多有价值的内容。 + +#### 硬啃术语 + +面对众多术语,如 rCore、bare metal、qemu、elf、abi、sbi、RISC-V 等,感到各种困惑和不解。尤其是那些汇编代码,以及为何指令对齐要设置为 align 3 这样的问题,更是让人摸不着头脑。 + +后来查阅资料逐渐了解这些术语和概念。 + +* rCore 是一个用 Rust 编写的操作系统,兼容 Linux,支持 x86_64、RISCV32/64、AArch64 与 MIPS32 平台 +* bare metal 是指没有操作系统的硬件 +* qemu 是一个开源的硬件仿真器 +* ELF 是 Executable and Linkable Format(可执行和可链接格式)的缩写,是一种计算机可执行文件格式; +* SBI 是 RISC-V Supervisor Binary Interface 规范的缩写,OpenSBI 是RISC-V官方用C语言开发的SBI参考实现;RustSBI 是用Rust语言实现的SBI。 +* RISC-V 是一种开源的指令集架构,除 ARM 和 x86以外,第三大指令集。 +* 指令对齐设置为 align 3,是因为在计算机系统中,内存地址需要按照一定的规律进行组织。align 3 表示指令要按照 8 位(2^3)进行地址对齐,这样可以保证指令的执行效率和内存利用率。在实际应用中,不同的指令集架构可能会有不同的对齐要求。 + +#### 渐入佳境 + +从裸机 Hello World 程序出发,到批处理系统设计,进而探讨多道程序与分时系统,再到地址空间、进程和文件系统等方面的知识,老师在课堂上为我们详细解析了整个操作系统的发展过程。通过课下的勤奋学习,对 OS 有了更为深入的理解。 + +在课程中,逐步掌握了操作系统的基本概念、原理和实现技术。从最初的裸机程序出发,学会了如何在操作系统中编写简单的程序。 + +在此基础上,探讨批处理系统的设计,了解如何通过批量处理任务来提高系统效率。随后,课程深入到了多道程序和分时系统,使我明白如何在多任务环境下进行任务调度和资源分配。 + +在地址空间、进程和文件系统等方面,学习如何实现内存管理、进程创建和管理、以及文件存储和访问控制等功能。这些知识构建一个完整的操作系统奠定了基础。 + +通过学习操作系统,不仅掌握了操作系统的基本原理,还了解操作系统在现实中的应用和发展趋势。这将为我们在未来的工作和学习中更好地应用操作系统知识,解决实际问题提供有力支持。 + +## 感谢致辞 + +总之,在老师的悉心指导下,从裸机 Hello World 起步,深入系统地学习了操作系统的基本概念、原理及实现技术。这使我对 OS 有了更加全面和深入的理解。 + +最后,衷心感谢清华大学的老师们为我们提供了这次难得的学习机会。 + +在这段宝贵的时光里,我们在老师的引领下,逐渐掌握了操作系统核心知识,丰富了我们的视野。 + +感谢老师们辛勤付出,为我们奠定扎实的专业基础。这次学习经历对我们来说,无疑是人生中难能可贵的财富。 + +再次向清华的老师们表达诚挚的感谢,愿我们在未来的学习和工作中,秉持清华精神,为社会和国家的发展贡献自己的力量。 + + + + +[#RISC-V]: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4Nzk4MTY3Nw==&action=getalbum&album_id=3162993568748208133&scene=173&from_msgid=2247483973&from_itemidx=1&count=3&nolastread=1#wechat_redirect diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking/wx-mp.png" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking/wx-mp.png" new file mode 100644 index 00000000000..cc0f8dcda93 Binary files /dev/null and "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\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\346\200\273\347\273\223-lispking/wx-mp.png" differ