操作系统:设计与实现 (2023 春季学期)
⚠️ 注意事项
本课程内容、大纲、考核方式与平行班不同,请仔细阅读课程说明。
Online Judge TOKEN 已发出,请在 smail 邮箱中查看,实验将在近期陆续公布。校内蹭课同学请将你的学号和姓名报告给课程助教。
课程讲义
- 绪论
操作系统概述
| 应用视角的操作系统
- 绪论
硬件视角的操作系统
| 操作系统模型
| [M1] pstree
| [L0] hello-os
- 并发
多处理器编程
| 并发控制基础
| [M2] plcs
- 并发
并发控制:互斥
| 调试理论与实践
- 并发
并发控制:同步 (1)
| 并发控制:同步 (2)
| [L1] pmm
- 并发
真实世界的并发编程
| 并发 Bugs (1)
- 虚拟化
并发 Bugs (2)
| 从 Hello World 到操作系统
| [L2] kmt
- 虚拟化
操作系统上的进程
| 进程的地址空间
| [M3] sperf
- 虚拟化
系统调用和 UNIX Shell
| C 标准库的实现
| [M4] crepl
- 虚拟化
可执行文件的加载
| 处理器调度
| [L3] uproc
- 持久化
存储设备原理
| 输入输出设备
- 持久化
设备驱动程序
| 文件系统 API
| [M5] frecov
- 持久化
FAT 和 UNIX 文件系统
| 持久数据的可靠性
| [L4] vfs
- TBD
- TBD
- TBD
- TBD
1. [操作系统概述](slides/1.slides)
| [操作系统上的程序](slides/2.slides)
| [阅读材料](notes/1)
| [[M1] pstree](labs/M1)
| [[L0] amgame](labs/L0)
2. 并发
[多处理器编程](slides/3.slides)
| [理解并发程序执行](slides/4.slides)
| [阅读材料](notes/2)
| [[M2] libco](labs/M2)
3. 并发
[并发控制:互斥](slides/5.slides)
| [并发控制:同步](slides/6.slides)
| [阅读材料](notes/3)
| [[L1] pmm](labs/L1)
4. 并发
[真实世界的并发编程](slides/7.slides)
| [并发 Bug 和应对](slides/8.slides)
| [阅读材料](notes/4)
5. [操作系统的状态机模型](slides/9.slides)
| [状态机模型的应用](slides/10.slides)
| [阅读材料](notes/5)
6. 虚拟化
[操作系统上的进程](slides/11.slides)
| [进程的地址空间](slides/12.slides)
| [阅读材料](notes/6)
| [[M3] sperf](labs/M3)
| [[L2] kmt](labs/L2)
7. 虚拟化
[系统调用和 UNIX Shell](slides/13.slides)
| [C 标准库的实现](slides/14.slides)
| [随堂测验](Midterm)
| [阅读材料](notes/7)
8. 虚拟化
[A `fork()` in the road](slides/15.slides)
| [阅读材料](notes/8)
9. 虚拟化
[可执行文件](slides/16.slides) | [可执行文件的加载](slides/17.slides)
| [阅读材料](notes/9)
| [[M4] crepl](labs/M4)
10. 虚拟化
[xv6 代码导读](slides/18.slides) | [实现上下文切换](slides/19.slides)
| [阅读材料](notes/10)
| [[L3] uproc](labs/L3)
11. 虚拟化
[处理器调度](slides/20.slides)
| [操作系统设计](slides/21.slides)
| [阅读材料](notes/11)
12. [极限速通操作系统实验](slides/22.slides)
13. 持久化
[存储设备原理](slides/23.slides)
| [输入输出设备](slides/24.slides)
| [阅读材料](notes/12)
14. 持久化
[设备驱动程序](slides/25.slides)
| [文件系统 API](slides/26.slides)
| [阅读材料](notes/13)
15. 持久化
[FAT 和 UNIX 文件系统](slides/27.slides)
| [持久数据的可靠性](slides/28.slides)
| [阅读材料](notes/14)
| [[M5] frecov](labs/M5)
| [[L4] vfs](labs/L4)
16. 持久化
[xv6 文件系统实现](slides/29.slides)
| [现代存储系统](slides/30.slides)
| [阅读材料](notes/15)
17. [Android 系统](slides/31.slides)
| [课程总结](slides/32.slides)