IPA過去問ドリル

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

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

次の条件で四つのジョブが CPU 処理及び印刷を行う場合に,最初の CPU 処理を開始してから最後の印刷が終了するまでの時間は何分か。 〔条件〕 (1) 多重度1で実行される。 (2) 各ジョブの CPU 処理時間は20分である。 (3) 各ジョブは CPU 処理終了時に400Mバイトの印刷データをスプーリングする。スプーリング終了後にOSの印刷機能が働き,プリンタで印刷される。 (4) プリンタは1台であり,印刷速度は100Mバイト当たり10分である。 (5) CPU 処理と印刷機能は同時に動作可能で,互いに影響を及ぼさない。 (6) スプーリングに要する時間など,条件に記述されていない時間は無視できる。

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

正解:ウ

解説

多重度1なので4つのジョブのCPU処理は順番に行われ,ジョブ1〜4はそれぞれ0〜20分,20〜40分,40〜60分,60〜80分にCPU処理を終えます。各ジョブは400Mバイトの印刷データを,速度100Mバイト当たり10分のプリンタ1台で印刷するため,1ジョブの印刷には40分かかります。プリンタは1台しかないため,各ジョブの印刷はCPU処理終了直後とプリンタの空き時間の遅い方から開始されます。ジョブ1は20分から60分まで印刷,ジョブ2はCPU終了が40分でもプリンタが60分まで塞がっているため60分から100分まで印刷,ジョブ3は同様に100分から140分まで,ジョブ4は140分から180分まで印刷します。最後の印刷が終わるのは180分の時点なので,最初のCPU処理開始(0分)から数えて180分となります。

選択肢ごとの解説

  • 誤り。プリンタが1台であるためジョブの印刷が順に待たされることを考慮しておらず,待ち時間を無視した値になっています。
  • 誤り。プリンタの競合による待ち時間の一部しか考慮できておらず,過小な見積りになっています。
  • 正しい。4つのジョブの印刷がプリンタ1台を奪い合いながら順に処理され,最後のジョブの印刷が終わるのは180分後です。
  • 誤り。全てのジョブが完全に直列に(CPU処理と印刷が重ならずに)実行されると仮定した場合の値であり,実際にはCPU処理と印刷が並行して進むため過大な見積りです。
基本情報技術者の過去問を演習モードで解く