CPUスケジューリング計算(FCFS・SJF・SRTF・ラウンドロビン・優先度)
FCFS・SJF・SRTF・ラウンドロビン・優先度スケジューリングをシミュレートします。ガントチャート、各種時間、平均値、CPU使用率を求められます。
ターンアラウンド = 完了 − 到着 · 待ち時間 = ターンアラウンド − 実行 · 応答時間 = 初めてCPUを得た時刻 − 到着。
同順位の場合は先に到着したほう、それも同じなら先に書いたプロセスが優先されます。
| プロセス | 到着 | 実行 | 優先度 | 完了 | ターンアラウンド | 待ち | 応答 |
|---|---|---|---|---|---|---|---|
| P1 | 0 | 8 | 3 | 17 | 17 | 9 | 0 |
| P2 | 1 | 4 | 1 | 5 | 4 | 0 | 0 |
| P3 | 2 | 9 | 4 | 26 | 24 | 15 | 15 |
| P4 | 3 | 5 | 2 | 10 | 7 | 2 | 2 |
| アルゴリズム | 平均待ち | 平均ターンアラウンド | 平均応答 |
|---|---|---|---|
| FCFS | 8.75 | 15.25 | 8.75 |
| SJF | 7.75 | 14.25 | 7.75 |
| SRTF | 6.5 | 13 | 4.25 |
| ラウンドロビン(q = 2) | 12.75 | 19.25 | 2 |
| 優先度(非プリエンプティブ) | 7.75 | 14.25 | 7.75 |
| 優先度(プリエンプティブ) | 6.5 | 13 | 4.25 |
OSの授業や試験では、プロセスの集合を手作業でスケジューリングし、それぞれの待ち時間とターンアラウンドタイムを求める問題が出ます。この計算ツールは、代表的なCPUスケジューリングアルゴリズムであるFCFS、SJF、SRTF(プリエンプティブなSJF)、ラウンドロビン、プリエンプションありなしの優先度スケジューリングをシミュレートし、ガントチャート、プロセスごとの表、平均値、スループット、CPU使用率を表示します。同じ入力に対する全アルゴリズムの比較表も作成します。
使い方
- 1行に1プロセスずつ、名前・到着時間・実行時間と、(優先度スケジューリングの場合は)優先度を入力します。
- アルゴリズムを選びます。ラウンドロビンの場合はタイムクォンタムを設定します。
- 数値が小さいほど優先度が高いのか、大きいほど高いのかを選びます。
- ガントチャート、表、平均値を確認し、2つ目の表でアルゴリズムを比較します。
計算式
ターンアラウンド = 完了 − 到着 · 待ち時間 = ターンアラウンド − 実行 · 応答時間 = 最初の実行 − 到着 · 使用率 = 実行した時間 ÷ (最後の完了 − 最初の到着)
非プリエンプティブなアルゴリズムでは、一度開始したプロセスは最後まで実行され、SRTFとプリエンプティブな優先度はプロセスが到着するたびに再判断します。ラウンドロビンは各プロセスを最大1クォンタムだけ実行し、レディキューの末尾に戻します。既定では、クォンタムが終わる瞬間に到着したプロセスは、多くの教科書と同様にプリエンプトされたプロセスより先にキューに入ります(オプションで変更できます)。同順位の場合は到着が早いほう、それも同じなら先に書いたプロセスが優先されます。コンテキストスイッチの時間は0とみなします。
計算例
サンプルはSilberschatzの『Operating System Concepts』にあるSRTFの例です。P1(到着0、実行8)、P2(1、4)、P3(2、9)、P4(3、5)。スケジュールはP1 0–1、P2 1–5、P4 5–10、P1 10–17、P3 17–26で、待ち時間は9、0、15、2となり、平均待ち時間は6.5です。同じプロセスを単純なFCFSで処理すると、平均8.75待つことになります。
よくある質問
平均待ち時間が最も短いアルゴリズムはどれですか?
実行時間が分かっている場合は、SRTF(プリエンプティブな最短ジョブ優先)が平均待ち時間の面で最適です。現実のシステムでは実行時間を事前に知れないため、ラウンドロビンや優先度方式が使われます。
応答時間とは何ですか?
到着してから、そのプロセスが初めてCPUを得るまでの時間です。ラウンドロビンはこれを短く保つため、対話型のプログラムで重要になります。
教科書のラウンドロビンの答えと少し違うのはなぜですか?
クォンタムが終わる瞬間にちょうど到着したプロセスを、プリエンプトされたプロセスの前に入れるか後に入れるかは、教科書によって異なります。授業に合わせてオプションを切り替えてください。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/cpu-scheduling-simulator/
このツールを引用する
kakaoCalc. (2026, November 8). CPUスケジューリング計算(FCFS・SJF・SRTF・ラウンドロビン・優先度). https://kakao.mobile/ja/tools/cpu-scheduling-simulator/
“CPUスケジューリング計算(FCFS・SJF・SRTF・ラウンドロビン・優先度).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/cpu-scheduling-simulator/.