操作系统
- 层级
- 本科生
- 状态
- 建设中
提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。
教学大纲
课程概览
操作系统课程把抽象概念和可运行内核实验放在一起:进程、线程、内存、文件系统、设备、中断、并发和虚拟化都通过实现与调试来学习。课程特别强调安全语境下的隔离、权限、资源控制和故障边界。
这是系统安全、虚拟化、取证和嵌入式安全的核心系统基础课。
先修要求
- 计算机组成、汇编语言和系统编程。
- 熟悉 C 或 Rust,能够使用调试器和命令行工具。
- 理解基本数据结构和并发问题。
学习目标
- 实现或修改关键 OS 子系统。
- 解释进程、虚拟内存、文件系统和设备抽象。
- 调试并发、内存和性能问题。
- 分析隔离、权限和资源控制机制的安全影响。
- 用实验报告清楚呈现设计、bug 和性能证据。
教学组织
- 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
- 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
- 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。
周计划
第 1 周
第 2 周
内核结构、启动和调试实验与评审
启动教学内核,完成调试环境和第一次系统调用。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 3 周
第 4 周
进程、线程和调度实验与评审
实现调度或同步相关实验。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 5 周
第 6 周
虚拟内存与地址空间实验与评审
完成页表、缺页或内存映射实验。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 7 周
第 8 周
并发、锁和死锁实验与评审
定位并修复一个内核并发 bug。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 9 周
第 10 周
文件系统与持久化实验与评审
实现文件系统功能并测试崩溃一致性。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 11 周
第 12 周
设备、中断和 I/O实验与评审
分析一个驱动路径的性能和故障模式。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 13 周
隔离、权限和容器基础
实验 namespace、cgroup 或 capability。
第 14 周
隔离、权限和容器基础实验与评审
实验 namespace、cgroup 或 capability。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
第 15 周
第 16 周
OS 设计复盘与安全边界实验与评审
提交最终内核实验、测试和设计文档。完成配套实验、记录问题,并在课堂评审中解释设计取舍。
考核方式
个人作业
25%概念题、阅读题、设计题和小型编程或实验任务。
实验与项目
40%内核实验、调试记录、测试和设计说明。
课堂参与与评审
10%参与讨论、演示、代码或论文评审,以及同伴反馈。
期末报告与答辩
25%提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。
课程项目
课程项目围绕一个教学内核或小型系统组件展开,要求实现一个明确子系统,并提供设计说明、测试、性能或安全分析。
课程政策
- 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
- 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
- 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。
参考课程
国际名校
- CambridgeOperating Systems
- CMU15-410: Operating System Design and Implementation
- ETH ZurichAdvanced Operating Systems
- Georgia TechCS 6200: Introduction to Operating Systems
- MIT6.1810 Operating System Engineering
- PrincetonCOS 318: Operating Systems
- StanfordCS140: Operating Systems
- UC BerkeleyCS 162: Operating Systems and System Programming
- University of WashingtonCSE 451: Introduction to Operating Systems
中国 985 高校
- 上海交通大学操作系统(SE315)
- 中国科学技术大学操作系统
- 北京大学操作系统原理
- 北京航空航天大学操作系统(OSome平台)
- 华中科技大学操作系统原理
- 南京大学操作系统:设计与实现
- 哈尔滨工业大学操作系统(李治军)
- 复旦大学操作系统(H)荣誉课程
- 浙江大学操作系统原理与实践
- 清华大学操作系统(含 rCore/uCore 实验)
- 西安交通大学操作系统原理