0%

2024a-rcore-二阶段总结-cereal

前言

我自己之前参加过ysyx,有一点操作系统的相关基础知识和riscv指令集基础,pa4后面还没做完,对于很多操作系统基础概念理解还是不够深刻,通过rcore的学习也是补上了这一部分。操作系统作为最和硬件联系紧密的软件,特权、异常、中断等概念的引入,让cpu具有了安全的连续不停运行各种各样程序的能力,这非常美妙😄,这也是我学习操作系统的目的。

个人感悟

通过近一个月的学习,对于操作系统的相关概念和rust这门编程语言有了更深入的了解,之前对于操作系统也只是停留在很基础的部分,对于操作系统的基础概念的认识也是非常模糊,也没有上过操作系统的相关课程,通过这次的学习,也是对操作系统的基础概念(进程管理,地址空间,文件系统,并发等等)有了基础的理解。
在rcore的实验课程中,最让我印象深刻的就是虚拟地址部分,由于之前接触的操作系统全部都是nommu类型,直接访问物理地址的概念非常不容易被打破,并且ch4也是一个门槛,需要非常深入的理解rcore的整体代码框架,对虚拟地址的映射,软硬件协同操作,多级页表,地址空间的概念理解了很久,在不断查找资料,不断理解的情况下,才对虚拟地址的概念有了很浅显的理解,把任务完成。
在完成任务的过程中,其实rcore的整体框架非常完善,作业的部分也就是一些扩展功能,整体还是对rcore的实现的理解,在完成任务时,也是对已有实现进行模仿,理解整体框架,之后调用已有函数或自己根据数据结构实现函数,实现功能。