Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 最短作业优先调度算法_Algorithm_Cpu_Scheduling - Fatal编程技术网

Algorithm 最短作业优先调度算法

Algorithm 最短作业优先调度算法,algorithm,cpu,scheduling,Algorithm,Cpu,Scheduling,我正在试图了解最短作业优先算法是如何工作的,我这样做是否正确请帮助 Proc Burst1 Burst2 +------+---------+--------+ | A | 10 | 5 | | B | 3 | 9 | | C | 8 | 11 | +------+---------+--------+ B1->3->C1->11->B2->20->A1->3

我正在试图了解最短作业优先算法是如何工作的,我这样做是否正确请帮助

Proc     Burst1    Burst2
+------+---------+--------+
|  A   |   10    |   5    |
|  B   |   3     |   9    |
|  C   |   8     |   11   |
+------+---------+--------+

B1->3->C1->11->B2->20->A1->30->A2->35->C2->46
“最短作业优先”实际上不是一种算法,而是一种策略:在准备执行的作业中,始终选择执行时间最短的作业。你的序列看起来不错。开始时,以下作业已准备好执行(括号内为执行时间):

因此选择了
B1
,之后作业
B2
也准备好执行,因此下面是准备好的作业的更新列表:

A1(10), B2(9), C1(8)
现在选择了
C1
,依此类推

“最短作业优先”策略有多种变体,其中考虑了所有突发事件的总时间,即
A1+A2
B1+B2
。那么,所选的顺序将是:

B1, B2, A1, A2, C1, C2

除非您有一些Java代码要显示,否则我将删除该标记。在我设法猜出您对表和下面的步骤的实际含义之后,看起来是正确的。你的问题到底是什么?您的问题可能是如何实现它(在Java中)?我只想知道答案是否正确@doomster
B1, B2, A1, A2, C1, C2