【操作系统】——处理机如何调度的

处理机的调度

  • 处理机调度上可以分为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】多级反馈排队算法

  • 设置多个就绪队列,分别赋予不同的优先级

猜你喜欢

转载自blog.csdn.net/weixin_44478378/article/details/105805045
今日推荐