SJF什么时候比FCFS差?

时间:2015-06-29 11:37:08

标签: operating-system scheduled-tasks multicore supercomputers

在同时处理大量任务的超级计算机操作系统中,当SJF策略花费的时间超过FCFS策略时,是否存在等待时间指标的情况?

可以假设系统中存在多个核心。

1 个答案:

答案 0 :(得分:5)

首先我认为这是不可能的,然后我花了一些时间,最后得出了这个结果:

是的,可以。

假设就绪队列填充了具有相同突发时间(all = x)的进程:

Process    Burst time
 P1          x
 P2          x
 P3          x
 P4          x
 .           .
 .           .
 .           .
 Pn          x

现在在这种情况下,FCFS将会做什么,首先进行的过程将被分配给CPU,然后首先出现的下一个进程将被分配CPU等等,而不会浪费任何时间。

但是,SJF将会做的是:它将首先从就绪队列中的可用作业中找到具有最短突发时间的作业,在这种情况下,由于所有作业都具有相同的突发时间而浪费时间并且SJF最终将遍历就绪队列而没有任何富有成效的结果。