オペレーティングシステム

CPUスケジューリング

実行可能なプロセスが複数あるとき、OSは実行順を決めます。同じ入力で3方式の待ち時間を比べましょう。

4プロセスの実行順を示すガントチャート

プロセス到着時刻実行時間待ち時間

1. 方式を選択

2. 実行順を再生

平均待ち時間(小さいほど短い)

表の時刻や時間を変更すると再計算します。再生するとCPUの使用順が表示されます。

次に誰を選ぶかが異なる

FCFSは到着順に完了まで実行します。長い処理が先頭だと、後続の短い処理も待たされます。

SJFは到着済みの短い仕事を先に実行します。平均待ち時間を減らせますが、所要時間の予測が必要で、長い仕事が飢餓状態になる場合もあります。

ラウンドロビンは一定時間ずつ実行して列の末尾へ戻します。公平に機会を与えますが、割当時間が短すぎると切替コストが増えます。

待ち時間の計算

実行可能な状態でCPUを待った時間の合計です。

待ち時間=終了時刻−到着時刻−実行時間