Skip to content

clpsz/mit-jos-2014

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

介绍

这个项目我个人是学习MIT6.828的笔记,主要是我自己对课程LAB的解答,如有错误,欢迎大家提issue或者pull request,欢迎一起讨论。

背景

作为程序员,相信很多人都有一个梦想就是自己实验一下操作系统,反正我是有这样想法的,但是这个目标毕竟大宏大了,相信如果不参考资料的话,多数人是做不出来的。即使参照着现有的操作系统来写,我想也不是一件容易的事情。操作系统涉及的东西过于底层,也不能像应用程序一样有丰富的调试工具。比如很多人自己实现操作的时候可能应该卡在保护模式切换上了。因此我选择直接看现成的操作系统,以后如果有时间的话,可能会尝试着自己写一下。

虽然这个想法由来已久,但是一直都有事情耽搁着,没能开始。前不久一个朋友在跟一个MOOC,用的是Linux0.11作为教学系统,我也跟着看了一下。把赵烱博士的那本Linux内核0.11完全注释翻了一遍,之后尝试自己重新编译0.11内核。但是发现有点困难,可能是编译器之类的变化较大,报了一些看不明白的错误,也找不到人一起讨论,就没有深入下去。后来又尝试了一下清华大学在学堂在线上面开的课程,所用的操作系统是ucore(也是一个类UNIX操作系统),ucore_lab,也不是很满意。最后一个偶然的机会发现了MIT的这个课程,对比一下发现质量还是好很多的。

优点:

  1. 代码结构清晰,注释清楚,容易编译。反正我只装了qemu这一个软件就编译通过了,开始学习的成本低。
  2. 实验设计合理,练习难度知足,循序渐进。有时间的话还可以做下它的挑战练习,难度还是比较大的。每个Lab学有自己评分,可以快速验证代码是否符合要求。

缺点:

  1. 没有配套的教学视频,除了文档和代码几乎什么都没有,官方的pizza没有MIT的邮箱也上不去,只能自己组队学习。

参考

  1. 6.828/Fall 2014
  2. 操作系统-学堂在线

About

jos是mit6.828课程所用的操作系统,此处记录7个Lab的学习笔记。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published