了解最短作业优先算法(非先发制人)

时间:2017-02-28 16:48:29

标签: algorithm scheduling job-scheduling

最短作业优先算法如下图所示:

SJF

如果下次是最短作业/最短程序,则该命令不应该是: P1→P5→P3→P4→P2?因为那是从最低到最高服务时间的顺序。
为什么过程2排在第二位?

我知道如果我们使用突发时间,那将是订单,但我不知道服务时间和突发时间之间的差异是什么。

任何帮助将非常感谢解释该图形。

1 个答案:

答案 0 :(得分:3)

问题中的图像遵循正确的顺序:

  

P1→P2→P5→P3→P4

<强>说明:
P1到达time = 0,因此会先执行。此过程的服务时间为3。因此,此过程在time=3完成。

time=3,只有一个到达的进程P2。所有其他进程稍后到达。所以这个过程现在已经执行了。此过程的服务时间为6,因此此过程在time=3+6=9完成。

现在位于time=9,有三个流程P3P4P5(分别到达time= 4, 6 and 8)。由于P5的服务时间2P3P4的服务时间相比最短,因此P5现在已执行并且已在time=9+2=11

time=11,我们有两个流程P3P4(分别到达time= 4 and 6)。由于P3的服务时间4P4的服务时间相比较少,因此现在执行P4并在time= 11+4=15 < / p>

time=15,我们只有一个进程P4。所以现在就执行了。由于此流程的服务时间为5,因此会在time = 15+5 = 20

处完成