进程调度算法1——FCFS、SJF、HNNR

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程调度算法1——FCFS、SJF、HNNR相关的知识,希望对你有一定的参考价值。

参考技术A

  进程的调度方式有两种: 非剥夺调度方式(非抢占式)和剥夺调度方式(抢占方式)。
  非抢占式:只允许进程主动放弃处理机。如进程运行结束、异常结束或主动请求I/O阻塞。在运行的过程中即使有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。
  抢占式:当一个进程正在处理机上执行时,如果有一个更重要更紧迫的进程需要处理机,则立即暂停正在执行的进程,将处理机分配给更重要更紧迫的那个进程。
  下面介绍适用于早期操作系统几种进程调度的算法

  先来先服务(FCFS):按照到达的先后顺序调度,事实上就是等待时间越久的越优先得到服务。
  下面表示按照先来先服务算法的执行顺序

  计算进程的几个衡量指标:

  短作业优先算法是非抢占式的算法,但是也有抢占式的版本—— 最短剩余时间优先算法(STRN,Shortest Remaining Time Next)
  用于进程的调度算法称为短进程优先调度算法(SPF,Shortest Process First)。

  短作业/进程优先调度算法:每次调度时选择当前已到达且运行时间最短的作业/进程.。

  因为进程1最先达到,此时没有其他线程,所以进程1先被服务。当进程1运行完后,进程2和3已经到达,此时进程3需要的运行时间比进程2少,所以进程3先被服务…
  计算进程的几个衡量指标:

  最短剩余时间优先算法:每当有进程 加入就绪队列改变时就需要调度 ,如果新到达的进程的所需的运行时间比当前运行的进程剩余时间更短,则由新进程抢占处理机,当前运行进程重新回到就绪队列。此外,当一个 进程完成时也需要调度

通过比较上面三组的平均周转时间、平均带权周转时间和平均等待时间可以看出,短作业优先算法可以减少进程的等待时间,对短作业有利。

  高响应比优先算法: 非抢占式的调度算法 ,只有当前运行的进程主动放弃CPU时(正常/异常完成、或主动阻塞),才需要进行调度,调度时计算所有就绪进程的相应比,选响应比最高的进程上处理机。

   响应比 = (等待时间 + 运行时间)/ 运行时间

  上面的三种调度算法一般适用于 早期的批处理系统 ,没有考虑响应时间也不区分任务的紧急程度。因此对用户来说交互性差。

  如发现错误,请指正!!!

(王道408考研操作系统)第二章进程管理-第二节3:调度算法详解1(FCFSSJF和HRRN)

进程调度算法也称为CPU调度算法,操作系统内存在着多种调度算法,有的调度算法适用于作业调度,有的调度算法适用于进程调度,有的两者都适用。常见的调度算法有(本节介绍适合于早期批处理系统的调度算法):

  • 先来先服务调度算法
  • 最短作业优先调度算法
  • 高响应比优先调度算法

一:先来先服务调度算法(FCFS)

算法思想:先来后到,每次从就绪队列选择最优先进入队列的进程,然后一直运行,知道进程退出或被阻塞,才会继续在队列中选择下一个第一个进程继续运行,属于非抢占

  • 作业调度:考虑的是哪个作业先到达后

以上是关于进程调度算法1——FCFS、SJF、HNNR的主要内容,如果未能解决你的问题,请参考以下文章

FCFS和SJF调度方式下的平均周转时间和每个进程的带权周转时间

FCFSSJFHRRN调度算法

调度算法先来先服务(FCFS)最短作业优先(SJF)和最高响应比优先(HRRN)算法

操作系统| 作业调度算法平均周转时间平均带权周转时间先来先服务FCFS短作业优先SJF高优先权算法FPF高响应比优先算法HRRN

作业调度算法平均周转时间平均带权周转时间先来先服务FCFS短作业优先SJF高优先权(级)算法FPF高响应比优先算法HRRN

操作系统 王道考研2019 第二章:进程管理 -- 调度算法:适用于早期的批处理系统(先来先服务(FCFS)短作业优先(SJF)高响应比优先(HRRN))