基本情報

基本情報 平成24年度 春期 問20|テクノロジ系に関する問題

問題

基本情報 | 平成24年度 春期 | 分野:テクノロジ系

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

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は C
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは c「180」 です。

4つのジョブが順番に処理され、CPUと印刷が同時並行で動くのがポイント。

  • 各CPU処理:20分(4つで合計80分、順番にやる)
  • 各印刷:400MB ÷ 100MB/10分 = 40分

ジョブ1のCPUが20分で終わると、すぐ印刷開始。並行してジョブ2のCPUが動きます。最後のジョブ4はCPU終了が4×20=80分後、そこから印刷40分で 120分。

…ですが、印刷も順番待ちになるため、最後の印刷終了は 20分×4 + 40分×4 = 200分? いえ、並行のため実際は最も遅い経路で180分。

👉 覚え方:「並列処理は一番遅い行程の合計で決まる」。

なぜこれが正解か

正解は c 180分。条件整理:4ジョブ、各CPU=20分、各印刷=400MB÷(100MB/10分)=40分、CPUと印刷は並行可、CPUは多重度1(順次実行)、プリンタも1台。

タイムテーブル:

  • ジョブ1:CPU 0-20、印刷 20-60
  • ジョブ2:CPU 20-40、印刷 60-100(プリンタ空き待ち)
  • ジョブ3:CPU 40-60、印刷 100-140
  • ジョブ4:CPU 60-80、印刷 140-180

最後の印刷終了が180分。

各選択肢の解説

  • a 120:印刷を全並列と誤算した場合の値。
  • b 160:印刷時間を計算ミス(30分等)した場合。
  • d 240:CPUと印刷を逐次合算(80+40×4)した場合。

覚え方・ひっかけ注意

「CPUは同時1つ、プリンタも同時1つ、ただし両者は並行可」。スプーリングを使うと、CPU処理と印刷をオーバーラップでき、トータル時間を短縮できる仕組みを理解。ガントチャート(タイムテーブル)を書いて確認するのが確実。

理論的背景

本問はスプーリング(SPOOL: Simultaneous Peripheral Operation On-Line)による並列処理の典型問題。スプーリングはCPU処理の中間結果を一時的にディスクへバッファし、低速な周辺装置(プリンタ)の動作とCPU処理を独立並行させる技術。これにより低速デバイスがボトルネックでもCPU利用率を高められる。本問では、CPU・プリンタが各々逐次処理(多重度1)だがCPU↔プリンタは並列という条件で、最終終了時刻はパイプラインの最も遅い段で決まる。

タイムテーブルの構造的理解

CPU処理 = 20分/ジョブ、印刷 = 40分/ジョブ。印刷の方が長いため、印刷側がボトルネックとなる。ジョブ1のCPU完了(20分)から印刷開始、以降は印刷キューが詰まる:

  • 印刷待ち発生:ジョブ2のCPUは40分で終わるが、ジョブ1の印刷は60分まで続くため、ジョブ2の印刷は60分から開始
  • パターン継続:印刷時刻は20→60→100→140→180

総時間 = CPU初回20分 + 印刷40分×4 = 180分。一般化すれば、Tmax = T(CPU,初回) + T(印刷) × N。

試験での位置づけ

FE・APのOS/システム性能分野で頻出。スプーリング、バッファリング、DMA(Direct Memory Access)、割込み処理などCPUと周辺装置の協調動作テーマで毎回出題される。応用情報・スペシャリスト試験ではM/M/1待ち行列、ボトルネック分析、リトルの法則(L = λW)まで踏み込む。

関連事項・発展補足

スプーリングが普及した1960年代のメインフレーム時代から、現代OSの非同期I/O(Linuxのio_uring、Windowsの IOCP)まで「CPUと低速デバイスを並行化する」発想は連綿と続く。プリンタスプールは Windows印刷スプーラ(spoolsv.exe)、UNIX系のlp/lpd/CUPSとして実装されている。本問のような並列処理時間計算は、製造業の生産計画(ジョブショップスケジューリング)、コンパイラのパイプライン処理(フェッチ→デコード→実行→ライトバック)にも同じロジックが適用できる。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成24年度 春期 問20
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成24年度 春期 問20/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。