跳转至

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 参与的关键改动应提供:测试/基准traceAI 过程日志
  • 若使用存在隐私争议/遥测风险的 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效率):

  1. skills