2026秋季学期操作系统课后练习
往年参考
第4次课后练习(第八周周五)
填写综合实验选题意向表“选题协商-2026年秋季操作系统课综合实验”。
综合实验实验目标
操作系统课的综合实验(实验六)要求同学从下面列表中选择一个操作系统内核组件,对组件功能进行分析、复现、测试和改进。
综合实验过程要求
-
11月12号前在“选题协商-2026年秋季操作系统课综合实验”中填写自己的选题意向;
-
11月13号前主动联络老师,在课后当面协商确认自己的选题内容、目标和思路;
- 要求每位同学选择的组件是不同的;如果你想选择的同学选择了,你只能调整自己的选择;
-
在github上复制内核组件仓库,按课程要求在自己的代码仓库中维护完整的开发过程,并在实验截止时间前提交综合实验的代码和实验报告;
-
在雨课堂中提交自己的代码仓库链接和Commit ID;
-
在收到同学雨课堂中提交的实验完成信息后,老师和助教将安排基于抽查的口试;
-
前五个实验中“独立实现”的独立性较低的同学将高概率被抽查;
-
提前完成综合实验的同学可以选择主动联络老师,要求优先进行口试;
-
第3次课后练习(第三周周二)
第1题
访问密码:
S6G^vfsJ3ibV
本学期所有实验任务(第三周周二)
实验任务描述和参考实现仓库
实验任务参考实现的分析工具和报告仓库
uCore实验任务列表:
- ch1:裸机 C 内核启动与 BSS 初始化
- ch2:用户态系统调用与异常处理
- ch3:多道程序与分时调度
- ch4:Sv39 页表与地址转换
- ch5:进程生命周期 API 实验
- ch6:文件对象与 inode 读写 API 实验
- ch7:管道通信与端点生命周期
- ch8:线程同步
- ch9:UART、virtio-blk 与 virtio-gpu 驱动
rCore实验任务列表:
- ch1:裸机 Rust 程序的启动与运行
- ch2:用户程序、系统调用与异常处理
- ch3:任务管理
- ch4:页表与地址空间
- ch5:进程生命周期与 stride 调度
- ch6:文件、目录与硬链接管理
- ch7:管道通信与文件描述符共享
- ch8:线程同步与死锁检测
- ch9:UART、virtio-blk 与 virtio-gpu 驱动
实验提交要求
- 在课程注册时自动创建实验仓库中提交完整的代码、文档和实验过程记录;
- 在荷塘雨课中提交实验一报告链接和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上实验仓库:
- rCore
- uCore
第2次课后练习(第一周周五)
第1题
熟练使用开发环境是顺利和高效完成操作系统课实验的必要条件。请从互联网搜索你需要的信息,以逐渐熟练使用qemu、shell、vim(也可以是其他你喜欢的代码编辑工具)和git等工具。然后回答如下问题。
- 简要介绍一个模拟器工具,并查找相关的配置使用帮助;
- 简要介绍一个命令行工具,并查找相关的配置使用帮助;
- 简要介绍一个代码编辑工具,并查找相关的配置使用帮助;
- 简要介绍一个代码版本维护工具,并查找相关的配置使用帮助;
- 参考资料:
- Learn Git Branching
- 计算机教育中缺失的一课(MIT的开发工具使用的课堂)
- B站视频:计算机教育中缺失的一课 The Missing Semester of Your CS Education
- 【中字】The Missing Semester 第1讲 - 课程概览与 Shell - MIT 公开课(2020)
往年的优秀回答
第2题
下面是一组使用系统调用服务的应用程序。请尝试运行和分析其中的一个你有兴趣小例子的执行过程,利用Linux系统中的strace工具来确定该应用程序在执行时调用了哪些系统调用。
- 使用操作系统的系统调用服务的应用程序示例列表(出处:MIT的操作系统课)
第1次课后练习(第一周周二)
第1题
填写选课问卷,然后回答是否已提交。
- 2026秋季操作系统课选课问卷(访问密码:
8e2JC8KFxq+Vere)