平成30年度 秋期 応用情報技術者試験 午前 問16
処理は全てCPU処理である三つのジョブA,B,Cがある。それらを単独で実行したときの処理時間は,ジョブAは5分,ジョブBは10分,ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に開始すると,ジョブBが終了するまでの経過時間はおよそ何分か。
〔スケジューリング方式〕
(1) 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。
(2) 待ち行列に並んだ順に実行する。
(3) タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。
(4) ジョブの切替え時間は考慮しないものとする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
この方式はラウンドロビン方式で,タイムクウォンタムが十分小さいため,実行中のジョブでCPUを均等に分け合うと考えます。
1. 3つのジョブで分け合う間,各ジョブは3分ごとに1分ずつ進みます。ジョブAが5分の処理を終えるのは 5 × 3 = 15分後です。このときB,Cも5分ずつ処理されています。
2. 残りはB(残り5分)とC(残り10分)の2つで,2分ごとに1分ずつ進みます。Bが残り5分を終えるのは 5 × 2 = 10分後です。
よって,ジョブBの終了は 15 + 10 = 25分後です。
-
ア: 15
誤り。15分の時点で終了するのはジョブAです。ジョブBはその時点でまだ5分しか処理されていません。 -
イ: 20
誤り。ジョブAの終了後はBとCの2つで処理を分け合うため,Bの残り5分の処理には10分かかります。20分では終了しません。 -
ウ: 25
正しい。15分 + 10分 = 25分でジョブBが終了します。 -
エ: 30
誤り。30分はジョブCを含む全てのジョブが終了する時刻です。
答え
ウ: 25
出典:平成30年度 秋期 応用情報技術者試験 午前 問16