文章目录
处理机的调度
- 处理机调度上可以分为3个层次,级别从低到高
(1)哪些资源分配给CPU——低级
(2)哪些进程给外存——中级
(3)哪些作业放入内存——高级
- 处理机的调度实际上就是不同算法将作业合理分配,提高CPU的利用率,达到公平、平衡
作业:用户需要计算机完成的人物
进程:某个程序对数据集的运行过程,资源调度的基本单位
处理机调度的各种算法
【1】先来先服务算法FCFS
- 按照作业/进程变为就绪状态的先后顺序,分派CPU计算资源
- FCFS为非抢占式算法
当前作业/进程占用cpu资源直到执行结束/阻塞,才会返回资源,不会被抢走
- 谁先来就执行谁
【2】短进程优先算法
- 短进程优先算法(Shortest Pocess First, SPF)对短进程优先的算法
从就绪队列中选择一个估计运行时间最短的进程,分配CPU资源
- SPF属于非抢占式
当执行完或者在运行期间出现了阻塞才出让CPU
【3】短作业优先算法
- 短作业优先算法(Shortest Job First)
从后备队列中选择若干个估计运行时间最短的作业,投入到内存中
- 优点
(1)比FCFS改善了平均周转时间和平均带权时间,缩短了作业的等待时间
(2)提高了系统吞吐量
- 缺点
(1)对长作业不利,长作业可能长时间得不到执行——饿死
(2)没有依据作业的紧迫程度划分等级
(3)难以准确估计作业的执行时间,影响进程调度
【4】最高影响比优先算法HRN
- HRN是对FCFS算法和SJF算法的一种平衡综合
FCFS先来先服务算法:不考虑作业执行时间
SJF短作业优先算法:考虑了作业执行时间,未考虑作业等待时间
- HRN: 既考虑每个作业的等待时间也考虑执行时间,从中选出响应比最高的作业投入内存
- 优点
(1)同时到达的人物,短作业优先。相同等待时间,运行时间越小越先执行
(2)长作业随着等待时间的增加,响应比增加,也可以进入执行状态
- 缺点
(1)吞吐量下降,由于长作业的执行,同一时间执行的作业数量减少
(2)系统开销增加:要计算响应比
【5】最高优先数算法
- 进程调度中,系统每次将处理机分配给就绪队列中优先级最高的进程
- 非抢占式
系统一旦将处理机分配给了进程,则直到进程结束或者阻塞才会归还处理机——不能被抢走
- 抢占式
入股突然出现一个优先级跟高的进程,则当前进程就要立刻停止,将处理机让出来
【6】基于时间片的轮转调度算法
- 让每个进程在就绪队列中的等待时间与享受服务的时间成正比
【7】最短剩余时间优先算法
- 每次都将处理机分配个剩余运行时间最少的进程
【8】多级反馈排队算法
- 设置多个就绪队列,分别赋予不同的优先级