【MIT 6.828】1. 课程介绍
对课程整体内容先简单介绍,后期逐个点展开来讲
0x00 简述
6.828 主要讲操作系统基本原理,包括虚拟内存、内核、用户模式等。
课程组成形式,如下所示:
├── 讲座
│ ├── 讲解 xv6 操作系统
│ └── 讲解操作系统新兴的概念,这部分会学习很多研究论文
├── 实验
│ ├── Lab 1:Booting
│ ├── Lab 2:Memory management
│ ├── Lab 3:User environments
│ ├── Lab 4:Preemptive multitasking
│ ├── Lab 5:File system, spawn, and shell
│ └── Lab 6:Network driver
└── 文档读物
0x01 术语
- xv6:xv6 是一个类 Unix 的教学使用的操作系统,MIT 基于 Sixth Edition Unix (aka V6) 版本的重新实现,也是基于 x86 的,但是比 x86 更贴近于教学学习。
- JOS:JOS 比 xv6 更早期一些,只支持单核,比 xv6 更适合学生来学习,6.828 就使用的 JOS 来教学的。这个命名是由于 Josh Cates 的杰出贡献,所以以 Josh Cates 的名称首字母加上 OS 命名的。
- QEMU Emulator:模拟器,可真实模拟出你的硬件环境,用于调试操作系统等底层系统
- GDB:GNU 项目的调试工具,用于查看一个程序内部活动
- GCC:编译器工具集,用于将高级语言编译成二进制可执行程序
- SPIM 模拟器:一个指令集的模拟器,可以模拟简单指令集,如 MIPS 指令集。QtSpim 是带有图形界面的版本。软件可以直接打开汇编代码。