ソフトウェア
基本情報技術者試験 科目A免除 修了試験 200912 実施分 問19
処理はすべて CPU 処理である三つのジョブ A,B,C がある。それらを単独で実行したときの処理時間は,ジョブ A が 5 分,ジョブ B が 10 分,ジョブ C は 15 分である。この三つのジョブを次のスケジューリング方式に基づいて同時に実行すると,ジョブ B が終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕
(1) 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
(2) 待ち行列に並んだ順に実行する。
(3) タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
(4) ジョブの切替え時間は考慮しないものとする。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 200912 実施分 問19(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:ウ
覚える知識
ラウンドロビンスケジューリング
ラウンドロビンは、一定の時間片を順番にジョブに割り当て、未完了なら待ち行列の最後尾に回す方式である。
この問題で必要なこと
タイムクウォンタムが十分小さいので3ジョブが均等にCPUを分け合う。Aは5分×3=15分で終了、その時点でBは残り5分。以降BとCが半々で分け合い、Bはさらに10分かかるので25分。
ひっかけ
ジョブ単独時間の合計(30分)や順番に1つずつ処理した場合の値を選ぶと誤る。
この知識の出題:本試験系 1 回・免除試験 6 回(公開問題での観測値)。頻出知識ランキング451位(全1,254件中)。