基本情報技術者試験 2008年度 = 平成20年度・秋期 午前 問32

 処理はすべてCPU処理である三つのジョブA、B、Cがある。それらを単独で実行したときの処理時間は、ジョブAが5分、ジョブBが10分、ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると、ジョブBが終了するまでの経過時間はおよそ何分か。

〔スケジューリング方式〕
(1) 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ、処理を中断させて、待ち行列の最後尾へ回す。
(2) 待ち行列に並んだ順に実行する。
(3) タイムクウォンタムは、ジョブの処理時間に比べて十分に小さい値とする。
(4) ジョブの切替え時間は考慮しないものとする。

ア 15 イ 20 ウ 25 エ 30

解答



解説

 本問で問われているラウンドロビンは、プロセスに優先順位を与えずに、一定時間のタイムクウォンタム(CPU割当て時間)を与え、その時間内に終了しない場合は、待ち行列の最後に戻す方式です。
 タイムクウォンタムは非常に短い時間ですが、ここでは大雑把に1分であるとします。そうすると各ジョブは下図のように実行されます。


 この図の通りにジョブA→ジョブB→ジョブCの順で実行されるとは限りませんが、ジョブBが終了するまでの経過時間は、およそ25分となります。


BohYoh.comトップページへ