プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

OSのラウンドロビンスケジューリングを図解!タイムスライスの仕組みと計算例

ラウンドロビンスケジューリングとは?

ラウンドロビン(Round Robin)スケジューリングは、オペレーティングシステム(OS)を代表するCPUスケジューリング方式の一つです。実行待ちのプロセスを先入れ先出し(FIFO)の待ち行列で管理し、先頭から順にCPUを割り当てます。一定時間が経過するかプロセスが終了すると、そのプロセスは待ち行列の末尾に戻り、次のプロセスへCPUが譲られます。この仕組みにより、すべてのプロセスが公平にCPU時間を獲得でき、特定のプロセスによるCPU独占を防ぐことができます。

タイムスライス(時間量子)の役割

タイムスライス(時間量子)とは、1回の順番で各プロセスが連続してCPUを使用できる最大時間のことです。タイムスライスが長すぎると他のプロセスを待たせる時間が増えて応答性が低下し、逆に短すぎるとコンテキストスイッチのオーバーヘッドが増大します。そのため、システムの目的に応じた適切な値の設定が重要になります。

例題:4つのプロセスをラウンドロビンで実行する

ここでは、次の4つのプロセスがすべて時刻0に同時に到着したものとして、タイムスライスを2単位に設定して実行する例を見ていきましょう。

プロセスバースト時間(CPU必要時間)
A4
B1
C8
D1

ガントチャートで実行の流れを確認

A B C D A C C C
0 2 3 5 6 8 10 12 14

このガントチャートは、CPUが次のような流れで割り当てられたことを示しています。

  1. 時刻0〜2:プロセスAが最初のタイムスライスを実行。残りバースト時間は2。
  2. 時刻2〜3:プロセスBを実行。バースト時間が1のため、この時点で完了。
  3. 時刻3〜5:プロセスCを実行。残りバースト時間は6。
  4. 時刻5〜6:プロセスDを実行。バースト時間が1のため完了。
  5. 時刻6〜8:再びAの順番となり、残りの2単位を実行して完了。Aの完了時刻は8です。
  6. 時刻8〜14:待ち行列に残っているのはCだけなので、Cはタイムスライスごとに連続して実行され、時刻14に完了します。

完了時刻・ターンアラウンド時間・待ち時間の計算

到着時刻がすべて0の場合、ターンアラウンド時間=完了時刻−到着時刻、待ち時間=ターンアラウンド時間−バースト時間として求められます。

プロセスバースト時間完了時刻ターンアラウンド時間待ち時間
A4884
B1332
C814146
D1665

この結果、平均待ち時間は (4+2+6+5) ÷ 4 = 4.25、平均ターンアラウンド時間は (8+3+14+6) ÷ 4 = 7.75 となります。

まとめ

ラウンドロビンスケジューリングでは、タイムスライスごとにCPUが各プロセスへ順番に交代するため、短いプロセスでも長いプロセスでも一定間隔で必ず実行機会が訪れます。本例のようにガントチャートを描いて実行順序を追うことで、完了時刻や待ち時間を正確に求められるようになります。対話型システムで重視される応答性と公平性を両立できる点が、この方式の大きな魅力です。

  1. MacのOSをアップデートする方法!最新バージョンへの更新手順と事前準備のポイント

    スマートフォン、タブレット、ノートパソコン、スマートウォッチ、デスクトップPCなど、どんなデバイスを使っていても、定期的なアップデートは非常に重要です。OSの最新アップデートには、セキュリティの強化、バグの修正、パフォーマンスの向上など、さまざまなメリットが含まれています。macOSも同様に、Appleが提供する最新のソフトウェアバージョンでMacが動作するよう、常に更新しておくことが大切です。 Appleは定期的にmacOSのアップデートをリリースしており、これを活用すればMacのオペレーティングシステムを最新の状態に保てます。2021年9月にリリースされた「macOS Big Sur 11

  2. 2022年版・無料で使えるおすすめオープンソースOS 8選

    MacやWindowsなどの有料OSに飽きて、何か新しいものを試してみたいと思いませんか?さまざまなOSを試すのが好きな方もいれば、友人が使っているから自分も試してみたいという方もいるでしょう。実は、オンラインには高速かつ多機能なOSが数多く存在します。この記事では、PCにインストールして使えるおすすめのオープンソースOSを厳選してご紹介します。 オープンソースOSは自由にカスタマイズしたり、その仕組みを研究したりすることもできるので、学習素材としても最適です。 2022年版 おすすめオープンソースOS 8選 ここでは、今すぐインストールできる効率的なオープンソースOSを8つ紹介します。それぞ