操作系统:设计与实现 (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 文件系统
- 课程总结