0%

2024开源操作系统训练营第二阶段总结-squanchhhhh

1.学习心得

在参加本次课程之前,我正在做MIT6.081的实验,在谁演的过程中,我发现自己对操作系统的了解还不是特别深刻,于是去b站上寻找相关的视频,无意中发现了rcore的课程,便报名参加了,相比起xv6直接给出完整的代码,这个课程的设计可谓亲切许多,通过由浅入深,由表及里的设计,让学生对操作系统的了解更为深刻。

2.学习成果

2.1 gdb

本次实验的成果之一就是对gdb的了解更加深刻,从页表开始,调试程序就变得困难起来,因为不能像第一个实验那样直接顺序执行代码,在切换程序时,会同时切换程序的页表,刚开始也不知道该怎么调试这样的代码,后来发现gdb可以直接将断点设置为*0x0,由于每个用户程序的开始地址都是*0x0,这样当切换进程的时候,就可以很方便的进入用户空间。

2.2 makefile

如果引入本地测试的话,测试程序会修改makefile,这样每次都需要重新编写debug的makefile。

2.3 进程

在学习操作系统理论知识的时候,对进程控制块的理解不是很深刻,知道是一个很重要的组件,但是没有见到它的真实面貌,在实验中,为了给操作系统添加各种功能,也是为进程控制块添加了不少字段,理解更为深刻。

3.总结

在计算机的学习中,动手往往比理论更加重要,做一个操作系统往往效果比学习操作系统理论要好得多。