第一讲 操作系统概述

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



向勇 陈渝 李国良 任炬


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

实验指导

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%

注:选择大实验的同学如果后续退出课程设计,需参加考试。

选课问卷

2025年秋学期操作系统课选课问卷

  • 访问密码:PkmG1kd1h
  • 请大家在第二节课前及时填写问卷,以便我们更好地上课。

总结

  • 操作系统课是计算机系的核心基础课,讲解操作系统的基本原理(资源管理和运行环境),通过实验来学习和运用基本原理
  • 秋季学期的操作系统课持续12周,主要要求是实验和期中和期末考试
    • 大实验可以替代考试
  • 基于选课目标确定用多少精力来学操作系统课
    • 从事计算机专业的工作,多少都需要了解操作系统的原理的
    • 对计算机底层技术有兴趣的同学,通过做好实验来比较透彻地掌握和运用操作系统的原理

出处: https://www.zhihu.com/question/667354659