Skip to content

这是MIT6.828的实验1~6的源代码以及实验笔记

Notifications You must be signed in to change notification settings

bighunzi/MIT6.828_lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT6.828

课程网址: https://pdos.csail.mit.edu/6.828/2018/schedule.html

代码已开源:https://github.com/bighunzi/MIT6.828_lab

MIT6.828 lab是很有名的一个操作系统相关项目,网上有很多介绍和推荐这个项目的帖子。我个人在做完这个lab之后也认为它对于在校生是十分有价值并且相对友好的。它的工作量是很大的,需要的知识也很多,但其实它的上手门槛并不高,因为它官网中的文档会逐步引导你,有些你在配置环境、文件以及写程序过程中所想不到的细节,文档大多也会提示你或者给你提供一个相应参考文档的地址(例如一些程序员手册还有教程),我们边做边学即可,如果调试程序过程中实在是无法找到问题,也可以去参考很多网上的笔记。我本人也是看完了一遍CS:APP书以及相应的课程就开始做这个lab。

我在文件中按文件夹展示了每一个lab完成后的代码版本(lab1大多只是练习,代码量极少,故没有展示)以及每一个lab的笔记(lab_note文件夹)。 在笔记中我对lab的原文档做了一遍翻译(我感觉这样方便我回去找东西),并且记录了我做lab的详细过程, 源代码文件中我也有对我所完成部分的注释 以及lab原有代码的解释,这些都是可供参考的资料。

我在完成lab时主要参考了如下两人的笔记(感激!!!): 主要参考网址:https://zhuanlan.zhihu.com/p/74028717 这是我做所有lab时都有参考的一个笔记。

初期的参考网址: https://www.cnblogs.com/fatsheep9146/category/769143.html 这个笔记过程很详细, 并且一些相关知识点也有解析。但它只完成到lab3。

另外关于lab的challenge部分,先挖几个坑,之后有时间会着手实现:

已经完成:

  • lab4环境调度部分的challenge: 多级反馈队列(MFQ)调度算法 (源代码与笔记已更新)
  • lab6将E1000驱动程序修改为零拷贝(只写了大致思路和代码,但其实并没有调通。。。。)

正在进行:

还未开始:

  • lab4锁部分的细粒度锁challenge
  • lab5实现Unix-style exec()
  • lab5向shell添加更多特性
  • lab6将轮询改为 E1000中断驱动,使发送队列和接收队列的处理都是中断驱动的。
  • lab6向JOS添加聊天服务器

About

这是MIT6.828的实验1~6的源代码以及实验笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published