IPA過去問ドリル

平成30年度 秋期 応用情報技術者試験 午前 問16

テクノロジ/ソフトウェア

処理は全てCPU処理である三つのジョブA,B,Cがある。それらを単独で実行したときの処理時間は,ジョブAは5分,ジョブBは10分,ジョブCは15分である。この三つのジョブを次のスケジューリング方式に基づいて同時に開始すると,ジョブBが終了するまでの経過時間はおよそ何分か。 〔スケジューリング方式〕 (1) 一定時間(これをタイムクウォンタムと呼ぶ)内に処理が終了しなければ,処理を中断させて,待ち行列の最後尾へ回す。 (2) 待ち行列に並んだ順に実行する。 (3) タイムクウォンタムは,ジョブの処理時間に比べて十分に小さい値とする。 (4) ジョブの切替え時間は考慮しないものとする。

出典:平成30年度 秋期 応用情報技術者試験 午前 問16

正解:ウ

解説

タイムクウォンタムが十分小さいラウンドロビンでは,実行中の3ジョブがCPU時間をほぼ均等(1/3ずつ)に分け合う処理共有として近似できます。ジョブAの処理時間5分は,3ジョブで均等に分け合うと経過時間15分で完了します(15×1/3=5)。その後,残るB,Cの2ジョブが均等に分け合い,Bの残り処理量5分(10−15/3)を消化するのに追加で10分(5×2)かかるため,Bが終了するのは15+10=25分後です。

選択肢ごとの解説

  • 誤り。15分はジョブAが完了する時点であり,ジョブBはまだ完了していません。
  • 誤り。20分は,2番目の区間の計算を誤って半分の時間で見積もった場合の値です。
  • 正しい。ジョブAが15分で完了した後,残りのB,Cが均等に処理を分け合い,Bは25分後に完了します。
  • 誤り。30分は,ジョブCの完了時刻など,別のジョブの終了時刻と混同した値です。
応用情報技術者の過去問を演習モードで解く