Giter Club home page Giter Club logo

mit6.828_lab's Introduction

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添加聊天服务器

mit6.828_lab's People

Contributors

bighunzi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.