Lab1 可以说就是一些编程相关的工作,只是程序中有一些操作系统相关的概念(例如进程、管道)。做完Lab1之后我有一个问题:系统调用时如何进行的,为什么我在user下调用sleep( ),就可以直接调用到内核中的sleep代码,我并没有看到两者是如何联系的。做完Lab2,这个问题得到了解答。有了这个基础,接下来的Lab3也是很简单了(2023 的Lab3相较于2020的 看起来简单了不少)。
Usermode 的System Call 是如何被执行的
我这里画了一张图去将这一切串联起来
结尾
万事开头难,syscall实验可以说才是真正的是所有实验的序章。我的syscall的第一个实验是看了这个视频才得以推进# MIT6.S081操作系统实验-Lab2-实现系统调用trace (上)。做完这个之后,后面的几个Question都可以独立完成了。这几个实验坐下来,最大的感受就是,Hint是真的很重要!!!而且貌似Lab3的最后一个usertests是过不去的,因为usertests是2020年Lab的测试点。
OK,最后贴一下我的make grade