ExamPass Assistant
github.com/WUBING2023/ExamPass-Assistant

计算机操作系统 · 速背卡片

目录

速背清单 · 计算机操作系统

一、操作系统概述 重点

四大特征

并发性、共享性、虚拟性、异步性

OS 提供给应用程序的接口

系统调用(不是命令解释器或GUI)

用户态→内核态的切换机制

通过执行陷入指令(Trap)实现,不是外部中断或时钟中断

内核架构对比 必考

宏内核微内核
通信方式直接函数调用进程间通信(IPC)
文件系统内核态用户态(不在微内核内)
优点效率高可靠性高、易扩展

二、进程与线程 必考

进程 vs 程序

进程 = 程序的动态执行过程,程序 = 静态指令集合

进程组成三部分

PCB(进程控制块)+ 程序段 + 数据段

PCB不包含:程序代码本身

进程五状态转换 重点

创建 → 就绪运行阻塞 → 终止

运行→阻塞:I/O请求(不是时间片用完!时间片用完→就绪)

进程 vs 线程 必考

进程 = 资源分配基本单位

线程 = CPU调度基本单位

线程模型

模型特点
多对一多用户线程→1内核线程,无法并行
一对一并发度最高,开销最大

用户级线程特点

对操作系统内核透明(内核不知道用户线程存在)

三、处理机调度 必考

三级调度

级别别称功能
高级调度作业调度决定哪些作业进入内存
中级调度内存调度挂起/换入换出
低级调度进程调度决定CPU分配给谁

调度算法对比 必考

算法特点缺点
FCFS先来先服务短作业可能等很久
SJF短作业优先长作业饥饿
RR时间片轮转时间片太小→上下文切换开销大
优先级按优先级低优先级饥饿→用动态优先级/老化
MLFQ多级反馈队列CPU密集型逐步降级

抢占 vs 非抢占

非抢占:进程获得CPU后一直运行到结束或主动放弃

四、进程同步与互斥 必考·大题

临界区访问四原则

空闲让进、忙则等待、有限等待、让权等待

"优先等待"不是原则!

信号量 必考

S>0:表示可用资源数

S<0:|S| = 等待进程数

P操作(wait):S=S-1,若S<0则阻塞

V操作(signal):S=S+1,若S≤0则唤醒

经典同步问题模板

生产者-消费者:empty + full + mutex(三个信号量)

读者-写者(读者优先):mutex + wmutex + readcount

管程(Monitor)

一次只允许一个进程进入;条件变量用wait/signal

signal不会立即让等待进程获得CPU(错!)

进程间通信方式

共享存储、消息传递管道通信

无名管道:只能用于父子亲缘关系进程

五、死锁 必考·银行家算法

四个必要条件 必背

互斥请求和保持不可抢占循环等待

处理策略

策略方法特点
预防破坏必要条件资源利用率低
避免银行家算法判断安全状态
检测资源分配图法+死锁定理事后处理
解除撤销进程/剥夺资源代价大

银行家算法 必考大题

步骤:①算Need = Max - Allocation;②找安全序列;③试分配→检查安全状态

死锁判断关键

资源分配图有环 + 每资源单实例 = 充分必要条件(有环⇔死锁)

资源分配图有环 + 多实例 = 必要条件(有环不一定死锁,无环一定不死锁)

六、存储管理 必考·计算题

重定位

逻辑地址→物理地址的过程叫重定位

分页 vs 分段 必考

分页分段
划分依据物理(固定大小)逻辑(可变大小)
地址空间一维二维
碎片内部碎片外部碎片
优点管理简单便于共享和模块化

页表与快表

页表:每个进程一个,记录页号→物理块号映射

TLB(快表):高速缓存,加速地址转换

页表项至少包含:物理块号 + 状态位(存在位)

地址转换计算 必考大题

页号 = 逻辑地址 / 页面大小

页内偏移 = 逻辑地址 % 页面大小

物理地址 = 块号 × 页面大小 + 页内偏移

页号 ≥ 页表长度 → 越界中断

虚拟存储器 重点

理论基础:程序的局部性原理

三大特征:多次性、对换性、虚拟性(驻留性不是!)

页面置换算法 必考

算法特点Belady异常
OPT理论最优,无法实现
FIFO先进先出有!
LRU最近最久未使用
Clock访问位+循环扫描,近似LRU

抖动(Thrashing)

根本原因:分配给进程的物理块不足

解决方案:工作集模型

Belady异常

FIFO算法特有:物理块增加,缺页次数反而增加

七、设备管理 重点

I/O控制方式(CPU干预从高到低)

①程序直接控制 ②中断驱动 ③DMA ④通道

不需CPU干预:DMA和通道

SPOOLing技术

独占设备→共享设备;"井"是磁盘上的区域

设备独立性

通过逻辑设备表(LUT)实现逻辑→物理设备映射

I/O软件层次(底→顶)

硬件 → 中断处理程序 → 设备驱动程序 → 设备独立性软件用户层I/O软件

八、磁盘调度 必考·计算题

算法策略特点
FCFS按请求顺序公平但效率低
SSTF最短寻道优先可能饥饿
SCAN电梯算法,来回扫两端请求等待长
C-SCAN单向扫描,返回不服务更均匀
LOOKSCAN改进,到最远请求即折返不需到物理端点

九、文件系统 重点

文件物理结构

方式优点缺点
连续分配随机访问快外部碎片,不便扩展
链式分配无外部碎片不支持高效随机访问
索引分配随机访问+无碎片索引块开销

inode 不含的信息

文件名(文件名在目录项中,不在inode中!)

混合索引计算

直接10项+一级1项+二级1项+三级1项,块4KB,块号4B → 最大约4TB

考前速记 · 易错点

  1. 运行→阻塞原因:I/O请求,不是时间片用完
  2. FIFO有Belady异常,LRU/OPT没有
  3. 分页有内部碎片,分段有外部碎片(不要搞反)
  4. 银行家算法属于死锁避免,不是预防
  5. 信号量S=-2表示2个进程等待
  6. 临界区=访问临界资源的代码,不是资源本身
  7. 用户级线程对内核透明
  8. SPOOLing把独占设备变共享设备
  9. C-SCAN比SCAN更均匀
  10. 死锁避免需要事先知道最大资源需求