IPA過去問ドリル

平成29年度 春期 基本情報技術者試験 午前 問16

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

四つのジョブ A~D を次の条件で実行し印刷する。全ての印刷が完了するのは,ジョブを起動してから何秒後か。 〔条件〕 (1) ジョブは一斉に起動され,多重度1で実行される。 (2) 優先順位はAが最も高く,B,C,Dの順に低くなる。 (3) 各ジョブの実行後,スプーリング機能が1台のプリンタを用いて逐次印刷を行う。 (4) 各ジョブを単独で実行した場合の実行時間と印刷時間は,表のとおりである。 (5) その他のオーバヘッドは考慮しない。 ジョブ:実行時間,印刷時間(単位 秒) A:50,50 B:30,40 C:20,30 D:40,20 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成29年度 春期 基本情報技術者試験 午前 問16

正解:ウ

解説

多重度1なので,CPUは優先順位の高い順にA→B→C→Dの順で実行され,各ジョブの終了後にスプーリングで1台のプリンタを使って順次印刷します。Aは0〜50秒に実行され50〜100秒に印刷,Bは50〜80秒に実行されるが印刷はAの印刷終了(100秒)を待って100〜140秒,Cは80〜100秒に実行されるが印刷はBの印刷終了(140秒)を待って140〜170秒,Dは100〜140秒に実行されるが印刷はCの印刷終了(170秒)を待って170〜190秒となり,全ての印刷が完了するのは190秒後です。

選択肢ごとの解説

  • 誤り。100秒は最初のジョブAの印刷が終わる時刻であり,全ジョブの印刷完了時刻ではありません。
  • 誤り。160秒では,優先順位に基づく印刷の待ち行列を考慮した計算と合いません。
  • 正しい。優先順位に従って逐次実行・逐次印刷を行うと,全ての印刷が完了するのはジョブ起動から190秒後です。
  • 誤り。280秒は,印刷が並行ではなく実行時間と印刷時間を単純に合算するなど,スプーリングの仕組みを考慮しない計算に基づく値です。
基本情報技術者の過去問を演習モードで解く