本门课MIT 6.S081为MIT的本科生操作系统课程,由浅入深的讲解了页表、trap、系统调用、中断、锁、文件系统等操作系统概念及其在xv6中的实现,个人收获颇丰,也是第一次学习操作系统,每一部分的源码都详细的看了一遍,感觉非常棒!
从3月份到5月份,我断断续续(4月份开始实习了时间片比较零碎)看完了Lec1-Lec15,也就是xv6book相应章节的讲解,并做完了Lab1-Lab9,后面一些lecture和两个lab涉及论文的阅读和讲解,暂时不准备看了,等后面有时间再来填坑!
以下为我对每一个Lab的理解与实现,如有瑕疵,请指正!
Lab1: Xv6 and Unix utilities
Lab2: system calls
Lab3: page tables
Lab4: traps
Lab5: xv6 lazy page allocation
Lab6: Copy-on-Write Fork for xv6
Lab7: Multithreading
Lab8: Locks
Lab9: file system
同时,我也将代码同步至此github仓库中(每一个lab是一个branch),仅供参考!
本文详细介绍了作者参加MIT的本科操作系统课程MIT6.S081的经历,包括学习页表、中断、系统调用等核心概念以及在xv6操作系统上的实现。作者完成了Lab1-Lab9的实践,涉及Unix工具、系统调用、分页机制、陷阱、懒惰页面分配、Copy-on-WriteFork、多线程、锁和文件系统。所有代码已上传至GitHub仓库,供参考。
889

被折叠的 条评论
为什么被折叠?



