美文网首页
常见调度算法总结

常见调度算法总结

作者: 奋斗live | 来源:发表于2018-03-09 23:32 被阅读0次
先来先服务算法

先来先服务算法是最简单的调度算法(FCFS),也叫先进先出算法(FIFO)

优点:易于理解并且易于程序中运用
缺点:一批任务的平均周转时间取决于各个任务到达的顺序,如果短任务位于长任务之后,那么将增大平均周转时间。

短作业优先算法

短作业优先算法,又分成可抢占式(最短剩余时间优先,shortest remaining time next, SRTF)和非抢占式(最短作业优先 shortest job first,SJF)算法。它们都使短作业获得了良好的服务。

轮转调度

每个进程被分配一个时间片,即允许进程在该时间段中运行。如果在时间片结束时该进程还在运行,则剥夺CPU分配给另一个进程。如果该进程在时间片结束前阻塞或结束,则CPU立即进行切换。此调度程序所要做的就是维护一张可以运行进程列表,如下图,当一个进程用完它的时间片后,就被移到队列的末尾


image.png

优点:公平性,各个就绪任务能得到相同的时间片;活动性,每个就绪任务能一直保持活动。

缺点:时间片的大小q要适当选取,如果选择不当,将会影响到系统的性能和效率。如果q太大,每个任务都在一个时间片内完成,这就退化为先来先服务算法了。如果q太小,每个任务需要更多的时间片才能运行结束,这就使任务之间的切换次数增加,从而增大了系统的管理开销,降低了CPU的使用效率。一般来说,q值选取在20ms~50ms比较合适。

优先级调度

基本思想:为每个进程设置一个优先级,在调度的时候,选取优先级最大的任务去执行。

优先级可以是静态赋予:创建任务的时候,就指定优先级大小,并且保持不变,直到任务结束。也可以是动态赋予:优先级在执行任务中动态改变。

为了防止高优先级进程无休止地运行下去,调度程序可以在每个时钟中断降低当前进程的优先级。

在平时中,我们可以把不同的任务划分为不同的优先级,然后在相同优先级的任务中使用时间片轮转法,如下图


image.png

相关文章

  • 常见调度算法总结

    先来先服务算法 先来先服务算法是最简单的调度算法(FCFS),也叫先进先出算法(FIFO) 优点:易于理解并且易于...

  • 常见的调度算法总结

    调度算法是指:根据系统的资源分配策略所规定的资源分配算法。 一、FCFS——先来先服务和短作业(进程)优先调度算法...

  • 常见调度算法

    先来先服务(FCFS)调度算法短作业优先(SJF)调度算法优先级调度算法高响应比优先调度算法时间片轮转调度算法多级...

  • 操作系统实验六

    实验内容 本实验通过编程模拟实现几种常见的磁盘调度算法 简直可怕,怎么可能写出来磁盘调度算法啊喂!算法实现倒还好说...

  • 调度算法总结

    一、先来先服务(FCFS)/先进先出(FIFO)调度算法 (1)概念:按照作业/进程进入系统的先后次序进行调度,先...

  • 简述LVS调度方案及应用场景

    Lvs的调度算法可分为静态调度和动态调度。静态调度即根据算法本身的结果来进行调度,包括: 1、轮询调度算法(RR)...

  • 10.2 典型调度算法

    在操作系统中存在多种调度算法,其中有的调度算法适用于作业调度,有的调度算法适用于进程调度,有的调度算法两者都适用。...

  • 几种常见的调度算法

    一、处理机调度相关基本概念 1、调度方式和调度算法的若干准则 1)面向用户的准则:周转时间短(CPU执行用时Ts、...

  • 进程调度的算法及思想

    1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调...

  • LVS调度方案及NGINX模块

    简述LVS调度方案及应用场景 调度算法可以分为静态调度和动态调度 1、静态调度即根据算法本身的结果来进行调度** ...

网友评论

      本文标题:常见调度算法总结

      本文链接:https://www.haomeiwen.com/subject/smzmfftx.html