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

抢占式最短作业优先排序

刘泰
2023-03-14

假设我有两个进程等待使用抢先最短作业优先(SJF)执行。

Process 1:
Arrival Time = 0
Burst Time   = 5

Process 2:
Arrival Time = 2
Burst Time   = 3

在 Time = 2 时,两个进程的突发时间相同,即 3。SJF 排序会运行进程 2,因为它具有更高的初始突发时间,还是会运行进程,因为它们的突发时间当前相同?

谢谢:)

共有1个答案

伍皓
2023-03-14

这是一个非常独特的情况,在这种情况下,它先执行哪个作业并不重要。因为这两个进程还有3秒(无论你怎么说,都是秒或毫秒)的时间来完成执行。它变得像一个“先来先服务”的调度算法

当一个队列中有多个进程,它们的突发时间按升序排序,然后SJF变成FCFS时,也会出现这种情况。

 类似资料:
  • 最短作业优先算法如下图所示: 如果首先是最短的作业/其次是最短的流程,那么顺序不应该是:P1 → P5 → P3 → P4 → P2吗?因为这是服务时间从低到高的顺序。< br >为什么进程2排在第二位? 我知道如果我们改用突发时间,那将是顺序,但我不知道服务时间和突发时间有什么区别。 任何有助于解释该图形的帮助都将不胜感激。

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

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

  • 我有一个问题,如何同时对到达时间和突发时间进行排序。我的代码首先检查较低的突发时间,然后检查到达时间。 最短作业优先(非抢占式)CPU调度检查进程突发时间,如果< code >进程具有最短的突发时间和到达时间,则执行该进程。 下面是我对数组进行排序的代码片段: 下面是上面代码片段的结果: 如果排序公式正确,这应该是输出: 参考:最短作业优先 (SJF)

  • 我的目标是计算抢占最短作业优先调度算法的平均等待时间。 假设作业的到达时间以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