SJF什么时候比FCFS差?

wan*_*mer 0 operating-system multicore scheduled-tasks supercomputers

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

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

Sum*_*eet 5

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

是的,它可以.

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

Process    Burst time
 P1          x
 P2          x
 P3          x
 P4          x
 .           .
 .           .
 .           .
 Pn          x
Run Code Online (Sandbox Code Playgroud)

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

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