From da1b41e3bce51d58d5430e966c6a50b55299863d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=9B=BD=E7=8E=AE?= <20373159@buaa.edu.cn> Date: Sat, 18 Nov 2023 21:00:58 +0800 Subject: [PATCH] add kouweilee reportblog --- ...3\223\342\200\224\342\200\224kouweilee.md" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220OS\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\342\200\224\342\200\224kouweilee.md" diff --git "a/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220OS\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\342\200\224\342\200\224kouweilee.md" "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220OS\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\342\200\224\342\200\224kouweilee.md" new file mode 100644 index 00000000000..b26c3a94a74 --- /dev/null +++ "b/source/_posts/2023\347\247\213\345\206\254\345\255\243\345\274\200\346\272\220OS\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\342\200\224\342\200\224kouweilee.md" @@ -0,0 +1,34 @@ +--- +title: 2023秋冬季开源OS训练营第二阶段总结——kouweilee +date: 2023-11-18 20:40:02 +tags: + - author:KouweiLee +--- + +# 2023秋冬季开源OS训练营第二阶段总结报告 + +首先感谢各位老师和助教,为我们呈现了这样一部优秀的Rust-OS教程。我本人是北航计算机学院大四学生,大二上过使用C语言编写的MOS操作系统课程。第二次系统性地学习操作系统,让我对OS的基本概念、本质原理、Rust编程能力等有了很大的进步和提升。下面对我在各个Lab中的收获进行总结。 + +## Lab1 + +Lab1实际上引入了一个分时操作系统。该Lab较为简单,让我重新回顾了产生分时机制的原因以及具体实现。将任务分成多个时间片来执行,应用程序以为自己独占了整个CPU,是本章要理解的重点。 + +## Lab2 + +这章引入了地址空间的抽象,应用程序以为自己独占了整个物理内存。我在本章学习中首先回顾了内存管理的知识,由于大二操作系统课程是基于MIPS汇编,且不区分内核地址空间和用户地址空间,因此又花了些功夫学习riscv页表机制、跳板页面机制。 + +## Lab3 + +该章对进程的管理中规中矩,特色在于使用Rust语言编写,熟练了我对Rust的编程能力。 + +## Lab4 + +本章主要介绍了一种文件系统的实现。我大二学习的OS属于微内核操作系统,将文件系统作为了一个用户态进程,其他进程请求文件系统服务时是通过进程间通信IPC机制实现的。而rCore的文件系统则融入到内核中,分层性感觉更强,也让我对inode有了清晰的理解,原来就是文件系统底层辨识文件的标识。 + +## Lab5 + +还没时间做,想先进行第三阶段hypervisor的学习。 + +## 对Rust-OS的体会 + +用Rust语言编写OS,让我体会最深的不是安全性,而是方便。以前用C写OS,要专门编写释放内存的函数,而用Rust,只需要一条drop命令,甚至不需要drop,待Arc的引用计数清零,整个结构体及所包含的所有内容,全部都会被回收,真是太方便啦。