Mark!!! 开始学习课程:操作系统-MIT-xv6
通过前面学习nand2tetris的经历,我发现learning by doing是一个非常好的学习方式。nand2tetris完成了一个简单的计算机,有硬件部分,也有软件部分和操作系统部分。但是这个操作系统还远远称不上是操作系统,他只是一个简单的基础库,负责内存管理和屏幕绘制等简单的工作。所以这次我们要尝试探究一个更能称得上是现代操作系统的项目–xv6,它是斯坦福大学开发的基于unix系统的一个教学型操作系统,2020学期的xv6是基于riscv指令集,这是一套精简指令集。
操作系统是程序员必须要熟悉&掌握的技术,尤其是对上层应用开发者,因为这些应用的运行不能脱离操作系统。只有真正熟悉了操作系统运行原理,执行细节,才能更好的帮助我们更好的理解上层应用的运行时状态,我们才能写出更好的,性能更优的程序。我认为:一个不懂操作系统的程序员不能算是一个合格的程序员。
操作系统-MIT-xv6 这门课确实非常优秀,和nand2tetris一样优秀。从这两门课程,我感受到了国内大学和国外顶尖大学之间的巨大差距。。清华大学有一门操作系统课程也很不错:ucore OS(貌似这门课也是基于斯坦福还是哈佛的一门OS课程的)
好吧,那就开始我们的学习之旅。
😀😀😀