USTC OSH 2026 课程主页¶
课程信息¶
- 上课时间:每周一 15:55-17:30 和 每周三 7:50-9:25
- 教室:3A110
- 讲师:邢凯
- 助教:罗嘉宏 (USTCLUG 邮箱,推荐使用前一个邮箱联系) 吕祖灿
- 考核方式:开卷笔试
公告¶
- 2026-02-26:欢迎来到 OSH 2026!新同学请在群中联系助教,提供GitHub用户名以加入 GitHub 组织 OSH-2026 来完成之后的作业提交。
- 2026-03-20:请在2026-03-29前完成问卷,以便助教收集作业。
- 2026-03-26:GitHub 提示:自 4 月 24 日起,除非您选择退出,否则我们将开始使用 GitHub Copilot 交互数据进行 AI 模型训练。请查阅此更新,并在您的 GitHub 账户设置中管理您的偏好设置。 请注意由此可能带来的数据安全问题。
AI 使用政策¶
- 允许使用大模型(包括 OpenRouter 路由的模型,如 MiniMax M2.5 等)。
- 允许使用 agent(如 OpenClaw 类工具),但必须遵循最小权限与可审计原则。
- 任何 AI 参与的关键改动应提供:测试/基准、trace 与 AI 过程日志。
- 若使用存在隐私争议/遥测风险的 IDE(如 Trae 相关争议报道所述),须在隔离环境中使用并禁止接触敏感仓库。
实验安排¶
实验安排¶
| 实验 | 发布时间 | 截止时间 |
|---|---|---|
| 实验零 | 2026-03-16 | 2026-03-30 (已经截止) |
| 实验一 | 2026-03-28 | 2026-04-13 (已经截止) |
| 实验二 | 2026-04-20 | 2026-05-04 |
| 实验三 | / | / |
| 实验四 | / | / |
注:所有同学拥有一次将实验截止日期延期一周的机会,请在相应实验原截止日期之前联系助教申请使用。上表中截止时间均包含当日,即若截止时间是“2026-03-30”,则作业的收取时间是 2026-03-31 0时。
实验内容¶
本学期的实验设计和之前几届的大致相同,但会结合前几届的经验和反馈进行调整和优化。实验的目的是让大家加深对操作系统诸概念和技术的理解。请大家务必认真完成实验,这是大家掌握操作系统重难点的绝佳机会。我们会在每个实验文档中尽可能给到精炼而有用的引导,帮助大家顺利完成实验。
- 每个实验的评分标准(包含 bonus 在内)以各个实验文档内的说明为准;
- 每个实验的提交截止时间以课程主页首页为准,如无特殊情况,迟交将会影响当次实验的最终成绩;
- 本学期各实验要求使用 C/C++/Rust 语言编写,不允许使用 Go 语言,具体要求将在后文详述;
- 本学期各实验的考察内容和技能要求如下,实验所考察的知识和课程进度同步,所需的编程技能可能需要靠自己掌握。
| 实验 | 主题 | 考察知识 | 所需技能 |
|---|---|---|---|
| 实验零 | 预备知识 | Git、Markdown、Makefile、C/C++/Rust(选择其一)、Linux | 阅读文档、搭建开发环境 |
| 实验一 | 裁剪 Linux 内核 | Linux 启动过程、内核的构建、内核模块 | make、makefile 基础 |
| 实验二 | 编写 Shell 程序 | fork 等 syscall、I/O 重定向、进程、中断 |
syscall 使用、中断处理 |
| 实验三 | 并发编程 | 多路复用、进程与线程 | 多线程、I/O 相关 syscall |
| 实验四 | 待更新 | 待更新 | 待更新 |
实验附加分¶
实验附加分:大模型驱动完成实验 + 提交文档与记录。 每个实验各占 20 分,每个实验最多加10%的分数。
- AI 过程日志(2%):prompt/response 摘要、关键决策点、失败与回滚
- 可验证性(4%):新增测试/基准;对比前后数据;能复现实验环境
- 可观测性(2%):至少一种 trace(eBPF/perf/ftrace)并解释关键事件
- 风险与安全(2%):对 prompt injection / 错误修复引入回归 的自检说明(含工具输出)
资源¶
教材:《操作系统概念》亚伯拉罕·西尔伯沙茨、彼得 B. 高尔文著 郑扣根译 机械工业出版社 201807
参考书:Operating Systems Design & Implementation A.S. Tanenbaun, etc. ISBN-10: 0136386776 Prentice Hall
Agent进阶使用参考(提升你的cursor效率):