跳转至

操作系统实验指导书 - 2025秋 | 哈工大(深圳)

声明

本课程资料仅限于哈尔滨工业大学(深圳)《操作系统》2025课程实验使用,如有其他用途,请联系夏文老师:xiawen@hit.edu.cn

注意事项

请同学们遵守学术诚信(What is Academic Integrity)。 你可能会在同一个时间段内需要完成多项课程任务,或者准备考试,或者其他……但是,无论你处于何种程度的压力之下,我们都希望你能做到管理好时间,以诚实正直的态度来完成课程实验。

0. 导读

  本实验文档为哈尔滨工业大学(深圳)《操作系统》课程实验指导材料。页面顶端为实验的指导书,页面左侧为指导书的各个小节目录,右侧为小节内的索引,页面右上角可详细搜索。

  本学期《操作系统》课程共设置6次实验课,涵盖5个实验项目,总计24个学时。前四个实验项目均以开源操作系统xv6为基础,但已根据哈尔滨工业大学(深圳)的课程要求进行了针对性的修改和扩展。每个实验项目均独立设置,各占4个学时。第五个实验分配8个学时,由我校学生自主设计的文件系统实验案例,该案例获得全国计算机类课程实验设计一等奖,并多名学生基于该项目拓展研究发表CCF-A类系统会议论文(比如OSDI、FAST、ASPLOS等)。

   由于我们已经对XV6的实验内容及要求进行了修改,请大家从下面的“3. 获取XV6实验框架代码”仓库下载代码,务必在这套代码上完成实验,使用其他xv6仓库代码的同学极有可能通不过实验考核!!! 在实验开始之前,请同学们务必先按顺序阅读指导书,掌握实验平台的搭建/使用方法,掌握Linux系统下的一些基本命令/操作,熟练使用GDB调试工具。对于有兴趣有余力的同学,挑战并完成2020版本的xv6实验的所有任务,若能完成会有意想不到的惊喜!

  为了帮助同学们理解xv6的概貌、代码结构以及调试方法,我校OS课题组、各级学长助教们合力为大家录制的XV6讲解视频和调试视频,推荐大家按需观看。

  如果同学们对本课程实验内容、实验安排、实验指导书或者代码框架等各方面有宝贵的意见或建议,请私信老师或助教。

1. 课程信息

  • 课程名称:操作系统(实验)
  • 学期:2025秋季
  • 理论课教师:邹翔宇、卢瑶、夏文、陈斌、刘川意、陈芳林、陈俊杰(按任课班级顺序)
  • 实验课教师:仇洁婷、苏婷、匡慈维

2. 实验相关链接

3. 获取XV6实验框架代码

  在下载实验代码前,请先搭建好xv6实验平台,搭建方法参考实验平台搭建以及环境配置

  如果你已经进入实验平台,请在命令行终端中执行:

git clone https://gitee.com/ftutorials/xv6-oslab24-hitsz.git

  获取框架代码,将克隆xv6-oslab24-hitsz到当前目录。如遇问题请联系老师或助教。

4. 视频链接

4.1 xv6讲解视频链接

  1. 【HITSZ操作系统课程组讲解XV6(一)启动过程】

  2. 【HITSZ操作系统课程组讲解XV6(二)进程管理】

  3. 【HITSZ操作系统课程组讲解XV6(三)内存管理】

  也可以观看B站上的MIT 6.S081/Fall 2020课程视频,通过学习这门课程可以让你对xv6操作系统有一个全面的认识。

4.2 xv6调试演示视频链接

  1. 【使用gdb调试xv6启动流程(1)】 https://www.bilibili.com/video/BV1zAt6e3EfU/?share_source=copy_web&vd_source=a822dcda3537564ccdd0bb45aa0afe33

  2. 【使用gdb调试xv6启动流程(2)】 https://www.bilibili.com/video/BV1MrtUe7ELC/?share_source=copy_web&vd_source=a822dcda3537564ccdd0bb45aa0afe33

  3. 【1. VSCode调试xv6内核代码】 https://www.bilibili.com/video/BV1ZB4y1E7X5?share_source=copy_web&vd_source=a822dcda3537564ccdd0bb45aa0afe33

  4. 【2. VSCode调试xv6用户代码】 https://www.bilibili.com/video/BV1i14y1Y7ZZ?share_source=copy_web&vd_source=a822dcda3537564ccdd0bb45aa0afe33

  5. 【3. VSCode调试系统调用过程(包含pagetable和汇编)】 https://www.bilibili.com/video/BV12P411J7xq?share_source=copy_webvd_source=a822dcda3537564ccdd0bb45aa0afe33

  6. 【4. VSCode调试系统调用——从内核到用户,再从用户返回内核】 https://www.bilibili.com/video/BV1ug411m7ir?share_source=copy_web&vd_source=a822dcda3537564ccdd0bb45aa0afe33vd_source=a822dcda3537564ccdd0bb45aa0afe33

5. 各班级课表

  • 课表有冲突的同学,可自行对照课表选择合适时段上课,但换课需提前告知老师,避免被误记为缺课。
  • 各班人数已接近实验室容量,非必要请勿换课,以防座位不足。
  • 若需换课,建议优先选择 T2210 实验室(容量相对较大)的班级。

实验一班(实验授课教师:苏婷,仇洁婷)

课次 周次 星期 节次 实验室
1 3 2 第五节-第八节 T2210
2 5 2 第五节-第八节 T2210
3 8 2 第五节-第八节 T2210
4 10 2 第五节-第八节 T2210
5 12 2 第五节-第八节 T2210
6 14 2 第五节-第八节 T2210

实验二班(实验授课教师:仇洁婷,匡慈维)

课次 周次 星期 节次 实验室
1 2 6 第五节-第八节 T2210
2 4 5 第九节-第十二节 T2210
3 7 5 第九节-第十二节 T2210
4 9 7 第五节-第八节 T2210
5 12 1 第一节-第四节 T2210
6 14 1 第一节-第四节 T2210

实验三班(实验授课教师:仇洁婷,苏婷)

课次 周次 星期 节次 实验室
1 2 7 第五节-第八节 T2210
2 4 6 第九节-第十二节 T2210
3 7 2 第五节-第八节 T2210
4 9 6 第五节-第八节 T2210
5 11 6 第五节-第八节 T2210
6 13 5 第一节-第四节 T2210

实验四班(实验授课教师:仇洁婷,匡慈维)

课次 周次 星期 节次 实验室
1 2 6 第九节-第十二节 T2210
2 4 7 第九节-第十二节 T2210
3 7 7 第一节-第四节 T2210
4 9 7 第一节-第四节 T2210
5 12 1 第九节-第十二节 T2210
6 14 1 第九节-第十二节 T2210

实验五班(实验授课教师:苏婷,匡慈维)

课次 周次 星期 节次 实验室
1 2 5 第九节-第十二节 T2608
2 4 5 第五节-第八节 T2608
3 7 7 第五节-第八节 T2608
4 9 5 第九节-第十二节 T2608
5 12 3 第一节-第四节 T2608
6 14 3 第一节-第四节 T2608

实验六班(实验授课教师:苏婷,匡慈维)

课次 周次 星期 节次 实验室
1 2 5 第五节-第八节 T2608
2 4 4 第五节-第八节 T2608
3 7 4 第五节-第八节 T2608
4 9 4 第五节-第八节 T2608
5 11 4 第五节-第八节 T2608
6 13 4 第五节-第八节 T2608

实验七班(实验授课教师:仇洁婷,苏婷)

课次 周次 星期 节次 实验室
1 3 1 第九节-第十二节 T2608
2 4 7 第一节-第四节 T2608
3 7 5 第五节-第八节 T2608
4 9 5 第五节-第八节 T2608
5 11 5 第五节-第八节 T2608
6 13 5 第五节-第八节 T2608

致谢

  在实验教学过程中,我们有幸邀请到了一些本科生助教和研究生助教,这些同学共同完成了实验指导书的编写、实验代码的修改、调试和实验环境的搭建。感谢这些同学对实验做出的贡献。

  特别感谢对本课程实验贡献的助教同学:

  • 17级:胡博涵、施杨
  • 18级:李程浩、宫浩辰、潘延麒、黎庚祉、刘定邦
  • 19级:赵鹏宇、陈一邹、叶自立、张艺枫
  • 20级:曾培鑫、陈佳豪、满洋、杨大荣
  • 21级:陈睿玮、石全、王华杰、区文灏

  未来更多的可能,期待由现在的你们来书写!