讲义中必须的实验已经做完了,这里有些碎碎念。
6.828 Operating System Engineering是MIT久负盛名的一门操作系统相关的课程。在2020年,MIT将其拆分为两个课程:6.828和6.S081。6.S081更适合入门的本科,6.828为研究生课程,将涉及一些前沿课题。2019年,课程开始用RISC-V架构而不是i386。
在一开始,我选择了2018版的课程,其实还是觉得自己可能对i386更熟悉一些。不过后来发现,好像这两种架构对于本课程的实验来说区别不是很大。
在实验过程中,难度是逐步加大的。从一两个小时能完成一个实验,再到最后几个实验几乎用了一整天,除了吃饭一直在看电脑屏幕。而且说实话,最后两个实验的后半部分有些吃不消了,可能与我刻意控制速度有关系。
本实验还是基于JOS的,在做完实验后,我看了下最新的xv6实验,感觉本实验中关于多线程的处理还是有些不够。本实验多线程仅是由系统库提供的功能,并没有写进内核,也就是说CPU调度的单位仍然是进程。参考MIT官网上的实验要求,Lab6后还要一个扩展说明,其中之一就是将多线程写入内核。我想后面如果有时间(还得有能力),我可以尝试一下这个实验。
Just so.