marp: true theme: default paginate: true _paginate: false header: '' footer: '' backgroundColor: white
第一讲 操作系统概述
第一节 课程概述 & 教学安排
向勇 陈渝 李国良 任炬
2025年秋季
问题
- 我要学操作系统课吗?
- 秋季学期的操作系统课是如何安排的?
- 我打算如何学操作系统课?
课程信息
主讲教师:
- 向勇 陈渝 李国良 任炬
助教
- 郑友捷、苏明贤、岳凯
上课信息
上课时间地点
- 时间
- 周一下午第4节(15:20-16:55)
- 周四上午第2节(09:50-11:25)
- 地点
- 六教6A213
预备知识
程序设计语言(汇编、C 和 Rust)
- 不是开发应用程序
- 而是开发系统程序
数据结构
- 理解基本数据结构即可
预备知识
计算机组成原理
- 刘总/康总/陆总的 RISC-V 原理
- Patterson 的 RISC-V 原理
编译原理
- 没学过影响不大
- 但还是要了解高级语言 <–>RISC-V 汇编语言
课程参考
课程实践:rCore Tutorial Book v3
实验指导
uCore Tutorial
实验指导
- rCore Tutorial
- uCore和rCore实验帮助
- 讲解视频
- 部分内容将逐步更新
OS 原理与设计思想
- 操作系统结构
- 中断及系统调用
- 内存管理
- 进程管理
- 处理机调度
- 同步互斥
- 文件系统
- I/O 子系统
作业与实验
-
平时作业
- 课后练习:包括问答题和编程题目,要求在deadline前提交
-
基础实验
- (必做):面向 RISC-V CPU 用 Rust/C 设计实现操作系统的功能
- (选做):难度和工作量比必做题目大的其它题目
-
课程设计(Rust)
- 用组件来组合操作系统内核
- 参加全国大学生OS比赛
操作系统课关于AI工具的使用约定
- 操作系统课鼓励使用各种AI工具来帮助OS
- AI助教可以同学们及时获取可能的帮助
- AI助教可以减少助教老师的工作量
- 工具使用者需要对使用工具的后果负责
- AI工具给出的建议可以能幻觉
- 许多复杂问题无法完全靠工具来完成
- 考试时不允许使用AI工具
- “老师用AI工具出题,同学用AI工具回答”应该不是大家希望的状态
基础实验
- 实验一:操作系统的基本支持
- 实验二:地址空间
- 实验三:进程管理与调度
- 实验四:文件系统与进程间通信
- 实验五:同步互斥
注意:每次实验的必做题和选做题的提交截止时间相同。
课程设计(Rust语言)
- 用组件来组合操作系统内核
- unikernel: ArceOS
- 宏内核: StarryOS
- hypervisor: AxVisor
- 微内核: ReL4
- 异步操作系统: AsyncOS
- 开源操作系统社区项目
- 往届同学的课程设计成果
成绩评定
选择1:(总分不超过100)
- 实验一~五必做题目: 30% ;期中考试 30% ; 期末考试 40%
- 平时作业加分:每做一次平时作业加0.5分,最高加5分,且课程总评成绩总分不超过100分
- 选做实验题加分:每做一个选做实验题,可得到相应分值,但是选做+必做实验题的总分不超过30分
选择2:
- 四周内完成实验一~五(2025秋实验):30%
- 课程设计(即大实验):70%
注:选择大实验的同学如果后续退出课程设计,需参加考试。
选课问卷
- 访问密码:PkmG1kd1h
- 请大家在第二节课前及时填写问卷,以便我们更好地上课。
总结
- 操作系统课是计算机系的核心基础课,讲解操作系统的基本原理(资源管理和运行环境),通过实验来学习和运用基本原理
- 秋季学期的操作系统课持续12周,主要要求是实验和期中和期末考试
- 大实验可以替代考试
- 基于选课目标确定用多少精力来学操作系统课
- 从事计算机专业的工作,多少都需要了解操作系统的原理的
- 对计算机底层技术有兴趣的同学,通过做好实验来比较透彻地掌握和运用操作系统的原理