操作系统 第三章 处理机调度与死锁
一、处理机调度
1、概念及层次
0.思维导图
1.调度的基本概念
2.调度的三个层次
(1)高级调度( 作业调度)
(2)中级调度(内存调度)
(3)进程的挂起状态与七状态模型
(4)低级调度(进程调度)
(5)三层调度的联系和对比
2、进程调度的时机(主动放弃与被动放弃)、切换与过程(广义与狭义)、方式(非剥夺与剥夺)
0.思维导图
1.时机
(1)什么时候进行进程调度?
(2)什么时候不能进行进程调度?
(3)OS内核程序临界区与普通临界区的进程调度情况
2.进程调度的方式
- 所谓进程调度方式,是指当某个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要处理,即有优先权更高的进程进入就绪队列,此时应如何分配处理机。
3.进程的切换和过程
3、调度算法的评价指标
0.思维导图
1.CPU利用率
2.系统吞吐量
3.周转时间
4.等待时间
5.响应时间
4、作业/进程调度算法
0.思维导图
1.先来先服务—FCFS
- First come first sever
2.短作业优先—SJF
- Shortest Job First
- 非抢占式—SJF
- 抢占式—SJF(SRTN)
- 注意几个细节
3.高响应比优先—HRRN
- Highest Response Ratio Next
注:三种算法的对比和总结
4、时间片轮转——RR
- 时间片为2举例
- 以时间片为5举例
- 可能出现的问题,比如与FCFS对比
5.优先级调度算法
- 非抢占式例子
- 抢占式例子
- 补充
6.多级反馈队列调度算法
- 举个例子
注:三种算法的对比总结
二、死锁
0.思维导图
1.什么是死锁?
2.死锁、饥饿、死循环的区别
3.死锁产生的四个必要条件
4.什么时候会发生死锁?
5.死锁的处理策略
(1)预防死锁
① 破坏互斥条件
② 破坏不可剥夺条件(不可抢夺条件)
③ 破坏请求和保持条件
④ 破坏循环等待条件
(2)避免死锁
① 什么是安全序列?
- 所谓安全序列
② 安全序列、安全状态、不安全状态、死锁之间的联系
③ 避免系统进入不安全状态------银行家算法
- 使用代码实现
(3)死锁的检测和解除
① 死锁的检测
举个例子,可以消除所有边,即无死锁发生
举个例子,不可消除所有边,即产生死锁
② 死锁的解除