操作系统:设计与实现 (2021 春季学期)
📢 通知
请大家自觉不要把自己的实验作业代码公开。如果你本着 “炫耀” 的态度公布,那你的代码很可能写得很烂不值得炫耀。公布代码会在很多层面上伤害使用你代码的学弟和学妹。
- 课程概述;教科书与参考资料;生存指南;AbstractMachine;视频回看
Hard Deadline: 2021 年 7 月 31 日 23:59:59。 毕业班同学:需要在考试周结束前完成 M1-M4, L0-L2,并依据此实验评分。
- 课时:每周一 14:00–16:00、周四 10:00–12:00;上课地点:仙 I-103
- 成绩:期末考试 (40%), 期中测验 (10%), 系统实验 [L] (25%), 编程实验 [M] (25%)
- 助教:欧先飞 (ouxianfei@smail.nju.edu.cn)
课程讲义
- 操作系统概述
| C 操作系统上的程序
| [M1] pstree | [L0] amgame
- 并发
多处理器编程:从入门到放弃
| C 操作系统也是程序
| [M2] libco
- 并发
阅读理解并发程序
| C Hacking Programs
- 并发
并发控制:互斥 (1)
| C 并发数据结构
| [L1] pmm
- 并发
并发控制:互斥 (2)
| C 操作系统中的自旋锁
- 并发
并发控制:同步
- 并发
并发编程模型
| C 与并发 Bugs 相处
- 虚拟化
进程抽象
| Fork 杂谈
| [M3] sperf | [L2] kmt
- 虚拟化
虚存抽象
| C xv6 中的进程
| [M4] crepl
闭卷随堂期中测验 (5.6 周四); 题型:简答 + 并发编程- 免修不免考的同学如不能到课,期末成绩以 50% 计入总评
- 虚拟化
C 可执行文件
| C 动态链接和加载
- 虚拟化
处理器调度
| C 终端、Shell 和 Hello World
- 持久化
1-Bit 的存储
| I/O 设备和驱动
- 持久化
文件系统 API
| 文件系统实现
| [M5] frecov | [L3] vfs
- 持久化
持久数据的可靠性
| C xv6 文件系统
- 课程总结