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