本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 秋期 応用情報技術者試験問題と解説

問16

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

〔スケジューリング方式〕

(1) 一定時間 (これをタイムクウォンタムと呼ぶ) 内に処理が終了しなければ、処理を中断させて、待ち行列の最後尾へ回す。

(2) 待ち行列に並んだ順に実行する。

(3) タイムクウォンタムは、ジョブの処理時間に比べて十分に小さい値とする。

(4) ジョブの切替え時間は考慮しないものとする。

ア 15  イ 20  ウ 25  エ 30


正解


解説

一定時間を仮に10秒とすると、
ジョブAの処理: 10秒 ⇒ ジョブBの処理: 10秒 ⇒ ジョブCの処理: 10秒
 ⇒ ジョブAの処理: 10秒 ⇒ ジョブBの処理:10秒 ⇒ ジョブCの処理: 10秒
のように、1分間でそれぞれ20秒ずつ処理され、3分間で各ジョブが1分間ずつ処理されることになる。

ジョブ時間が最も短いジョブAは5分であるから、ジョブAの処理が終わるのに
5分×3 = 15分かかる。

ジョブA終了後は、ジョブBとジョブCが1分間で30秒ずつ処理できるから、ジョブBの残り5分の処理に10分かかる。

従って、ジョブBが終了するまでの経過時間は、151025分である。

ちなみに、全てのジョブが終了するには
25分+ジョブCの残り時間5分 = 30分である。

問15 目次 問17