logo

ラウンドロビンスケジューリングアルゴリズム

このチュートリアルでは、ラウンド ロビン CPU プロセス スケジューリングという最も効率的な CPU プロセス スケジューリング アルゴリズムについて学習します。このアルゴリズムは、以前の CPU プロセス スケジューリング アルゴリズムで検出されたすべての欠陥を除去するため、非常に特殊です。

このラウンド ロビン CPU スケジューリングが非常に人気があるのは、ラウンド ロビンがプリエンプティブ状態でのみ機能するためです。これにより、非常に信頼性が高くなります。

サイラ・バヌ俳優

重要な略語

  1. CPU - - - > 中央処理装置
  2. AT - - - > 到着時刻
  3. BT - - - > バーストタイム
  4. WT - - - > 待ち時間
  5. TAT - - - > 所要時間
  6. CT - - - > 完了時間
  7. FIFO - - - > 先入れ先出し
  8. TQ - - - > タイムクォンタム

ラウンドロビン CPU スケジューリング

ラウンド ロビン CPU スケジューリングは、CPU スケジューリング アルゴリズムの歴史の中で最も重要な CPU スケジューリング アルゴリズムです。ラウンド ロビン CPU スケジューリングでは、Time Quantum (TQ) を使用します。タイム クォンタムはバースト タイムから削除され、プロセスのチャンクを完了できるようにするものです。

タイムシェアリングはアルゴリズムの主な重点です。このアルゴリズムの各ステップは周期的に実行されます。システムは、タイム クォンタムとして知られる特定のタイム スライスを定義します。

まず、レディキューに入る資格のあるプロセスがレディキューに入ります。 Ready Queue の最初のプロセスに入った後、Time Quantum 時間チャンクの間実行されます。実行が完了すると、プロセスは準備完了キューから削除されます。現在でも、プロセスの実行が完了するまでには時間がかかり、その後、プロセスは Ready Queue に追加されます。

Ready Queue には、Ready Queue にすでに存在するプロセスは保持されません。 Ready Queue は、固有でないプロセスを保持しないように設計されています。同一プロセスを保持することでプロセスの冗長性が高まります。

プロセスの実行が完了すると、Ready Queue は完了したプロセスを保持しません。

OSラウンドロビンスケジューリングアルゴリズム

利点

ラウンドロビン CPU スケジューリングの利点は次のとおりです。

  1. かなりの量の CPU が各ジョブに割り当てられます。
  2. バースト時間に依存しないため、本格的にシステムに実装できます。
  3. 先着順の CPU スケジューリング アルゴリズムで発生する護送船団効果や飢餓問題の影響を受けません。

短所

ラウンドロビン CPU スケジューリングの欠点は次のとおりです。

  1. オペレーティング システムのスライス時間が短いと、CPU 出力が低下します。
  2. ラウンドロビン CPU スケジューリング手法では、コンテキストの交換に時間がかかります。
  3. タイムクォンタムはパフォーマンスに大きな影響を与えます。
  4. 手順に優先順位を設定することはできません。

例:

 S. No Process ID Arrival Time Burst Time _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1 P 1 0 7 2 P 2 1 4 3 P 3 2 15 4 P 4 3 11 5 P 5 4 20 6 P 6 4 9 

タイムクォンタム TQ = 5 と仮定します

準備完了キュー:

 P1, P2, P3, P4, P5, P6, P1, P3, P4, P5, P6, P3, P4, P5 

ガントチャート:

スプリング ブートの注釈
OSラウンドロビンスケジューリングアルゴリズム

平均完了時間

 Average Completion Time = ( 31 +9 + 55 +56 +66 + 50 ) / 6 Average Completion Time = 267 / 6 Average Completion Time = 44.5 

平均待ち時間

 Average Waiting Time = ( 5 + 26 + 5 + 42 + 42 + 37 ) / 6 Average Waiting Time = 157 / 6 Average Waiting Time = 26.16667 

平均所要時間

 Average Turn Around Time = ( 31 + 8 + 53 + 53 + 62 + 46 ) / 6 Average Turn Around Time = 253 / 6 Average Turn Around Time = 42.16667