Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

操作系统教学交流和资源收集网站

阅读地址:https://oscourse-cn.github.io

仓库地址:https://github.com/oscourse-cn/oscourse-cn.github.io

宗旨

为方便高校计算机专业操作系统课的教学,操作系统课的老师们以开源方式维护本组织中的所有仓库;维护信息围绕操作系统课的教学展开,内容包括教学研讨会、操作系统比赛、开源项目,以及操作系统课教学中的教材、讲稿、实验和考试等素材。

网站维护者严格遵循知识产权规则,本网站仅收集公开信息。

教学研讨会(Teaching-Seminar)

操作系统教学研讨会(线下)

线上教学研讨(Online-Teaching-Discussion)

20260517-线上教学研讨:人工智能技术对操作系统课的影响

操作系统比赛

全国大学生操作系统比赛

全国研究生操作系统比赛

操作系统课教学素材

操作系统课教材

OSTEP

操作系统课讲稿

操作系统课教学实验

操作系统相关开源项目

开源毕设

设计文档

概述。

xx 操作系统设计

教学研讨会

Title

清华操作系统课 2026

2026秋季学期操作系统课索引

往年参考

课程相关信息

索引:本页面是操作系统课的入口链接,这里有所有与操作系统课相关的链接信息。

教学信息

(仅教师和助教可访问)

实验批改

实验和练习

基础实验

练习

综合实验

课程交流和答疑

课程讨论区

线下答疑:每周二上午操作系统课后(11:25开始)有老师和助教进行线下答疑。

往年的课程交流记录

Piazza的无登录访问链接:这里积累了2015年到2020年的操作系统课交流信息。同学在操作系统课学习过程遇到的多数问题都在这里出现过,并且有一些回答是十分精彩的。

2026秋季学期操作系统课程安排

今年的课程安排是参考去年操作系统课的课程安排的情况, 并进行一些适应性的调整后的结果。同学们可以通过去年的安排了解今年课程安排的大致情况,从而合理安排自己的学习时间表。

往年参考

课表

星期一星期二星期三星期四星期五星期六星期日
上午第1节(08:00-09:35)
第2节(09:50-12:15)30240243 三教3304;1-12周
下午第3节(13:30-15:05)
第4节(15:20-16:55)30240243 三教3304;1-12周

调课安排

课程安排

依据2026年秋季学期清华大学校历,在开学前对操作系统课的日程安排如下。这个安排在教学过程中有可能进行临时的微调。故这个日程仅供同学们参考。

周次时间(可能微调)教学安排课堂视频主讲教师课后练习和实验
第一周周二(20260915)1.1 课程概述 & 教学安排1.1向勇第1次课后练习
周五(20260918)1.2 什么是操作系统
1.3 操作系统历史演化
1.4 操作系统结构
1.5 实践:试试UNIX/Linux
1.2~1.5向勇第2次课后练习
周日(20250920):上09月25日(周五)的课2.1 实践与实验简要分析
2.2 Compiler与OS
2.3 硬件启动与软件启动
2.4 实践:裸机程序-LibOS
2.1~2.4向勇
第二周周二(20260922)3.1 从OS角度看计算机系统3.1向勇
周五(20260925)中秋节假期
第三周周二(20260929)3.2 从OS角度看RISC-V
3.3 实践:批处理操作系统
3.2~3.3向勇第3次课后练习
周五(20261002)国庆假期
第四周周二(20261006)国庆假期
周五(20261009)4.1 进程和进程模型
4.2 实践:多道程序与分时多任务操作系统
4.1~4.2向勇
第五周周二(20261013)5.1 地址空间
5.2 内存分配
5.1~5.2向勇
周五(20261016)5.3 实践:建立地址空间的OS5.3向勇
第六周周二(20261020)6.1 虚拟存储概念
6.2 局部页面置换算法
6.1~6.2向勇
周五(20261023)6.3 全局页面置换算法
7.1 进程管理(1)
6.3~7.1向勇
第七周周二(20261027)7.1 进程管理(2)
7.2 单处理器调度
ch1口试
7.1~7.2向勇
周五(20261030)7.3 实时调度
7.4 实践:支持进程的操作系统
8.1 对称多处理与多核架构
8.2 多处理器调度概述
7.3~8.2向勇
第八周周二(20261103)8.3 Linux O(1) 调度
8.4 Linux CFS 调度
8.3~8.4向勇
周五(20261106)
第九周周二(20261110)
周五(20261113)
第十周周二(20261117)
周五(20261120)
第十一周周二(20261124)
周五(20261127)
第十二周周二(20261201)
周五(20261204)
第十三周周二(20261208)
周五(20261211)

2026秋季学期操作系统课后练习

往年参考

第4次课后练习(第八周周五)

填写综合实验选题意向表“选题协商-2026年秋季操作系统课综合实验”。

综合实验实验目标

操作系统课的综合实验(实验六)要求同学从下面列表中选择一个操作系统内核组件,对组件功能进行分析、复现、测试和改进。

综合实验过程要求

  1. 11月12号前在“选题协商-2026年秋季操作系统课综合实验”中填写自己的选题意向;

  2. 11月13号前主动联络老师,在课后当面协商确认自己的选题内容、目标和思路;

    • 要求每位同学选择的组件是不同的;如果你想选择的同学选择了,你只能调整自己的选择;
  3. 在github上复制内核组件仓库,按课程要求在自己的代码仓库中维护完整的开发过程,并在实验截止时间前提交综合实验的代码和实验报告;

  4. 在雨课堂中提交自己的代码仓库链接和Commit ID;

  5. 在收到同学雨课堂中提交的实验完成信息后,老师和助教将安排基于抽查的口试;

    • 前五个实验中“独立实现”的独立性较低的同学将高概率被抽查;

    • 提前完成综合实验的同学可以选择主动联络老师,要求优先进行口试;

第3次课后练习(第三周周二)

第1题

2026年秋季学期操作系统课实验题目问卷

访问密码:

S6G^vfsJ3ibV

本学期所有实验任务(第三周周二)

实验任务描述和参考实现仓库

实验任务参考实现的分析工具和报告仓库

uCore实验任务列表:

rCore实验任务列表:

实验提交要求

  • 在课程注册时自动创建实验仓库中提交完整的代码、文档和实验过程记录;
  • 在荷塘雨课中提交实验一报告链接和commit ID;
  • 实验截止时间:由于每个同学的实验选择不同,同学们需自主安排自己的实验进展,并在约定的时间内提交实验结果;
    • 实验一:第4周周日晚23点59分(2026年10月11日);
    • 实验二:第6周周日晚23点59分(2026年10月25日);
    • 实验三:第8周周日晚23点59分(2026年11月08日);
    • 实验四:第10周周日晚23点59分(2026年11月22日);
    • 实验五:第12周周日晚23点59分(2026年12月06日);
    • 综合实验:第14周周日晚23点59分(2026年12月20日);

参考资料

Github上实验仓库:

第2次课后练习(第一周周五)

第1题

熟练使用开发环境是顺利和高效完成操作系统课实验的必要条件。请从互联网搜索你需要的信息,以逐渐熟练使用qemu、shell、vim(也可以是其他你喜欢的代码编辑工具)和git等工具。然后回答如下问题。

  1. 简要介绍一个模拟器工具,并查找相关的配置使用帮助;
  2. 简要介绍一个命令行工具,并查找相关的配置使用帮助;
  3. 简要介绍一个代码编辑工具,并查找相关的配置使用帮助;
  4. 简要介绍一个代码版本维护工具,并查找相关的配置使用帮助;

往年的优秀回答

第2题

下面是一组使用系统调用服务的应用程序。请尝试运行和分析其中的一个你有兴趣小例子的执行过程,利用Linux系统中的strace工具来确定该应用程序在执行时调用了哪些系统调用。

第1次课后练习(第一周周二)

第1题

填写选课问卷,然后回答是否已提交。

2026秋季学期操作系统课程通知

往年参考

注:这里维护操作系统课通知信息。这里发布的通知会在第一时间转发到荷塘雨课堂和课程微信群OS2025A-students,并在此维护后续的信息更新。

20261109-操作系统课实验“第三章:任务管理”口试通知

请实验内容选择“ch3:任务管理”,且难度选择为“独立实现”的同学在周二(10号)上午11点到三教3304教室参加口试。

20261102-操作系统课实验“第二章:用户态系统调用与异常处理”口试通知

请实验内容选择“ch2:用户态系统调用与异常处理”,且难度选择为“独立实现”的同学在周二(3号)上午11点到三教3304教室参加口试。

20261026-操作系统课实验“第一章:应用程序与基本执行环境”口试通知

实验提交统计

  • 操作系统课的选课人数:26人
  • 在雨课堂提交实验一结果的人数:23人
  • 实验一内容选择为“第一章:应用程序与基本执行环境”,且难度选择为“独立实现”的人数:6人

口试安排

  • 请没有在雨课堂提交实验一结果的同学在周二(27号)上午11点到三教3304教室,找任课老师当面交流。
  • 请已在雨课堂提交实验一结果,实验一内容选择为“第一章:应用程序与基本执行环境”,且难度选择为“独立实现”的同学在周二(27号)上午11点到三教3304教室参加口试。

20261022-操作系统课实验口试安排

口试目标

口试目标是确保大多数同学完成的实验是完全手搓或在AI辅助下完成的,而不是委托AI生成代码的代码和文档,并能解释实验完成过程,以及提交的代码和文档。

当大多数同学的实验是手搓或AI辅助完成时,口试将减少抽查概率。

实验中AI编程工具使用和过程评价约定(20261108更新)

  1. 实验完成人对提交的代码和文档担责;
    • 能够解释实验的设计和实现思路;
  2. 实验提交文档中必须包括完整的开发过程记录;
    • 记录内容至少包括,集成开发环境和AI交互等开发工具操作记录;
    • 反映实验中代码和文档修改过程的多次提交记录;
  3. “独立实现”实验的实验报告中需包括单独章节描述实验过程和遇到问题;

口试时间

依据每位同学的实验选择和难度选择,从第七周开始,每周二上午11点开始陆续以随机抽查方式安排已完成实验的现场口试。

  • 在学校规则允许范围内,口试不接受请假或时间调整要求;
  • 口试时长会因同学人数和实验难度而有所调整。

口试内容范围

所有已提交报告且未进行过口试的实验,其中至少包括一个“独立实现”实验。

口试地点

三教3304教室

口试前准备

每位同学需携带自己完成实验时所使用的带有完整开发环境的笔记本电脑。

口试流程(20261102更新)

  1. 现场公布本次口试名单和顺序。
  2. 现场演示实验过程。
  3. 依据已提交的代码和报告,描述实验完成过程。
  4. 给出关于“独立实现”的自我评价:(1)基于参考实现进行修改、(2)完全委托AI完成、(3)指挥AI完成、(4)AI辅助完成和(5)完全人工完成。
  5. 回答老师和助教的现场提问。

20261012-操作系统课实验一提交情况通报

操作系统课的实验一的截止时间已过。现向大家通报一下实验报告的提交情况如下。

  • 操作系统课的选课人数:31人
  • 已通过“2026年秋季学期操作系统课实验题目问卷”反馈实验内容选择的人数:21人
  • 已在荷塘雨课堂提交实验一报告链接的人数:13人

为督促选课同学及时投入精力完成操作系统课的学习任务,请没有提交实验报告的同学于周二(10月13日)操作系统课后主动找主讲老师当前交流操作系统课学习情况。

20260914-学堂在线的开课通知

各位同学:

大家好!

操作系统是计算机系统中重要的系统软件,负责计算机系统的软硬件资源的管理,并向应用软件的运行环境服务。在这门课程里,你将学到操作系统管理系统的资源的基本原理和实现方法。

在同学们的未来职业生涯中,虽然只有少数同学会直接从事操作系统的研发工作,但所有计算机应用软件开发都离不开操作系统提供的服务,了解操作系统的基本原理,有利于高效地使用操作系统服务来实现应用软件的功能。因此,操作系统成为计算机专业的专业基础课,也是从事计算机相关领域工作人员需要了解和掌握的知识。

操作系统课的内容更新还是比较快的,为了让在线学习者可以与清华的同学尽可能同步,我们会开放尽可能多的资源给在线学习者,希望继续为有兴趣学习操作系统课又不能来教室的在线学习者,提供可能的帮助。为了提高在线学习者的完成率,在第一讲会发布一个选课问卷,希望有兴趣在一学期中投入较多时间来学操作系统课的来一起互助学习。老师学习如何教好操作系统,在线学习者学习如何有效地学习操作系统知识。

对于申请学堂在线“操作系统(RISC-V)”和“操作系统课”(自主模式)课程证书的同学,可依据自己的学习目标和时间安排来灵活安排自己的学习时间和进展。为了达成较好的学习效果,我们建议尽可能跟随2026秋季学期的12周课程进度来安排自己的进度,从而增进同学和老师间的交流,起到结伴学习的相互促进效果。

希望能为同学们提供方便的练习和实验环境。

本课程于2026年9月15日开始。期待在学堂在线的操作系统课程见到你!

后续信息更新见本页面。

向勇、陈渝

20260910-荷塘雨课堂和腾讯会议预约信息

课程:操作系统 班级:2026秋-操作系统-0

周二上午第2节

  • 时间:每周周二 09:50
  • 加入班级或开始上课: https://ykt.io/ht/4CFEB00E
  • 腾讯会议号:42347734671
  • 腾讯会议链接:https://meeting.tencent.com/dm/8YfhONJnTsoY

周五下午第4节

  • 时间:每周周五 15:20
  • 加入班级或开始上课: https://ykt.io/ht/D17C767C
  • 腾讯会议号:32527131352
  • 腾讯会议链接:https://meeting.tencent.com/dm/yvAQ6LwbXnkM

20260903-荷塘雨课堂的操作系统课开课通知

各位同学:

大家好!

操作系统是计算机系统中重要的系统软件,负责计算机系统的软硬件资源的管理,并向应用软件的运行环境服务。在这门课程里,你将学到操作系统管理系统的资源的基本原理和实现方法。

在同学们的未来职业生涯中,虽然只有少数同学会直接从事操作系统的研发工作,但所有计算机应用软件开发都离不开操作系统提供的服务,了解操作系统的基本原理,有利于高效地使用操作系统服务来实现应用软件的功能。在AI编程盛行的今天,对操作系统基本原理的深入理解有可能成为你职业生涯的重要基础知识。因此,操作系统成为计算机专业的专业基础课,也是从事计算机相关领域工作人员需要了解和掌握的知识。

对于申请清华大学学分的同学,需要全程参与线下或线上的课堂教学环节,按时完成课程实验。

  • 操作系统课的荷塘雨课堂邀请码:VYM8KF

本课程于2026年9月15日开始。期待在操作系统课程见到你!

后续信息更新见本页面。

向勇、陈渝

2025秋季学期操作系统课实验帮助信息

参考:

实验代码仓库

编程工具的使用帮助

计算机教育中缺失的一课:精通这些工具不仅可以帮助您更快的使用工具完成任务,并且可以帮助您解决在之前看来似乎无比复杂的问题。

操作系统课教学实验讲解视频

教学实验讲解视频的下载链接:

1. ucore的五个实验的讲解
2. rcore的五个实验的讲解
3. ucore第五章的讲解

米明恒:rCore tutorial 实验入门指导文字版本讲义

VScode调试插件

支持uCore和rCore内核源代码调试的VScode调试插件工具code-debug使用帮助

课程幻灯片列表

2026秋季学期操作系统课程幻灯片列表

往年参考

第一讲 操作系统概述

第一节 课程概述 & 教学安排

第二节 什么是操作系统

第三节 操作系统历史演化

第四节 操作系统结构

第五节 实践:试试UNIX/Linux

第二讲 实验介绍

第一节 实践与实验简要分析

第二节 Compiler与OS

第三节 硬件启动与软件启动

第四节 实践:裸机程序-LibOS

第三讲 基于特权级的隔离与批处理

第一节 从OS角度看计算机系统

第二节 从OS角度看RISC-V

第三节 实践:批处理操作系统

第四讲 多道程序与分时多任务

第一节 进程和进程模型

第二节 实践:多道程序与分时多任务操作系统

第五讲 物理内存管理

第一节 地址空间

第二节 内存分配

第三节 实践:建立地址空间的OS

第六讲 虚拟存储管理

第一节 虚拟存储概念

第二节 局部页面置换算法

第三节 全局页面置换算法

第七讲 进程管理与单处理器调度

第一节 进程管理

第二节 单处理器调度

第三节 实时调度

第四节 实践:支持进程的操作系统

第八讲 多处理器调度

第一节 对称多处理与多核架构

第二节 多处理器调度概述

第三节 Linux O(1) 调度

第四节 Linux CFS 调度

第五节 Linux/FreeBSD BFS 调度

第九讲 文件系统

第一节 文件和文件系统

第二节 文件系统的设计与实现

第三节 支持崩溃一致性的文件系统

第四节 支持文件的操作系统

第十讲 进程间通信

第一节 进程间通信(IPC)概述

第二节 支持IPC的OS

第十一讲 线程与协程

第一节 线程

第二节 协程(Coroutine)

第三节 支持线程/协程的OS(TCOS)

第四讲 关于任务模型的思考(选讲)

第十二讲 同步互斥

第一节 概述

第二节 信号量

第三节 管程与条件变量

第四节 同步互斥实例问题

第五节 死锁

第六节 支持同步互斥的OS(SMOS)

第十三讲 I/O设备管理

第一节 设备接口

第二节 磁盘子系统

第三节 支持device的OS(DOS)

操作系统课所有幻灯片的汇总

https://learningos.github.io/os-lectures-mdbook/:这个页面上的幻灯片格式并不是很美观,但把所有幻灯片都集中到一个页面上。

2025秋季学期操作系统专题训练课索引

参考:

课程相关信息

教学管理

  • 助教工作:只有老师和助教可以访问该文档;

课程交流和答疑

[课程讨论区] (仅选课同学可以访问)

2025秋季学期操作系统专题训练课程安排

参考:

课表

星期一星期二星期三星期四星期五星期六星期日
上 午第1节(08:00-09:35)操作系统专题训练 30240402 三教1304;前八周
第2节(09:50-12:15)操作系统专题训练 30240402 三教1304;前八周
下午第3节(13:30-15:05)
****第4节(15:20-16:55)

课程安排

依据2026年秋季学期清华大学校历,在开学前对专题训练课的日程安排如下。这个安排在教学过程中有可能进行临时的微调。故这个日程仅供同学们参考。

周次时间(可能微调)幻灯片主讲教师课堂视频课后练习
第一周周一(20260914)第一讲 课程介绍向勇课堂视频第1次课后练习
周四(20260917)选题协商向勇、选课同学课堂视频第2次课后练习
第二周周一(20260921)2.1 组件化内核开发实践向勇课堂视频
周四(20260924)2.2 Linux 内核中的宏与代码复用
2.3 Rust-for-Linux 中的宏与代码复用
2.4 基于 Rust 的组件化内核
向勇课堂视频
第三周周一(20260928)信息工程大学 朱雨:量超/量智融合计算系统QCFlow
信息工程大学 周鑫:经典量子融合操作系统内核XoS-QC
许瑾晨、朱雨、周鑫课堂视频
周四(20261001)国庆假期
第四周周一(20261005)国庆假期
周四(20261008)2.5 Unikernel向勇课堂视频第3次课后练习
第五周周一(20261012)第三讲: 并发与任务模型(1)
中期报告
1. 相恒硕:基于starry的机器人应用
2. 吴昊:axpoll 内核组件:复现、测试与性能优化
3. 周博宽:AxVisor 中 axebpf 模块的架构分析与功能验证
4. 李悠然:基于 ArceOS 的轻量级高性能防火墙 (axfirewall) 中期进展报告
向勇、相恒硕、吴昊、周博宽、李悠然课堂视频
周四(20261015)第三讲: 并发与任务模型(2)向勇课堂视频
第六周周一(20261019)洪世金: StarryOS 的 perf 支持
赵普明: Auto/Rust 生态融合
洪世金、赵普明课堂视频
周四(20261022)第三讲: 并发与任务模型(3)向勇课堂视频
第七周周一(20261026)第四讲:更新同步机制RCU(1)向勇课堂视频
周四(20261029)第四讲:更新同步机制RCU(2)向勇课堂视频
第八周周一(20261102)Xenomai 3 Cobalt 的 C 与 Rust 实现对比:内核机制、实时性能与可靠性王广锋课堂视频
周四(20261105)Lecture 5: printk() - The most useful tool向勇课堂视频
第九周周一(20261109)最终报告[课堂视频]
第十六周

2026秋季学期操作系统专题训练课程通知

参考:

20260926-友情提示:“选题协商”安排

友情提示:请还没有完成“选题协商”的选课同学在28号(周一)课后与老师当面交流。如果不能来教室,请事先联络老师,并约定当面交流的时间。

20260913-操作系统专题训练课开课通知

各位同学:

大家好!

操作系统是计算机系统中重要的系统软件,负责计算机系统的软硬件资源的管理,并向应用软件的运行环境服务。在这门课程里,你将基于真实的开源操作系统项目实践来学习和运用操作系统内核开发和监测工具、熟悉开源项目的开发流程,并综合运用操作系统的基本原理和实现方法来推进一个开源操作系统项目。

对于申请清华大学学分的同学,需要全程参与线下或线上的课堂教学环节,按时完成课程实验,并参加期中报告和最终报告。顺利完成所有教学环节的同学,将获得清华大学的课程学分。

在这学期的操作系统专题训练课上,我们也将继续结合课程教学继续举办“开源操作系统社区”活动。现邀请全程参加“2025全国大学生计算机系统能力大赛操作系统设计赛”并继续对操作系统在兴趣的同学通过慕课方式参与开源操作系统社区项目推进,为后续可能的开源毕设做准备。请有兴趣的同学通过填写第一次课上的“选课问卷(访问密码:3ry^U9Ad1sKr)”报名参加。

本课程于2026年9月14日开始。期待在操作系统专题训练课程见到你!

后续信息更新会第一时间在本页面公布。

向勇

20260910-操作系统专题训练课的荷塘雨课堂和腾讯会议预约信息

第1-8周星期一第2节,三教1304;第1-8周星期四第1节,三教1304

课程:操作系统专题训练 班级:2026秋-操作系统专题训练-0

周一上午第2节

  • 时间:每周周一 09:50
  • 加入班级或开始上课: https://ykt.io/ht/31F29ABC
  • 腾讯会议号:83790600570
  • 腾讯会议链接:https://meeting.tencent.com/dm/EjrbaVu5Hg5V

周四上午第1节

  • 时间:每周周四 08:00
  • 加入班级或开始上课: https://ykt.io/ht/0967659D
  • 腾讯会议号:98792589672
  • 腾讯会议链接:https://meeting.tencent.com/dm/ZpRvcW8EjCT2

2026秋季学期操作系统专题训练课后练习

参考:

关于课后练习完成要求的说明

  1. 课后练习是供有兴趣的同学在课后进行主动练习时的一类练习题目。
  2. 通常这些课后练习是比较开放和存在多种回答的,通常没有唯一的正确答案。

第3次课后练习(第四周周四)

请参加第五周周一(20261012)的操作系统专题训练课中期报告的同学在雨课堂回复自己的报告题目、markdown格式中期报告链接、幻灯片链接、周报列表链接信息。要求在周六(20261010)前完成回复。报告前同学都可以持续修改自己的文档。

友情提示:请选了操作系统专题训练课但不参加中期报告的同学,及时退课,以免给自己带来不必要的麻烦。

第2次课后练习(第一周周四)

请在github上创建一个公开的仓库,用于维护自己的操作系统专题训练课实验代码、文档和开发过程;然后在仓库中提交专题训练课的实验目标描述文档。完成上述操作后,请将仓库地址和commit ID信息到雨课堂。

  • 开发过程自动记录和提交的部署帮助:在代码仓库中部署该脚本后,IDE开发环境会在做实验过程中记录代码阅读、编辑、编译运行等操作,特别是与AI编程工具交互信息,并自动提交到代码仓库中。
  • 创建仓库后,课程要求每周一上课前至少提交一次代码和开发日志,以记录和证明自己的学习过程。

第1次课后练习(第一周周一)

第1题

2026秋季操作系统专题训练课选课问卷

访问密码: 3ry^U9Ad1sKr

第2题

请在石墨文档“选题协商”中填写自己的选题意向。选题意向相似或相关的同学间,可主动相互沟通,以形成可能的合作。下一次课上时通过交流和讨论的方式,修改、细化和明确成预期可在8周内完成的目标描述。

选题意向的建议格式如下。

  • 题目:示例
  • 组员名单:张三、李四、王五
  • 目标描述

最终报告

  • 时间:2026 年 11 月 09 日上午第二大节(9:50开始)
  • 地点:三教1304教室
  • 腾讯会议号:83790600570

相恒硕:基于 Starry 的机器人应用

仓库链接: https://github.com/RaSO4/OS_training_thu

吴昊:axpoll 内核组件:复现、缺陷修复与性能优化

实验仓库:https://github.com/haofanxingchen/-1.git;ppt:吴昊 结题汇报.pptx;报告:实验报告.md

李悠然:axfirewall高性能防火墙

仓库链接:https://github.com/AnonTokyo17/axfirewall

周博宽:AxVisor 中 eBPF 探针上下文统一与三层关联追踪

仓库:https://github.com/P31pr/axebpf

幻灯片:https://docs.qq.com/slide/DSVNESk1yWmRFdmxU

报告:docs/final-report.md

开源操作系统社区活动

索引(本文档、编辑链接):这里所有开源操作系统社区活动的列表。

开源操作系统社区学术报告

20261102-开源操作系统社区技术报告:Xenomai 3 Cobalt 的 C 与 Rust 实现对比

20261019-开源操作系统社区技术报告:基于Rust的内核与应用开发

20261004-2026年春季开源操作系统训练营实习总结报告:内核组件设计和改进

20260928-开源操作系统社区技术报告:量子计算与超级计算的融合计算系统

20260905-开源操作系统社区技术报告:组件化嵌入式和微内核操作系统

20260617-第八期“网安泉城”讲座:组件化嵌入式操作系统

20260419-开源操作系统训练营实习总结报告:内核组件设计和改进

20260124-开源操作系统毕设技术报告:基于语言机制的内核模块隔离研究

2025年

20251004-开源操作系统训练营技术报告:静态分析和内核组件

20250913-开源操作系统毕设和训练营技术报告:异步操作系统

20250912-2025年开源毕设结果汇总

20250912-开源毕设征集

2024年

20241110-开源操作系统毕设和训练营技术报告:异步操作系统

20241025-学术报告:内核组件和用户态中断

20241011-学术报告:面向现场计算的泛在操作系统探索

20240913-组件化内核学术报告

2024年开源毕设结果汇总

20240617-开源毕设征集

20240601-异步操作系统学术报告

2023年

20230830-2023年开源毕设结果汇总

20231008-开源毕设题目和参与同学征集

20230701-开源毕设技术分享

20230616-开源毕设技术分享

2022年

20221113-开源操作系统社区技术分享

20220830-2022年开源毕设结果汇总

20221007-2022年秋季学期操作系统课和操作系统专题训练课的开源项目

20220922-魏永明-HVML从设计到实现

20220910-2022年开源操作系统训练营最终报告会

20261102-开源操作系统社区技术报告:Xenomai 3 Cobalt 的 C 与 Rust 实现对比

作为2026年开源操作系统社区和清华大学计算机系操作系统专题训练课的一次技术报告,我们邀请到奈联科技公司的王广锋在星期一(02号)上午9:50在清华大学三教1304教室和线上分享他们在Xenomai中国社区开展的双内核研发和推广工作。欢迎有兴趣的人员转发并参加。

详见: https://oscourse-cn.github.io/os2events/2026/1102.html

奈联科技 王广锋:Xenomai 3 Cobalt 的 C 与 Rust 实现对比:内核机制、实时性能与可靠性

报告人

王广锋 Xenomai中国社区负责人,长期从事嵌入式系统、实时操作系统与工业控制相关技术研究及工程实践,重点关注Linux与实时内核协同、实时系统可靠性,以及人工智能与确定性实时控制的融合。围绕Xenomai、Dovetail、实时驱动及机器人控制链路开展技术探索,持续推动Xenomai中国社区建设、国际技术交流与产业应用。

报告内容

Xenomai 3 Cobalt 用 Rust 实现后,相较现有 C 实现,内核内部会发生哪些变化?这些变化如何影响调度、中断响应、资源管理和应用兼容性?本报告将以Xenomai 3 Cobalt现有C实现为基准,探讨采用Rust实现时的设计取舍,在保持双内核架构和实时服务语义一致的前提下,分析其对实时执行路径、应用兼容性及工程验证的影响。围绕线程与调度、定时器、同步对象和RTDM接口等关键部分展开,比较两种实现的异同;在运行时方面,分析两种实现中关键执行路径的差别,讨论这些因素对中断响应、线程唤醒、上下文切换和尾部延迟的影响;结合Cobalt与Linux、Dovetail的交互机制,分析实现语言变化与实时架构之间的关系,以及保持现有应用和驱动兼容所需满足的条件。最后围绕一个问题展开讨论:相较成熟的C实现,其收益、复杂度与验证成本应如何评价。

腾讯会议信息

  • 会议主题:开源操作系统技术报告
  • 会议时间:2026/11/02 09:50-11:50 (GMT+08:00) 中国标准时间 - 北京
  • 入会链接: https://meeting.tencent.com/dm/EjrbaVu5Hg5V
  • #腾讯会议:837-9060-0570

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

报告幻灯片

报告视频

更多技术报告信息见“开源操作系统社区学术报告”。

20261019-开源操作系统社区技术报告:基于Rust的内核与应用开发

作为2026年开源操作系统社区和清华大学计算机系操作系统专题训练课的一次技术报告,我们邀请到洪世金和赵普明两位讲者在星期一(19号)上午9:50在清华大学三教1304教室和线上分享他们用Rust开发应用和内核的成果和心得。欢迎有兴趣的人员转发并参加。

详见: https://oscourse-cn.github.io/os2events/2026/1019.html

腾讯会议信息

  • 会议主题:开源操作系统技术报告
  • 会议时间:2026/10/19 09:50-11:50 (GMT+08:00) 中国标准时间 - 北京
  • 入会链接: https://meeting.tencent.com/dm/EjrbaVu5Hg5V
  • #腾讯会议:837-9060-0570

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

清华大学 洪世金: StarryOS 的 perf 支持

报告内容

perf 是 Linux 中常用的性能分析工具,可以统计 CPU 周期、指令数量等信息,并通过采样帮助开发者查找程序中耗时较多的函数。支持这些功能,需要内核配合完成线程调度、硬件计数、中断处理以及用户态与内核态之间的数据传递。

本报告介绍 StarryOS 中 perf 支持的设计与实现。报告以一个数组访问程序为例,通过 Linux 上的测量结果说明 perf 的基本工作原理,随后结合代码,介绍一次测量请求在内核中的处理过程:如何通过 perf_event_open 创建事件,在线程切换时保存计数,并在硬件计数器不足时轮流测量多个事件;如何利用 ARM 性能监测单元(PMU)的溢出中断取得程序执行位置,生成采样记录,再通过共享内存和环形缓冲区供用户态程序读取;以及如何在一次采样中读取同一事件组内的多个计数值,保证中断访问期间相关对象仍然有效。报告还将结合 RK3588 上的测试,分析开发过程中遇到的接口常量错误、共享内存映射属性不一致、对象释放后仍被访问等问题,介绍排查思路、修改依据和测试方法。通过这些具体问题,将操作系统课程中的调度、中断、虚拟内存和同步知识与内核代码联系起来,帮助学生理解如何在已有内核中增加功能、分析故障并检查实现是否正确。

报告幻灯片

惠州市索维软件有限公司 赵普明: Auto/Rust 生态融合

报告内容

从 Auto 语言的演进及其融入 Rust 生态的历程讲起,介绍 AutoOS 的桌面应用与发行版路线、AutoUI 的跨平台界面开发,以及 Auto 与 Rust 的语言互操作。重点讲解 AutoVM 解释执行与转译 Rust 发布相结合的开发方式,探讨如何兼顾开发效率、运行性能与安全性。

报告幻灯片

报告视频

更多技术报告信息见“开源操作系统社区学术报告”。

20261004-开源操作系统训练营线上实习总结报告:内核组件设计和改进

作为开源操作系统训练营的部分,在泉城实验室的支持下,我们组织已完成开源操作系统训练营全过程的部分学员进行了一次为期三个月的线上实习活动,实习内容是“围绕组件化开源操作系统开发,进行内核组件设计与改进”。作为此次实习工作的最后一个环节,我们邀请所有参加实习的同学在在星期日(04号)下午2:00来分享他们的实习工作成果。欢迎有兴趣的人员转发并参加。

详见: https://oscourse-cn.github.io/os2events/2026/1004.html

时间

  • 会议时间:2026/10/04(周日) 14:00-16:00 (GMT+08:00) 中国标准时间 - 北京

腾讯会议信息

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

报告安排

王政雄:星光 2 平台 SD 存储链路的异步化改造

刘卫:starryos的串口、有线网卡的异步化

周宇聪:在 StarryOS 上实现虚拟化 GPU 3D 加速

刘柯:StarryOS WiFi 优化和网络栈 eBPF 可观测能力

程柯雷:浏览器等程序为导向的StarryOS完善与多系统系统调用支持与解耦

报告视频

更多技术报告信息见“开源操作系统社区学术报告”。

20260928-开源操作系统社区技术报告:量子计算与超级计算的融合计算系统

作为2026年开源操作系统社区和清华大学计算机系操作系统专题训练课的一次技术报告,我们邀请到信息工程大学的许瑾晨、周鑫、朱雨三位老师在星期一(28号)上午9:50在清华大学三教1304教室和线上分享他们在量子计算与超级计算的融合计算系统方面的成果。欢迎有兴趣的人员转发并参加。

详见: https://oscourse-cn.github.io/os2events/2026/0928.html

信息工程大学 许瑾晨、周鑫、朱雨:量超/量智融合计算系统软件QCFlow

腾讯会议信息

  • 会议主题:开源操作系统技术报告
  • 会议时间:2026/09/28 09:50-11:50 (GMT+08:00) 中国标准时间 - 北京
  • 入会链接: https://meeting.tencent.com/dm/EjrbaVu5Hg5V
  • #腾讯会议:837-9060-0570

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

报告人

信息工程大学量子计算软件团队许瑾晨、周鑫、朱雨。团队长期从事高性能计算、量子计算、经典—量子融合计算及量子软件系统研究,围绕量子计算软件栈关键技术开展系统攻关,承担国家重点研发计划等多项国家及军队级科研任务,形成了量子编译器、异构融合操作系统及云平台等系列软件成果。团队研发的开源量子编译器QLLVM、超融合操作系统及云平台XoS-QC等成果已开展应用验证。本报告将围绕量超/量智融合计算系统软件QCFlow,介绍量子计算与经典计算深度融合的软件体系及关键技术探索。

报告内容

随着量子计算技术逐渐进入实用化探索阶段,量子计算与超级计算的融合成为未来计算体系发展的重要方向。如何实现经典算力与量子算力的协同管理,需要突破编程编译、任务调度、资源管理等系统软件关键技术。本报告围绕超算—量子融合计算的软件栈QCFlow展开,重点依托开源编译器QLLVM探讨量子应用的编程和编译,依托异构融合操作系统XoS-QC及云平台,探讨如何通过统一的软件抽象、智能调度和资源池化技术,实现 CPU、GPU、QPU 等多种计算资源的协同运行,推动量子计算与经典计算的深度融合。

报告幻灯片

报告视频

更多技术报告信息见“开源操作系统社区学术报告”。

20260905-开源操作系统社区技术报告:组件化嵌入式和微内核操作系统

作为2026年开源操作系统社区的一次技术报告,我们邀请到两位同学在星期六(5号)下午3:00来分享他们在开源操作系统实习和硕士学位论文工作中的成果。欢迎有兴趣的人员转发并参加。

详见: https://oscourse-cn.github.io/os2events/2026/0905.html

时间

  • 会议时间:2026/09/05 15:00-16:00 (GMT+08:00) 中国标准时间 - 北京

腾讯会议信息

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

上饶师范学院 郑昱可:面向异构多核 SoC 的 AMP 双内核系统 rt-async-amp

报告内容

由于面向吞吐与通用性的设计取向,Linux 等通用操作系统难以提供实时任务所需的确定性;在异构多核 SoC 日益普及的背景下,实时补丁侵入性强、hypervisor 方案开销大,既有方案难以在保留通用软件生态的同时满足实时性需求。本报告介绍 rt-async-amp,一个面向异构多核 SoC 的 AMP 双内核系统:通用大核(AP)运行 Linux 兼容内核(StarryOS),实时小核(RP)运行自研的 Rust async RTOS(rt-async),两核经共享内存与硬件邮箱或核间中断协作。系统以进迭时空 K3 SoC 的 RT24 实时小核(CVA6/RV64GC)为目标平台,同时维护 QEMU 仿真验证路径。本系统有几个关键设计:首先,基于系统分解思想,将实时域从通用内核中剥离到独立小核,AP 侧通用内核基本保持原状;实时侧 RTOS 全部以 Rust 编写,无标准库依赖、无动态内存分配,以语言级类型安全与内存安全为基座,板级驱动经设备树运行时探测实例化,引脚复用与时钟使能在驱动 probe 前自动完成。其次,设计了覆盖内核态与用户态的跨核通信栈:共享内存通道库与跨核 RPC 提供双端对齐的传输与调用语义,共享内存窗口经双端设备树探测认领,用户态经mmap系统提供的设备文件,能在用户态实现零中断开销的双向通信;最后,构建工具链与设备树宏编译链配合环境配置文件统一了 QEMU 仿真与 K3 真板两者,并通过实际的机器人控制应用验证了系统的端到端可用性。

报告幻灯片

报告幻灯片

清华大学 朱懿:兼容Linux应用的Rust微内核的设计与实现

报告内容

微内核架构虽能提升系统安全性与可靠性,但其发展面临两大核心挑战:其一,现有成熟微内核(如 seL4)的单体式架构导致系统高度耦合,难以演进与维护;其二,用户态系统服务的内存安全无法得到与内核同等级的保障。

本报告介绍了基于seL4的Rust微内核reL4的基本机制和实现设计,介绍了其系统性的组件化的工作,如何将reL4构建成为一个由多个界限清晰的独立组件构成的Rust微内核,以及基于其组件化的解耦工作,如何扩展实现smp和mcs等内核功能。同时,本报告也介绍了如何基于我们构建的组件化reL4微内核,实现了一个用户态兼容层reL4-Linux-kit,通过将系统调用转换为IPC的机制,部分兼容Linux的syscall,使得部分未经修改的Linux二进制程序得以在reL4内核和reL4-Linux-kit兼容层的支持下得以直接运行。

报告幻灯片

报告幻灯片

报告视频

更多技术报告信息见“开源操作系统社区学术报告”。

20260904-开源毕设征集

海报

各位老师、同学和工业界的朋友,大家好!

各位老师、同学和工业界的朋友,大家好!2027年各学校的本科毕设工作又要开始了。开源毕设的宗旨是,与志同道合者合作,做有兴趣的毕设题目,在开源社区分享毕设成果。去年的开源毕设尝试,有6位同学参与开源毕设,有5位同学以过程开源的方式完成自己的本科毕设工作。几位在高校从事操作系统课老师一致确认,今年将继续尝试以开源社区的方式组织开源毕设。希望今年的尝试比去年能一些新进步。后续我们会从收集开源毕设的题目做起。大致安排是:

向高校教师、同学们和企业研发工程师收集合适的毕设的题目(主要还是OS方面的);

  • 向正在设计毕设题目的老师和准备做毕设的同学游说,吸引同学参与开源毕设;
  • 以过程开源的方式写自己的毕设文档和开发代码,这中间鼓励同学们之间的合作(假定同学是想通过毕设学到真知识的);
  • 毕设结束时,公布和汇总所有结果,并组织优秀开源毕设作品分享报告会。

欢迎即将开始做毕设的同学贡献自己的奇思妙想,通过开源毕设的方式,把这些奇思妙想变成变成可以工作的程序,进而成为持续推进的开源项目。我们也希望收到大家关于开源毕设组织、毕设题目等方面的改进建议,活动组织者将提供分享交流、外部支持等力所力所能及的支持和帮助。

与往年开源毕设组织的一个变化是,今年的开源毕设结束时,组织者会安排一次优秀毕设评选,给毕设工作完成得好的同学发糖果。预期的糖果是,在完整完成整个开源毕设流程的同学中进行评选,依据评选结果,选出一等奖、二等奖和三等奖,奖品包括奖金(分别为3000元、2000元和1000元人民币)和组织者签字的证书。

联络人:向勇

相关信息链接

更多开源操作系统社区活动信息见“开源操作系统社区活动”。

20260903-2026年开源毕设结果汇总

往年的开源毕设结果汇总

1. 胡嘉晨:Alien内核的x86_64移植与vDSO引入

2. 肖嘉骏:Starry-OS共享调度器设计与实现

3. 余泽铖:基于Rust异步机制的Starry系统SD卡驱动优化设计与实现

4. 苏爽:reL4 中 sel4_cspace 的组件化重构与 capability 核心原语模块级验证研究

5. 关世开:自动化 AI 口试系统的设计与实现

6. 黄昊颖:Rust 异步时间驱动模块设计与实现

20260617-第八期“网安泉城”讲座:组件化嵌入式操作系统

20260617-第八期“网安泉城”讲座:组件化嵌入式操作系统

作为泉城实验室“网安泉城”讲座的第八期,围绕“组件化嵌入式操作系统”,我们邀请到山东大学潘润宇和乾云公司石磊在星期三(17号)下午3:00来分享他们的研究成果。欢迎有兴趣的人员转发并参加。

详见: https://www.yuque.com/xyong-9fuoz/hg8kgr/gkgghi4tk26zpmtx

时间和地点

  • 会议时间:2026年6月17日15:00
  • 地点:泉城实验室331会议室

腾讯会议信息

  • 会议主题:组件化嵌入式操作系统
  • #腾讯会议:427-724-747

报告提问留言

观众提问留言页面: https://shimo.im/docs/dPkpdbo0d1hmG1kO

报告安排

山东大学 潘润宇:面向商用微控制器的虚拟化 - 实用化端侧软件分区防护技术

报告人简介

潘润宇,山东大学副教授、博士生导师。长期聚焦微控制器系统与嵌入式安全领域,研究方向涵盖微内核操作系统、实时系统、轻量级虚拟化、内存安全与硬件抽象,探索在低额外硬件成本、不牺牲实时性与低功耗的前提下,提升资源受限嵌入式系统的安全性与可靠性。相关成果二十余篇发表于RTAS、EMSOFT、IEEE TC、TCAD等嵌入式与系统领域顶级会议和期刊,主持微内核与虚拟化平台等长期开源项目。

报告摘要

针对商用微控制器整合过程中,现有虚拟化技术开销高、兼容性差的痛点,设计了轻量级虚拟化框架 FVM。该框架基于微内核架构,采用双线程虚拟 CPU 与优化中断机制,兼顾强隔离性、低延迟与小内存占用。FVM 适配 ARM、RISC-V 等主流架构及多款工业工具链、实时系统。实测其最低内存占用为 20KiB,延迟增幅低于 5%,可有效实现多固件隔离运行与独立故障重启,适用于各类资源受限的嵌入式场景。

报告幻灯片

待上传

乾云公司 石磊:操作系统内核组件复用的设想和实践

报告人简介

石磊,副高级工程师,工作方向主要包括内核构造原理和技术、云计算和虚拟化、中间件等。获得发明专利24项,论文3篇。

报告摘要

各类操作系统内核之间在设计和实现层面都存在大量的共性,基于组件/模块对这些共性成果进行跨内核复用具有很强的现实意义。本报告将从组件复用的意义、路线、挑战与可行性等方面进行讨论,总结近几年的实践经验,并提出未来工作的设想。

报告幻灯片

待上传

腾讯会议视频回放

待上传

更多技术报告信息见“开源操作系统社区活动”。

操作系统相关开源项目

这里维护与操作系统相关的开源项目,包括操作系统内核、内核开发工具等。

操作系统内核

内核开发工具

本站贡献指南(mdBook)

安装 mdBook

前往 mdBook v0.5.4 Release 页面,根据操作系统下载对应的预编译二进制文件:

操作系统文件名
Linux x86_64mdbook-v0.5.4-x86_64-unknown-linux-gnu.tar.gz
macOS Apple Siliconmdbook-v0.5.4-aarch64-apple-darwin.tar.gz
macOS Intelmdbook-v0.5.4-x86_64-apple-darwin.tar.gz
Windowsmdbook-v0.5.4-x86_64-pc-windows-msvc.zip

解压后将 mdbook 可执行文件放到 PATH 中的某个目录,例如 Linux/macOS:

tar xzf mdbook-v0.5.4-x86_64-unknown-linux-gnu.tar.gz
mv mdbook ~/.local/bin/   # 或 /usr/local/bin/
mdbook --version          # 验证安装

本地预览与构建

克隆仓库后,在项目根目录执行:

# 启动本地开发服务器(自动监听文件变化并刷新浏览器)
make serve
# 等价于:mdbook serve --hostname 127.0.0.1 --port 3001

# 仅构建,输出到 public/ 目录
make build

浏览器打开 http://127.0.0.1:3001 即可预览。

添加新章节

mdBook 通过 src/SUMMARY.md 管理目录结构,必须先修改 SUMMARY.md,再创建对应文件。

示例:添加一篇“2025 教学研讨会“笔记

第一步:在 src/SUMMARY.md 中添加条目

 - [教学研讨会](./Teaching-Seminar/index.md)
   - [2025-05-28](./Teaching-Seminar/2025-05-28.md)
+  - [2025-10-15](./Teaching-Seminar/2025-10-15.md)

缩进表示层级关系,子章节用两个空格缩进。

第二步:创建对应的 Markdown 文件

touch src/Teaching-Seminar/2025-10-15.md

文件内容示例:

# 2025-10-15 教学研讨会

会议内容……

第三步:本地预览确认

make serve

make serve 运行期间修改文件会自动重新构建,无需重启。

添加新的顶层章节

在 SUMMARY.md 中新增一个不缩进的条目,并创建对应目录和文件:

+- [新章节](./new-section/index.md)
+  - [第一篇](./new-section/first.md)
mkdir src/new-section
touch src/new-section/index.md src/new-section/first.md

修改 REAMD.md

仓库根目录的 REAMD.md 文件符号链接到 src/index.md,因此请不要直接修改 REAMD.md,而是只改动 src/index.md。