応用情報技術者 2018年 秋期 午前2 問16
問題文
処理は全てCPU処理である三つのジョブ A, B, Cがある。それらを単独で実行したときの処理時間は、ジョブAは5分、ジョブBは10分、ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に開始すると、ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕
(1) 一定時間(これをタイムクウォンタムと呼ぶ) 内に処理が終了しなければ、処理を中断させて、待ち行列の最後尾へ回す。
(2) 待ち行列に並んだ順に実行する。
(3) タイムクウォンタムは、ジョブの処理時間に比べて十分に小さい値とする。
(4) ジョブの切替え時間は考慮しないものとする。
選択肢
ア:15
イ:20
ウ:25(正解)
エ:30
処理時間が異なる3ジョブのラウンドロビンスケジューリング【午前2 解説】
要点まとめ
- 結論:ジョブBが終了するまでの時間は約25分となる。
- 根拠:ラウンドロビン方式では各ジョブが順番にCPUを一定時間ずつ使い、処理時間の合計が経過時間に影響する。
- 差がつくポイント:タイムクウォンタムが十分小さいため、ジョブの切替えが頻繁に起こり、各ジョブの処理時間が公平に分割される点を理解すること。
正解の理由
ラウンドロビン方式では、ジョブA(5分)、B(10分)、C(15分)が順番にCPUを使い、タイムクウォンタムが非常に小さいため、実質的に1分ずつ交互に処理されると考えられます。
1サイクルで3ジョブが1分ずつ処理されるため、1サイクルの処理時間は3分。
ジョブBが10分処理されるには10サイクル必要で、10サイクル×3分=30分かかるように見えますが、ジョブAは5分で終了し、その後はジョブBとCだけが交互に処理されます。
ジョブA終了後は2ジョブで回るため、残りのジョブBの処理時間は5分(10分−5分)、ジョブCは10分(15分−5分)となり、1サイクルは2分に短縮。
これを踏まえて計算すると、ジョブBの終了までの合計時間は約25分となります。
したがって、選択肢の中で最も近いのはウ: 25分です。
1サイクルで3ジョブが1分ずつ処理されるため、1サイクルの処理時間は3分。
ジョブBが10分処理されるには10サイクル必要で、10サイクル×3分=30分かかるように見えますが、ジョブAは5分で終了し、その後はジョブBとCだけが交互に処理されます。
ジョブA終了後は2ジョブで回るため、残りのジョブBの処理時間は5分(10分−5分)、ジョブCは10分(15分−5分)となり、1サイクルは2分に短縮。
これを踏まえて計算すると、ジョブBの終了までの合計時間は約25分となります。
したがって、選択肢の中で最も近いのはウ: 25分です。
よくある誤解
ジョブの処理時間を単純に足してしまい、45分や30分と考える誤りがあります。
また、タイムクウォンタムが小さいために切替え時間が無視できる点を見落としがちです。
また、タイムクウォンタムが小さいために切替え時間が無視できる点を見落としがちです。
解法ステップ
- ジョブA、B、Cの処理時間を確認(5分、10分、15分)。
- タイムクウォンタムが十分小さいため、1分ずつ交互に処理されると仮定。
- 1サイクルの処理時間は3分(3ジョブ×1分)。
- ジョブAは5分で終了するため、5サイクル後にジョブAが抜ける。
- ジョブBとCの残り処理時間を計算(B:5分、C:10分)。
- ジョブA抜きの2ジョブで処理を続け、1サイクルは2分。
- ジョブBが残り5分処理されるのに5サイクル必要。
- 合計時間は5サイクル×3分+5サイクル×2分=15分+10分=25分。
選択肢別の誤答解説
- ア: 15分
ジョブAの処理時間のみを考慮し、ジョブBの処理時間を無視している。 - イ: 20分
ジョブAが終了した後の処理時間を正しく計算していない。 - ウ: 25分
正解。ラウンドロビンの特性とジョブの終了タイミングを正しく考慮している。 - エ: 30分
ジョブAが終了した後も3ジョブが続くと誤解し、単純に10サイクル×3分と計算している。
補足コラム
ラウンドロビンスケジューリングはCPU時間を公平に分配する方式で、タイムクウォンタムの設定が重要です。
タイムクウォンタムが大きすぎると応答性が悪く、小さすぎると切替えオーバーヘッドが増えます。
本問題では切替え時間を無視し、タイムクウォンタムが十分小さいと仮定しているため、理想的な公平分配が成立します。
タイムクウォンタムが大きすぎると応答性が悪く、小さすぎると切替えオーバーヘッドが増えます。
本問題では切替え時間を無視し、タイムクウォンタムが十分小さいと仮定しているため、理想的な公平分配が成立します。
FAQ
Q: タイムクウォンタムが大きい場合、処理時間はどう変わりますか?
A: 大きいと各ジョブが長時間連続処理されるため、応答性は低下し、ジョブの終了時間も変動します。
A: 大きいと各ジョブが長時間連続処理されるため、応答性は低下し、ジョブの終了時間も変動します。
Q: ジョブの切替え時間を考慮するとどうなりますか?
A: 切替え時間が加算されるため、全体の処理時間は増加し、計算も複雑になります。
A: 切替え時間が加算されるため、全体の処理時間は増加し、計算も複雑になります。
関連キーワード: ラウンドロビン、タイムクウォンタム、CPUスケジューリング、ジョブスケジューリング、処理時間計算

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

