进程调度
文章目录
调度
计算题要考,核心概念*
-
平均周转时间
T = 1 n ∑ i = i n T i T=\frac{1}{n} \sum_{i=i}^{n}T_{i} T=n1i=i∑nTi -
平均带权周转时间
T = 1 n ∑ i = i n T i T s i T=\frac{1}{n} \sum_{i=i}^{n}\frac{T_{i}}{T_{si}} T=n1i=i∑nTsiTi
周转时间: T i T_{i} Ti
运行时间:就是进程运行需要的时间,是直接给的
T
s
i
T_{si}
Tsi
调度算法
先来先服务(FCFS)
字面意思选择一个最先进入队列的进程
短作业优先(SJ(Job)F/SPF)
字面意思选择一个要求服务时间(执行时间)最短的作业
题目
分别求先来先服务和短作业优先的平均周转时间和平均带权周转时间
画图法
先排序,然后在数轴上连起来
然后比对着图算。
FCFS:直接可以排好
SJF那里有坑:就是第一个进程,人家已经来了,那肯定先上,选短作业是在等待队列里选,是在等待队列里选,人家第一来的,都没人排队,直接就上了。
高优先权优先调度算法(FPF)
这指的是一类算法,而不是某个算法
那么之后围绕优先权展开各种调度算法
分两类
- 抢占式
- 非抢占式
优先权
- 静态
- 动态
高响应比优先算法
优先权 = 1 + 等待时间/要求服务时间
既照顾了短作业,又考虑了作业到达的先后顺序
需要做响应比计算,会增加系统开销
时间片轮转调度算法(RR)
多级反馈队列调度算法
非常优秀
算法概述
对新创建进程,首先将它放入第1队列队列末尾,按FCFS原则排队等待调度。
当轮到该进程执行时,如它能在该时间片内完成,则结束; 如果未完成,调
度程序便将该进程转入第2队列的末尾,再同样按FCFS原则等待调度执行;
如果它在第2队列中运行1个时间片后仍未完成,再依次将它放入第3队列…。
如此下去,当1个长作业(进程)从第1队列依次降到第n队列后,在第n队列队列
中便采取按时间片轮转的方式运行。
实时调度
最早截至时间优先调度(EDF)
最低松弛优先调度算法(LLF)
题目
松弛度计算
优先级倒置问题
优先级倒置的解决方法
优先权继承:当低优先级进程阻塞高优先级进程,将低优先级进程的优先
级提高到被它被阻塞进程的最高优先级进程的优先级。
题目
松弛度计算
优先级倒置问题
优先级倒置的解决方法
优先权继承:当低优先级进程阻塞高优先级进程,将低优先级进程的优先
级提高到被它被阻塞进程的最高优先级进程的优先级。