Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/woai3c/MIT6.828

实现一个操作系统内核
https://github.com/woai3c/MIT6.828

Last synced: 1 day ago
JSON representation

实现一个操作系统内核

Awesome Lists containing this project

README

        

# [MIT6.828官网](https://pdos.csail.mit.edu/6.828/2018/schedule.html)
MIT6.828 是 MIT 开源的一门操作系统课程--理论与实践相结合的经典。只要你跟着项目一步一步走,做完 6 个实验,就能实现一个简单的操作系统内核。

每个实验都有对应的知识点供你学习(也可以自行查找资料),学完理论知识后会有相应的练习,大多数都需要你手写代码。

边学边做,学习效果更加高效。

做这个项目之前建议看看下列资料:
* [x86汇编语言:从实模式到保护模式](https://book.douban.com/subject/20492528/)
* [xv6-chinese](https://github.com/ranxian/xv6-chinese)
* [操作系统导论](https://book.douban.com/subject/33463930/)或任意一本操作系统书籍

具体的实验代码请切换到对应的分支查看。

## 实验参考资料
### 0. [MIT6.828 实验环境安装教程](https://github.com/woai3c/MIT6.828/blob/master/docs/install.md)
### 1. Lab1 参考资料
* [Lab1:Booting a PC](https://www.cnblogs.com/gatsby123/p/9759153.html)
* [《MIT 6.828 Lab 1 Exercise 12》实验报告](https://www.cnblogs.com/wuhualong/p/lab01_exercise12_print_more_info.html)
* [MIT6.828操作系统工程Lab1-Booting a PC实验报告](https://blog.codedragon.tech/2017/12/09/MIT6-828%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8BLab1-Booting-a-PC%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A/)
* [MIT6.828操作系统实验—之启动PC](https://liu-jianhao.github.io/2018/08/mit6.828%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%AE%9E%E9%AA%8C%E4%B9%8B%E5%90%AF%E5%8A%A8pc/)
* [Linux-C逆向工程基础:简单的栈溢出漏洞展示](http://www.xumenger.com/linux-c-asm-5-20180606/)
* [《MIT JOS Lab1: Booting a PC》实验报告](https://blog.csdn.net/qq_32473685/article/details/93626548#9.4%20%C2%A0%E8%BE%93%E5%87%BA%E5%AF%84%E5%AD%98%E5%99%A8eip%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E7%9A%84%E8%A1%8C%E5%8F%B7)

### 2. Lab2 参考资料
* [MIT-6.828 Lab 2: Memory Management实验报告](https://www.cnblogs.com/gatsby123/p/9832223.html)
* [《MIT JOS Lab2: Memory Management》实验报告](https://blog.csdn.net/qq_32473685/article/details/99625128)
* [MIT6.828操作系统工程Lab2-Memory Management实验报告](https://blog.codedragon.tech/2018/02/20/MIT6-828%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8BLab2-Memory-Management%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A/)
### 3. Lab3 参考资料
* [Lab 3: User Environments实验报告](https://www.cnblogs.com/gatsby123/p/9838304.html)
* [MIT6.828操作系统工程Lab3-User Environments实验报告](https://blog.codedragon.tech/2018/02/23/MIT6-828%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8BLab3-User-Environments%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A/)
### 4. Lab4 参考资料
* [Lab 4: Preemptive Multitasking](https://www.cnblogs.com/gatsby123/p/9930630.html)
* [MIT6.828操作系统工程Lab4-Preemptive Multitasking实验报告](https://blog.codedragon.tech/2018/02/26/MIT6-828%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8BLab4-Preemptive-Multitasking%E5%AE%9E%E9%AA%8C%E6%8A%A5%E5%91%8A/)

### 5. Lab5 参考资料
* [Lab 5: File system, Spawn and Shell](https://www.cnblogs.com/gatsby123/p/9950705.html)

### 6. Lab6 参考资料
* [MIT-6.828 Lab 6: Network Driver (default final project)](https://www.cnblogs.com/gatsby123/p/10080311.html)

## 总结
* [Lab1](https://github.com/woai3c/MIT6.828/blob/master/docs/lab1.md)
* [Lab2](https://github.com/woai3c/MIT6.828/blob/master/docs/lab2.md)
* [Lab3](https://github.com/woai3c/MIT6.828/blob/master/docs/lab3.md)
* [Lab4](https://github.com/woai3c/MIT6.828/blob/master/docs/lab4.md)
* [Lab5](https://github.com/woai3c/MIT6.828/blob/master/docs/lab5.md)

## 其他参考资料
* [IA-32处理器常用整数指令分类一览](http://www5.zzu.edu.cn/qwfw/info/1042/2434.htm)
* [Intel 80386 程序员参考手册](https://www.kancloud.cn/wizardforcel/intel-80386-ref-manual/123813)
* [STABS](https://sourceware.org/gdb/onlinedocs/stabs.html#Overview)