基本情報技術者 2010年 秋期 午前(科目A) 問18
問題文
スループットに関する記述のうち、適切なものはどれか。
選択肢
ア:ジョブとジョブの実行の間にオペレータが介入することによってシステムに遊休時間が生じても、スループットには影響を及ぼさない。
イ:スループットはCPU性能の指標であり、入出力の速度、オーバヘッド時間などによって影響を受けない。
ウ:多重プログラミングはターンアラウンドタイムの短縮に貢献するが、スループットの向上にはあまり役立たない。
エ:プリンタへの出力を一時的に磁気ディスク装置へ保存するスプーリングは、スループットの向上に役立つ。(正解)
##: スループットに関する記述のうち、適切なものはどれか。【午前2 解説】
要点まとめ
- 結論:プリンタ出力を一時的に磁気ディスクへ保存するスプーリング(選択肢エ)は、入出力待ちを減らして単位時間当たりに完了するジョブ数を増やすためスループット向上に寄与します。
- 根拠:スループットは単位時間当たりの完了仕事数であり、CPUや入出力のボトルネックと待ち時間が直接影響するため、I/Oの並行化で改善されます。
- 差がつくポイント:スループットとCPU性能や応答時間(ターンアラウンド)を混同しないこと。スプーリングはI/Oの非同期化で並列度を上げ、実効的なスループットを向上させます。
正解の理由
スループットは「単位時間に完了した仕事(ジョブ)数」で定義されます。プリンタなどの低速I/Oデバイスに対して直接出力を行うと、CPUは出力完了まで待たされるか、ジョブの進行が阻害されます。スプーリングは出力データを一旦ディスクに保存しておき、CPUは次の処理を続行でき、プリンタはディスクから順次データを取り出して処理するため、CPUとプリンタの並行利用が可能になります。これによりより多くのジョブが単位時間内に完了し、スループットが向上します。
よくある誤解
- 「スループット=CPU性能」と考える誤解:CPUクロックや演算速度は一因ですが、I/O待ちやオーバーヘッド、スケジューリングで大きく左右されます。
- 「オペレータが介在してもスループットに影響しない」との誤解:人の介入でシステムが長時間停止すれば完了ジョブ数が減り、スループットは低下します。
- 「多重プログラミングは応答時間しか改善しない」と考える誤解:多重プログラミングはCPUやI/Oの利用率を上げ、スループット改善に寄与することが多いです。
解法ステップ
- 問題文で問われているメトリックが何か(ここではスループット)を明確に定義する。
- 各選択肢がその定義に照らしてどの要因に触れているか(CPU性能、I/O、待ち時間、並列化など)を確認する。
- 実際にスループットに影響を与える仕組み(ボトルネック緩和、資源の並列利用)かどうかで評価する。
- 曖昧な言い回しは「常に」「決して」などの強い語に注意して排除する。
- 最終的にスループットを増やす具体策(スプーリング、多重プログラミング等)を正答とする。
選択肢別の誤答解説
- ア: ジョブとジョブの実行の間にオペレータが介入することによってシステムに遊休時間が生じても、スループットには影響を及ぼさない。
→ 誤り。オペレータ介入でCPUやシステム資源が遊休状態となれば単位時間内に完了するジョブ数は減少し、スループットは低下します。例外的に並列資源があり介入が全体に影響しない場合はあるが、一般記述として不適切です。 - イ: スループットはCPU性能の指標であり、入出力の速度、オーバヘッド時間などによって影響を受けない。
→ 誤り。スループットはシステム全体の完成率を示す指標であり、I/O速度やオーバーヘッド、待ち時間などに強く左右されます。CPU性能は一因に過ぎません。 - ウ: 多重プログラミングはターンアラウンドタイムの短縮に貢献するが、スループットの向上にはあまり役立たない。
→ 誤り。多重プログラミングはCPUやI/Oの利用率を向上させ、待ち時間を隠蔽することでスループット向上に寄与することが多く、むしろスループット改善効果があります。 - エ: プリンタへの出力を一時的に磁気ディスク装置へ保存するスプーリングは、スループットの向上に役立つ。
→ 正解。スプーリングはI/Oの非同期処理によりCPUと低速デバイスの同時利用を可能にし、単位時間当たりの完了ジョブ数を増やします。
補足コラム
- スループット(Throughput)とは単に「速さ」ではなく「単位時間あたりに完了した仕事の数」を示します。
- 関連する指標として CPU利用率 U、サービス時間 S、スループット X の間には簡単な関係があり、平均的に のように表されます(理想化したモデルの場合)。
- スプーリング以外でスループットを改善する手段:多重プログラミング、I/Oバッファリング、パイプライン処理、負荷分散など。
- ターンアラウンドタイム(応答時間)とスループットはトレードオフになる場合があるため、目的に応じて指標を使い分けます。
FAQ
Q: オペレータの介入があっても常にスループットは下がりますか?
A: 介入が全くシステム資源を止めない補助的操作であれば影響は小さいですが、一般には遊休時間が増えればスループットは低下します。文脈次第で判断します。
A: 介入が全くシステム資源を止めない補助的操作であれば影響は小さいですが、一般には遊休時間が増えればスループットは低下します。文脈次第で判断します。
Q: 多重プログラミングで応答時間は遅くなるがスループットは上がることがありますか?
A: はい。例としてI/O待ちが多いジョブ群では多重化によりCPUを継続稼働させるため、応答時間は個別に変動しても全体のスループットは向上します。
A: はい。例としてI/O待ちが多いジョブ群では多重化によりCPUを継続稼働させるため、応答時間は個別に変動しても全体のスループットは向上します。
Q: スプーリングは常に有効ですか?
A: 多くの場合有効ですが、ディスクが新たなボトルネックになる、またはリアルタイム性が必要な処理では適さない場合があります。
A: 多くの場合有効ですが、ディスクが新たなボトルネックになる、またはリアルタイム性が必要な処理では適さない場合があります。
関連キーワード: スループット、スプーリング、I/O待ち、多重プログラミング、ターンアラウンドタイム、CPU利用率、ボトルネック分析

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

