0

假设以下进程在指定的时间到达执行。每个进程将运行列出的时间量。

Process [Arrival Time(ms) , Burst Time(ms)]
A[0 , 5] , B[3 , 5] , C[5 , 3] , D[7 , 2]

我想绘制甘特图并计算抢先式最短作业优先调度的平均等待时间。

解决方案

http://imgur.com/fP8u61C

等待时间为 2ms。

请告诉我这是否正确。

我怀疑的步骤是,在进程 B 到达的 3ms 时,调度程序是完成进程 A 还是启动进程 B。

4

2 回答 2

0

你可能不得不自己做你的功课。

展示您的尝试并说出您的问题和问题。

不要等待完整的现成解决方案!

于 2013-04-04T15:16:23.667 回答
0

是的,你的答案是正确的。事实上,提出的问题是模棱两可的,但两种可能性都给出了相同的答案。

首先,歧义: Shortest Job First 调度通常不被认为是抢占式的。抢占式变体称为 Shortest Remaining Time First Scheduling(例如参见Wikipedia 上的 Shortest Job Next 条目。但是,您的练习声明“抢占式作业优先调度”,这是模棱两可的......

其次,正如您所提到的,这两个调度策略之间可能存在差异的唯一时间是t=3A 和 B 都符合条件的时候。但是如果调度是非抢占式的,当然 A 会继续执行。它是抢占式的,我们必须考虑剩余时间:A 还剩 2 毫秒,而 B 还剩 5 毫秒……所以 A 仍然获得 CPU。

最后,等待时间是 : A -> 0 ms, B -> 7 ms, C -> 0 ms, D -> 1ms,其平均值确实是2 ms

于 2013-04-04T17:40:02.200 回答