55AA-004

操作系统

层级
本科生
状态
建设中

提示:本课程仍在持续设计和校准中,页面内容仅供参考,不代表最终教学版本。

教学大纲

课程概览

操作系统课程把抽象概念和可运行内核实验放在一起:进程、线程、内存、文件系统、设备、中断、并发和虚拟化都通过实现与调试来学习。课程特别强调安全语境下的隔离、权限、资源控制和故障边界。

这是系统安全、虚拟化、取证和嵌入式安全的核心系统基础课。

先修要求

  • 计算机组成、汇编语言和系统编程。
  • 熟悉 C 或 Rust,能够使用调试器和命令行工具。
  • 理解基本数据结构和并发问题。

学习目标

  • 实现或修改关键 OS 子系统。
  • 解释进程、虚拟内存、文件系统和设备抽象。
  • 调试并发、内存和性能问题。
  • 分析隔离、权限和资源控制机制的安全影响。
  • 用实验报告清楚呈现设计、bug 和性能证据。

教学组织

  • 每周 2 次课堂:一次讲授核心概念,一次用于实验、论文讨论或项目评审。
  • 课程按 16 周推进,每周都有可检查的作业、实验或项目里程碑。
  • 强调可复现材料:代码、配置、数据、实验日志和报告需要能被助教或同学复查。

周计划

第 1 周
第 2 周

内核结构、启动和调试实验与评审

启动教学内核,完成调试环境和第一次系统调用。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 4 周

进程、线程和调度实验与评审

实现调度或同步相关实验。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 6 周

虚拟内存与地址空间实验与评审

完成页表、缺页或内存映射实验。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 8 周

并发、锁和死锁实验与评审

定位并修复一个内核并发 bug。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 10 周

文件系统与持久化实验与评审

实现文件系统功能并测试崩溃一致性。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 12 周

设备、中断和 I/O实验与评审

分析一个驱动路径的性能和故障模式。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 14 周

隔离、权限和容器基础实验与评审

实验 namespace、cgroup 或 capability。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

第 16 周

OS 设计复盘与安全边界实验与评审

提交最终内核实验、测试和设计文档。完成配套实验、记录问题,并在课堂评审中解释设计取舍。

考核方式

个人作业

概念题、阅读题、设计题和小型编程或实验任务。

25%
实验与项目

内核实验、调试记录、测试和设计说明。

40%
课堂参与与评审

参与讨论、演示、代码或论文评审,以及同伴反馈。

10%
期末报告与答辩

提交可复现材料、技术报告和演示,说明方法、结果、限制与后续工作。

25%

课程项目

课程项目围绕一个教学内核或小型系统组件展开,要求实现一个明确子系统,并提供设计说明、测试、性能或安全分析。

课程政策

  • 允许使用 AI 工具,但所有生成代码、实验记录和设计建议必须经过学生本人审查,并在报告中说明使用方式。
  • 严禁提交不能解释的代码、证明、配置或实验结果;答辩时每名成员都需要解释自己负责部分的设计、测试和取舍。
  • 迟交会影响迭代评分,但课程更看重可复现、可审计和可维护的结果,而不是临时堆砌。

参考课程

中国 985 高校