最短作业优先算法如下图所示:
如果是最短的工作优先/最短的流程接下来,顺序不应该是:
P1 → P5 → P3 → P4 → P2 ?因为这是从最低到最高服务时间的顺序。
为什么进程2排在第二位?
我知道如果我们改用突发时间,顺序就是这样,但我不知道服务时间和突发时间之间的区别是什么。
任何帮助解释该图形将不胜感激。
最佳答案
问题中的图像遵循正确的顺序是:
P1 → P2 → P5 → P3 → P4
解释:
P1
到达 time = 0
,所以它会先执行。此进程的服务时间为 3
。所以这个过程在time=3
时完成。
在time=3
,只有一个进程到达,即P2
。所有其他进程稍后到达。所以现在执行这个过程。该进程的服务时间为6
,因此该进程在time=3+6=9
完成。
现在time=9
,有3个进程,分别是P3
、P4
和P5
(其中分别在 time= 4、6 和 8
到达)。由于P5
的服务时间是2
,与P3
和P4
相比是最小的,所以P5
现已执行,并在 time=9+2=11
完成。
在time=11
,我们有两个进程P3
和P4
(分别在time=4 和6
)。由于P3
的服务时间是4
,比P4
少,所以执行P4
现在,它在 time= 11+4=15
在time=15
,我们只有一个进程P4
。所以现在执行了。由于此进程的服务时间为 5
,因此它在 time = 15+5 = 20
关于algorithm - 了解最短作业优先算法(非抢占式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42514363/