我正在尝试了解最短的作业优先算法是如何工作的,我是以正确的方式做到这一点请帮助
Proc Burst1 Burst2
+------+---------+--------+
| A | 10 | 5 |
| B | 3 | 9 |
| C | 8 | 11 |
+------+---------+--------+
B1->3->C1->11->B2->20->A1->30->A2->35->C2->46
答案 0 :(得分:1)
“最短作业优先”并不是一种算法,而是一种策略:在准备执行的作业中,总是选择执行时间最短的作业。你的序列看起来不错。在开始时,以下作业已准备好执行(在括号中执行时间):
A1(10), B1(3), C1(8)
因此选择B1
,之后还可以执行作业B2
,因此这里是已更新的就绪作业列表:
A1(10), B2(9), C1(8)
现在选择C1
,依此类推。
策略的变体“最短作业优先”,其中考虑了所有突发的总时间,即A1 + A2
,B1 + B2
,....然后选择的序列将是:
B1, B2, A1, A2, C1, C2