码迷,mamicode.com
首页 > 编程语言 > 详细

常见的进程优先调度算法

时间:2016-06-12 18:54:11      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:优先级调度算法

  • 什么是进程调度以及为什么有进程调度算法

        无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行

    技术分享


  • 常见的进程调度算法

  先进先出算法

  算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。

  例如,有三个进程P1、P2和P3先后进入就绪队列,它们的执行期分别是21、6和3个单位时间,

执行情况如下图:

    技术分享

  对于P1、P2、P3的周转时间为21、27、30,平均周转时间为26。

可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法

  短进程优先

  CPU运行期优先调度算法(SCBF--Shortest CPU Burst First),该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。例如,在就绪队列中有四个进程P1、P2、P3和P4,它们的下一个执行期分别是16、12、4和3个单位时间,执行情况如下图:P1、P2、P3和P4的周转时间分别为35、19、7、3,平均周转时间为16。该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。

  轮转法

  前几种算法主要用于批处理系统中,不能作为分时系统中的主调度算法,在分时系统中,都采用时间片轮转法。

  简单轮转法:系统将所有就绪进程按FIFO规则排队,按一定的时间间隔把处理机分配给队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的处理机而运行。

多级队列方法:将系统中所有进程分成若干类,每类为一级。

  多级反馈队列

  多级反馈队列方式是在系统中设置多个就绪队列,并赋予各队列以不同的优先权。


本文出自 “学习记录” 博客,转载请与作者联系!

常见的进程优先调度算法

标签:优先级调度算法

原文地址:http://10794428.blog.51cto.com/10784428/1788305

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!