Operating Systems · 课程导论

操作系统

计算机系统的“大管家”

从零理解这门课的内容体系与学习要点

20 SLIDES 自学复习梳理 2026
操作系统课程导论 01 / 20
Agenda

全书知识地图

八大模块构成操作系统的完整知识体系,本课程将逐一拆解

01
操作系统概述
概念·特征·发展历程·运行环境
02
进程与线程
PCB·状态转换·线程模型
03
处理机调度
调度层次·四大调度算法
04
死锁
四必要条件·银行家算法
05
进程同步与通信
信号量·PV操作·经典问题
06
内存管理
连续分配·分页·分段·虚拟内存
07
设备管理
I/O控制·缓冲·磁盘调度
08
文件系统
逻辑结构·目录·物理结构
操作系统课程导论 02 / 20
Module 01 · 概念

操作系统是什么?

控制和管理整个计算机系统的硬件与软件资源,合理组织调度工作与资源分配,并为用户和其他软件提供方便的接口与环境的最基本系统软件。

作用一资源管理者——管理 CPU、内存、磁盘、I/O 设备
作用二服务提供者——为应用程序提供统一接口
作用三扩展机——把裸机扩展为更易使用的虚拟机
用户 / User 应用程序 操作系统 OS 系统调用 · 资源管理 · 抽象 硬件 / 裸机 CPU · 内存 · 磁盘 · I/O 设备
操作系统课程导论 03 / 20
Module 01 · 基本特征

操作系统的四大特征

并发是基础,共享是目的,虚拟是手段,异步是表现

并发 Concurrency

多道程序宏观同时运行、微观交替执行。是 OS 最基本的特征,依赖多道程序设计技术。

共享 Sharing

系统资源可被多个并发进程共同使用。分互斥共享与同时访问两种方式。

虚拟 Virtual

通过某种技术把一个物理实体变为多个逻辑对应物。如虚拟处理器、虚拟内存、虚拟设备。

异步 Asynchrony

进程以不可预知的速度推进,走走停停。是并发与共享带来的必然结果。

操作系统课程导论 04 / 20
Module 01 · 发展历程

操作系统的发展历程

从手工操作到分时系统,每次演进都推动 OS 从“提高效率”走向“增强交互”

1940s-50s 手工操作 独占机器 CPU等人工 1950s 单道批处理 磁带自动 顺序执行 1960s 多道批处理 多道并存 OS诞生标志 1960s-70s 分时系统 多用户交互 Unix雏形 1970s+ 实时系统 严格时限 实时响应
操作系统课程导论 05 / 20
Module 01 · 运行环境

用户态 vs 内核态

操作系统通过特权级隔离保护内核,三种机制实现态的切换

user特权级低
用户态 User Mode

▸ 运行应用程序,只能访问受限资源

▸ 不能执行特权指令(如 I/O、访管)

▸ 需要系统服务时通过系统调用陷入内核

kernel特权级高
内核态 Kernel Mode

▸ 运行 OS 内核,可访问全部硬件资源

▸ 可执行全部指令(含特权指令)

▸ 处理中断、异常后返回用户态

三种切换机制
中断外部硬件触发
异常指令执行出错
系统调用程序主动请求
操作系统课程导论 06 / 20
Module 02 · 进程

进程的概念与状态

进程是程序在数据集合上的一次执行过程,是系统进行资源分配和调度的基本单位

PCB进程控制块——记录进程的全部管理信息,是进程存在的唯一标志
三态就绪、运行、阻塞——进程在其生命周期中不断转换
就绪 Ready 运行 Run 阻塞 Wait 调度 时间片完 等待资源 资源就绪
操作系统课程导论 07 / 20
Module 02 · 线程

进程 vs 线程

线程是进程内的执行单元——引入线程后,进程是资源分配单位,线程是调度单位

对比维度进程 Process线程 Thread
资源分配资源分配的基本单位,拥有独立地址空间不拥有资源,共享所属进程的资源
调度单位传统系统中也是调度单位独立调度的基本单位
切换开销大——需切换地址空间、刷新缓存小——同进程内仅切换寄存器/栈
通信方式需 IPC(管道、消息、共享内存等)直接读写共享变量,但需同步
并发性进程间并发更高——进程内多线程并发
操作系统课程导论 08 / 20
Module 03 · 处理机调度

四大经典调度算法

不同算法在公平性、吞吐量、响应时间间各有取舍

1
FCFS
先来先服务

按到达顺序排队,非抢占。短作业被长作业拖累,公平但效率低。

2
SJF
短作业优先

选估计运行时间最短的。平均等待时间最优,但长作业可能饥饿。

3
RR
时间片轮转

每个进程轮流执行一个时间片。响应快,适合分时系统,开销受时间片大小影响。

4
优先级
Priority

按优先级调度,可抢占/非抢占。需防饥饿(可用动态优先级/老化)。

操作系统课程导论 09 / 20
Module 04 · 死锁

死锁与银行家算法

多个进程因竞争资源而造成互相等待,若无外力介入都无法推进

四个必要条件(缺一不可)

互斥:资源一次只能被一个进程使用

请求与保持:持有资源又请求新资源

不剥夺:资源不能被强行夺走

循环等待:存在进程-资源的环形链

死锁避免银行家算法

分配前先模拟,判断是否存在安全序列。只有安全才分配,否则让进程等待。

① 算剩余需求 → ② 找可满足进程 → ③ 释放更新 → ④ 全部完成=安全
预防
破坏四条件
避免
银行家算法
检测解除
资源分配图
操作系统课程导论 10 / 20
Module 05 · 核心难点

信号量与 PV 操作
是操作系统的“灵魂”

P(S)

申请资源:S=S−1。若 S<0,进程阻塞等待,进入 S 对应的等待队列。

V(S)

释放资源:S=S+1。若 S≤0,唤醒等待队列中的一个进程。

操作系统课程导论 11 / 20
Module 05 · 经典问题

三大经典同步问题

掌握这三个模型,PV 操作的绝大多数变体都能迎刃而解

01
生产者-消费者

生产者放入缓冲区,消费者取出。设 emptyfullmutex 三个信号量。

P(empty)→P(mutex)→放入→V(mutex)→V(full)
02
读者-写者

读读可共享,读写/写写互斥。需 readcount 计数 + 信号量协调首读者与写者。

读者优先 / 写者优先 两种解法
03
哲学家就餐

五人围坐,每人需左右两根筷子。直接拿易死锁,需限制策略。

限制人数 / 奇偶号反序 / 同时拿两根
操作系统课程导论 12 / 20
Module 06 · 内存管理

内存管理方式的演进

从连续到离散,从实存到虚存——一步步解决碎片与容量问题

STEP 1
连续分配

单一连续 / 固定分区 / 动态分区

✓ 简单✗ 碎片严重
STEP 2
分页存储

内存分等长页框,程序分页,页表映射

✓ 消除外部碎片✗ 有内部碎片
STEP 3
分段存储

按逻辑意义分段,段表映射,便于共享保护

✓ 逻辑清晰易共享✗ 外部碎片
进阶 段页式 = 先分段再分页,结合两者优点;虚拟内存在此基础上实现“部分装入”→ 下一页详解
操作系统课程导论 13 / 20
Module 06 · 虚拟内存

虚拟内存与页面置换算法

局部性原理让“部分装入”成为可能——缺页时用置换算法决定淘汰谁

缺页率 访问串推进 → FIFO LRU OPT
FIFO · 先进先出

淘汰最先进入的页。简单,但可能淘汰常用页,存在Belady 异常

LRU · 最近最少使用

淘汰最久未访问的页。性能好,但需硬件支持(寄存器/栈)开销大。

CLOCK · 时钟算法

LRU 的近似实现,用访问位循环扫描。实用首选,开销小。

OPT 为理论最优(需预知未来),仅作评价基准
操作系统课程导论 14 / 20
Module 07 · 设备管理

设备管理

管理各类 I/O 设备,完成用户 I/O 请求,屏蔽硬件差异,提升设备利用率。

I/O 控制程序查询 → 中断 → DMA → 通道,效率逐级提升
缓冲单/双/循环缓冲,缓解 CPU 与设备速度不匹配
SPOOLing假脱机技术——把独占设备改造为共享设备
程序查询 CPU 不断轮询,效率最低 中断方式 设备就绪后中断通知 CPU DMA 方式 直接内存访问,批量传输 通道方式 独立处理器,CPU 完全解放 效率逐级提升 ↑
操作系统课程导论 15 / 20
Module 07 · 磁盘调度

磁盘调度算法

目标:减少平均寻道时间。核心在于磁头移动路径的选择策略

FCFS
先来先服务

按请求顺序服务,寻道距离大,性能最差但公平。

SSTF
最短寻道优先

选距当前磁头最近的请求。平均寻道短,但远端可能饥饿。

SCAN
电梯算法

单向移动到底再反向,像电梯。无饥饿,两端响应略慢。

C-SCAN
循环扫描

单向到底后直接回返起点再同向扫,各位置响应更均匀。

操作系统课程导论 16 / 20
Module 08 · 文件系统

文件系统

负责文件的组织、存储、检索、共享与保护,是用户与外存之间的抽象层。

逻辑结构

无结构流式 / 有结构记录式(顺序、索引、顺序索引)

目录结构

单级 → 两级 → 树形目录,实现按名存取

物理结构

连续分配 / 链接分配 / 索引分配——权衡顺序与随机访问

/ 根目录 /home /etc /bin a.txt b.c ↓ 物理存储(磁盘块) 2 5 8 9 12 15
操作系统课程导论 17 / 20
知识串联 · 系统观

用“系统观”
打通四大模块

进程运行需要内存(内存管理),运行结果需要保存(文件系统),过程中需要 I/O(设备管理)——各模块并非孤岛,而是协同服务于“让程序高效运行”这一目标。

进程管理
CPU 怎么分
内存管理
空间怎么用
文件系统
数据怎么存
设备管理
外设怎么控
操作系统课程导论 18 / 20
学习方法 · 避坑指南

怎么学好操作系统

01
三轮复习,循序渐进

第一轮建框架(教材+视频)→ 第二轮攻重难点+刷真题 → 第三轮模拟+查漏补缺+背诵概念

02
动手练题,拒绝眼高手低

PV 操作和页面置换算法一定要动笔,自己完整写出过程再对答案——这是最容易“一看就会一写就废”的部分

03
理解优先,拒绝死记硬背

抠细节但更要懂原理:为什么引入进程?为什么需要虚拟内存?理解“为什么”比记住“是什么”更持久

04
串联知识,建立系统观

结合《计算机组成原理》交叉印证(存储体系、中断、DMA),把零散知识点织成一张网

操作系统课程导论 19 / 20
结语

操作系统,是建立
计算机“系统观”的钥匙

它连接软件与硬件,是理解整个计算机系统的枢纽。
学好它,你看到的不再是孤立的程序,而是一个协同运转的整体。

Thanks for learning 开始你的操作系统之旅 →
操作系统课程导论 20 / 20