当前位置: 首页 > 知识库问答 >
问题:

理解最短作业优先算法(非抢占式)

祖奇
2023-03-14

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

如果首先是最短的作业/其次是最短的流程,那么顺序不应该是:P1 → P5 → P3 → P4 → P2吗?因为这是服务时间从低到高的顺序。< br >为什么进程2排在第二位?

我知道如果我们改用突发时间,那将是顺序,但我不知道服务时间和突发时间有什么区别。

任何有助于解释该图形的帮助都将不胜感激。

共有1个答案

田普松
2023-03-14

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

P1→P2→P5→P3→P4

说明:
P1 到达时间 = 0 ,因此将首先执行。此流程的服务时间为 3.所以这个过程在时间=3完成。

在< code>time=3时,只有一个进程到达,即< code>P2。所有其他进程稍后到达。所以这个过程现在被执行。此流程的服务时间为< code>6,因此此流程在< code>time=3 6=9完成。

现在,在< code >时间=9时,有三个进程是< code>P3 、< code>P4和< code>P5(它们分别在< code >时间= 4、6和8时到达)。由于< code>P5的服务时间是< code>2,与< code>P3和< code>P4的服务时间相比是最小的,因此< code>P5现在被执行,并在< code > time = 9 ^ 2 = 11 完成。

time=11时,我们有两个进程,分别是P3 time=4和6时到达)。由于 P3的服务时间为 4,与 相比,该服务时间更短,因此 现在执行,并在

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

 类似资料:
  • 假设我有两个进程等待使用抢先最短作业优先(SJF)执行。 在 Time = 2 时,两个进程的突发时间相同,即 3。SJF 排序会运行进程 2,因为它具有更高的初始突发时间,还是会运行进程,因为它们的突发时间当前相同? 谢谢:)

  • 我的目标是计算抢占最短作业优先调度算法的平均等待时间。 假设作业的到达时间以2个单位为间隔,如0,2,4,6……即,第一个作业以0个单位进入,第二个作业在2个单位的时间后进入,以此类推。 我为我的程序测试了 3 个测试用例并得到了正确答案: 测试用例1: 作业:8,4,9,5 平均时间:6.5 测试用例2: 作业:7,4,1,4 平均时间:3 但是当我把一个有1000个作业的文件作为输入时,我得到

  • 嗨,伙计们。我们被分配了一个关于抢占优先调度的任务,我真的不知道如何做到这一点,因为两个或多个进程具有相同的优先级编号。 我必须做一个甘特图,计算周转时间和平均等待时间。 如果可能的话,你们能否发布一个关于如何做到这一点的分步解决方案,以便我可以研究它是如何完成的。 谢谢你们的帮助。

  • 在非先占优先级调度中,进程根据分配给它们的优先级编号进行调度。 一旦进程被安排好了,它就会运行直到完成。 通常,优先级数越低,进程的优先级越高。 人们可能会对优先级数字感到困惑,因此在GATE中,明确提到哪一个是最高优先级,哪一个是最低优先级。 示例 在例子中,有7个进程:,,,,,和。 它们的优先级,到达时间和爆发时间在表中给出。 进程ID 优先级 到达时间 爆发时间 1 2 0 3 2 6 2

  • 我了解最短作业优先(非抢占)调度是如何工作的。基本上,当CPU完成当前作业时,它会选择队列中最短的作业进行下一步执行。 这是我在网上找到的一个例子。 我试图理解这个例子会是什么样的,如果它是对SJF未来的预测。关于如何计算下一个预测的例子有很多[举例]。但是我找不到一个例子来说明预测的CPU突发时间将如何用于选择下一个要执行的作业。 假设Tn是第n个作业的预测突发时间。tn是实际突发时间。最初的预

  • 假设以下进程在指定的时间到达执行。每个进程将运行列出的时间量。 我想绘制甘特图并计算抢占式最短作业优先调度的平均等待时间。 解决办法 http://imgur.com/fP8u61C 等待时间为2毫秒。 请告诉我这是否正确。 我怀疑的步骤是,在进程B到达的3ms时,调度程序是完成进程A还是启动进程B。