具有预测突发时间的最短作业优先CPU调度

先决条件—— 处理机调度 , SJF–第1组(非先发制人) , 第二组(先发制人)

null

最短工作优先(SJF) 是一种优化调度算法,因为它提供了最大吞吐量、最小平均等待时间(WT)和周转时间(TAT),但由于无法提前预测进程的突发时间,因此实际上无法实现。

我们可能不知道下一个CPU突发的长度,但我们可以预测它的值。我们预计下一次CPU突发事件的长度将与前一次类似。我们可以用最短的CPU长度来预测下一个CPU的突发。

有两种方法可以预测过程的爆发时间:

1.静态法- 我们可以通过两个因素预测爆破时间:

  • 工艺尺寸- 假设我们有过程P 古老的 已经执行了大小为200KB的程序,其突发时间为20个时间单位,现在让我们假设我们有一个新的进程P 刚出现的 大小为201 KB,尚未执行。 我们取已经执行的进程P的突发时间 古老的 它的大小几乎与新流程的大小相同,与新流程P的突发时间相同 刚出现的 .
  • 工艺类型- 我们可以根据过程的类型来预测爆发时间。操作系统进程(如调度器、调度器、分段、分段)比用户进程(游戏、应用软件)快。任何新O.S进程的突发时间都可以从任何类似类型和用户进程相同的旧O.S进程中预测。

    注—— 静态突发时间预测方法不可靠,因为它总是不能正确预测。

    2.动态法- 让我们 是我的实际爆发时间吗 th 过程和 n+1 是n+1的预测突发时间 th 过程

    • 简单平均- 给定n个过程(P 1. P 2 …P N )
      Τn+1 = 1/n(Σi=1 to n ti)
    • 指数平均(老化)——
      Τn+1 = αtn + (1 - α)Τn

      其中α=平滑因子,0<=α<=1,

      t N =n的实际突发时间 th 过程 Τ N =n的预测突发时间 th 过程

      通称,

      αtn + (1 - α)αtn-1 + (1 - α)2αtn-2...+ (1 - α)jαtn-j...+ (1 - α)n+1Τ0 

      Τ 0 是一个常数或总体系统平均值。

    平滑因子(α)- 它控制着我们预测中最近和过去历史的相对权重。

    • 如果α=0,则 n+1 = Τ N i、 e.初始预测突发时间的值没有变化。
    • 如果α=1,则 n+1 =t n i、 e.新工艺的预计爆破时间将始终根据n的实际爆破时间变化 th 过程
    • 如果α=1/2,则最近和过去的历史权重相等。

    例如—— 计算指数平均值,T1=10,α=0.5,算法为SJF,之前的运行为8,7,4,16。 (a) 九, (b) 八, (c) 7.5 (d) 没有

    说明: 最初T1=10,α=0.5,给定的运行时间为8,7,4,16,因为它是最短的作业, 因此,这些进程可能的服务顺序是4、7、8、16,因为SJF是一种非抢占技术。 所以,使用公式:T2=α*t1+(1-α)t1 所以我们有, T2=0.5*4+0.5*10=7,这里t1=4,t1=10 T3=0.5*7+0.5*7=7,这里t2=7,t2=7 T4=0.5*8+0.5*7=7.5,这里t3=8,t3=7 因此,第四个过程的未来预测将是T4=7.5,这是选项(c)。

    本文由 亚什·辛拉 .如果你喜欢GeekSforgek并想投稿,你也可以使用“投稿”撰写文章。极客。组织或邮寄你的文章到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

    如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享