Update README.md

add FAQ
This commit is contained in:
D_B
2021-08-04 11:50:16 +08:00
committed by GitHub
parent d369ad2d63
commit 434604543d

View File

@@ -3,7 +3,7 @@
花了两个月多的时间,终于把 MIT6.828 的课程跟完了。刚接触这个课程时,就有一种感觉:哇,好神奇! 这个课程真的是循序渐进,一步一步在你的脑海里建立起 OS 的大厦框架。从 Lab1 的手把手教学到 Lab6 的放任你自由,很好地对学生的学习进行了引导。学完这个课程后,你也就拥有了一个属于你自己的完整的内核雏形!
# 1. 简介
课程评价:**神级课程——要是早遇到,我还会是这种 five废物 系列**
课程评价:**神级课程——要是早遇到,我还会是这种 five废物 系列**
课程网址:[6.828: Operating System Engineering](https://pdos.csail.mit.edu/6.828/2018/schedule.html),一直跟着其 schedule 走就可以啦。
@@ -15,7 +15,11 @@ xv6 讲义:[a simple, Unix-like teaching operating system](https://pdos.csail.
- qemu最好使用 MIT 给的 patch 版本Lab6 用到 pacth 版本的qemu 较多)。安装方法也可参考[Tools Used in 6.828](https://pdos.csail.mit.edu/6.828/2018/tools.html) 链接
- 工具链 [Tools Used in 6.828](https://pdos.csail.mit.edu/6.828/2018/tools.html)
环境搭建网络上教程很多,这里我就不再赘述,直接给出别的大佬写的教程:[MIT-6.828-JOS-环境搭建](https://www.cnblogs.com/gatsby123/p/9746193.html)
环境搭建网络上教程很多,这里我就不再赘述,大家可自行百度(搜索以下关键词),包括:
- VMware 或 VirtualBox 安装
- Ubuntu虚拟机
- qemu安装英文教程参考上文给出[官网的工具链的安装](https://pdos.csail.mit.edu/6.828/2018/tools.html) 中文教程可参考网络上的博文([QEMU模拟器安装](https://www.cnblogs.com/gatsby123/p/9746193.html)
# 2. Xv6
学习6.828时,你会发现经常遇到 xv6 和 JOS这两个名词不明白它们两者之间的关系在完成实验时思路就会不是很清晰。xv6 是一个类Unix的教学操作系统而 JOS 是在xv6的基础上改写让我们能在其上进行实验的 OS。 所以实际上,当我们遇到不会实现的问题时,可以去参考 xv6 相应部分的源码。
@@ -38,8 +42,7 @@ Homework 实现:完整实现代码。[Github_SmallPond/MIT6.828_OS](https://gi
以下是我实验过程中记下的笔记,包含我的实现思路以及代码。 不过有些重复的细节,我就没有记录,可以参考我的完整实现代码。[Github_SmallPond/MIT6.828_OS](https://github.com/SmallPond/MIT6.828_OS)
- Lab1 Booting a PC
- [ LAB_1_Part1_PC Bootstrap](https://www.dingmos.com/2020/07/24/23.html)
- [LAB_1_Part2_The Boot Loader](https://www.dingmos.com/2020/07/24/23.html)
- [ LAB_1_Part1_PC Bootstrap and Part2 The Boot loader](https://www.dingmos.com/2020/07/24/23.html)
- [LAB1_Part3_The Kernel](https://www.dingmos.com/2020/07/24/24.html)
- Lab2 Memory management
- [LAB2_Part1_Physical Page Management](https://www.dingmos.com/2020/07/24/25.html)
@@ -66,3 +69,16 @@ Homework 实现:完整实现代码。[Github_SmallPond/MIT6.828_OS](https://gi
4. [bysui的博客](https://blog.csdn.net/bysui/article/category/6232831), 这位大神完成了全部的实验,但是我在后面才发现这么好的资源!
我的课程能顺利完成,少不了各位大佬记录下的实验过程,由衷感谢以上各位大神。同时希望我也能帮到后来的学习者~
# 5. FAQ
1. 零基础可以做这个课程吗?
不管做什么事情总会有个从零到一的过程的。当然这个课程需要一些基础,如汇编语言、操作系统、计算机组成原理以及体系结构等。毕竟操作系统是一门比较底层且考察综合性计算机知识的课程。可能零基础做这个课程会相对困难一点,但如果坚持下来了至少会学到一些知识(基础不够的情况下,不要求完全独立完成整个课程,可参考其他博客等资料)。并且我一直认为,以边学边做的方式来学习一门课程是最好的方式之一。种一棵树最好的时机是十年前或现在!加油~
2. 如何开始这个课程?
如果你是完全零基础那么从熟悉我上文提到的几个名词开始Vmware、Ubuntu虚拟机等然后开始搭建实验环境网络上教程很多自己得培养出搜索并甄别资料是否优质的能力不能拿来主义。然后参考官网的 scheduler 做Lab 和 homework理想路线。若不知道如何继续的时候可适当参考本文的给出的各个博客链接或自行搜索更优质的内容。
3. 6.828 和 6.s081 有什么区别
2018 之前只有 6.828后来出现了6.s081。简单来说6.828面向研究生6.s081 面向本科生。