0

(これは私のコンピュータ工学の学位の5学期に尋ねられた質問でした)

使用されるスケジューリングがラウンドロビンであるとすると、次のシナリオでのプロセス実行の順序はどうなりますか?

クォンタムサイズ=4

プロセス----到着時間----バースト時間

A --- 0 --- 3

B --- 1---5

C --- 3 ---2

D --- 9 --- 5

E --- 12 --- 5

私の本当の疑問は時間9にあります。この時点で、AとCは実行を終了しました。Bはキューにあり、Dはちょうど入ったところです。どちらが最初に実行されますか?BまたはD?

全体的な順序はABCDEBDEまたはABCBDEDEである必要がありますか?

4

3 に答える 3

1

Quantumラウンドロビンでは、プロセスは、あなたが言及していないと呼ばれる期間実行されます。それでも問題ありません。Round Robinアルゴリズムによると、各プロセスは循環的に実行するために等しい期間を取得します。あいまいな点で、First Come First Serveメソッドを実装します。ここでデッドロックの状況について言及しています。B最初にcomする必要があります。ここにいくつかの参考文献があります:単語の定義 簡単な例

于 2012-09-06T05:06:59.800 に答える
1

exeの順序はABCBDEDEになります。これは、時間3で、つまり準備完了キューのexeの後にB、Cが同じ順序であるため、Bは時間7まで実行され(TQ <bのバースト時間として)、Bは循環的にキューに戻されます。キュー(レディキュー)は次のようになります。ABC -B
および時間7でcは時間10まで実行されますが、cdのexeは時間9で準備キューに到着したため、ABCBDのようなキュー...最終的なチャートは次のようになります。

Q = | A | B | C | B | D | E | D | E | T = | | | | | | | | | 0 3 7 10 11 15 19 20 21

于 2012-09-07T04:59:19.213 に答える
0

ラウンドロビンスケジューリングはFCFS(F irst C ome F irst S erve)スケジューリングに似ていますが、プリエンプションが追加されています。レディキューは循環キューとして扱われます。CPUスケジューラは、レディキューを回って、最大1タイムクォンタムの時間間隔で各プロセスにCPUを割り当てます。 オペレーティングシステムの概念(シルバーシャッツ)

あなたの場合、ガントチャートは次のようになります。

A   |  B  |  C  |  D  |  E  |  B  |  D  |  E  |
0   3     7     9     13    17    18    19   20     

この場合、最初にFCFSを検討し、プロセスA(到着時間0 ms)から開始し、その後、到着時間(質問にリストしたのと同じシーケンス)に基づいて各プロセスを1タイムクォンタム(各4ミリ秒)。

プロセスのバースト時間がタイムクォンタムよりも短い場合は、CPUを自発的に解放します。それ以外の場合は、プリエンプションが適用されます。

したがって、スケジュールの順序は次のようになります。

A -> B -> C -> D -> E -> B -> D -> E

于 2016-08-04T06:58:25.327 に答える