基本情報技術者 2010年 春期 午前(科目A) 問19
問題文
システム全体のスループットを高めるため、主記憶装置と低速の出力装置とのデータ転送を、高速の補助記憶装置を介して行う方式はどれか。
選択肢
ア:スプーリング(正解)
イ:スワッピング
ウ:ブロッキング
エ:ページング
🔒 解説は解答すると表示されます
スプーリング方式【午前解説】
正解の理由
正解は ア(スプーリング)です。スプーリング(spooling: Simultaneous Peripheral Operations On-Line)は、プリンタなどの低速出力装置へのデータを直接逐次渡すのではなく、まず補助記憶装置(ディスク等)に蓄積(スプール)しておき、出力装置が空いたときに順次取り出して処理します。これによりCPUや他の高速装置が低速装置の応答を待たされることなく作業を続行でき、システム全体のスループットが向上します。
解法ステップ
- 問題文からキーワードを抽出:「補助記憶装置」「低速の出力装置」「スループットを高める」。
- 各選択肢の定義を頭の中で確認する(スプーリング/スワッピング/ブロッキング/ページング)。
- 「補助記憶を仲介して入出力を行う」ことに該当する選択肢を選ぶ。
- 他選択肢がプロセス移動や仮想記憶、同期待ちの概念であることを根拠に除外する。
選択肢別の誤答解説
- ア スプーリング:正解。補助記憶を用いて入出力要求を蓄え順次処理し、低速装置の待ちによるボトルネックを解消する方式。
- イ スワッピング:誤り。スワッピングはプロセス全体を主記憶と補助記憶間で入れ替えることで、メモリ管理や多重度向上を目的とする。I/O装置のデータ転送方式ではない。
- ウ ブロッキング:誤り。ブロッキングは処理が完了するまで待つ同期動作を指す概念で、補助記憶を介した入出力の体系を表す語ではない。
- エ ページング:誤り。ページングは仮想記憶をページ単位で管理し主記憶と補助記憶を部分的に交換する技術で、低速出力装置のデータ転送用方式ではない。
よくある誤解
- スプーリング=単なるバッファリングと考える誤解:スプーリングは主に補助記憶を使ったキューイングで、バッファリング(主記憶上の temporarily メモリ)はスコープや持続性が異なります。
- スワッピングやページングと混同する誤解:それらは主に仮想記憶やプロセス管理の技法で、I/Oスループット改善を目的とするスプーリングとは用途が違います。
- ブロッキング(Blocking)をスプーリングの別名とする誤解:ブロッキングは同期待ちの概念で、補助記憶を介するデータ転送方式を指しません。
補足コラム
- 実例:プリンタスプーラ(print spooler)は代表的なスプーリングの実装で、複数ジョブをディスクに蓄え順次プリンタに流すことでユーザやアプリケーションの待ち時間を短縮します。メールキューやバッチジョブ管理もスプールを利用する場合があります。
- スプーリングとバッファリングの違い:バッファは通常主記憶上で一時的にデータを置く短期的手法、スプーリングは補助記憶上に長めに蓄えジョブ単位で管理する場合が多く、耐障害性やキュー管理の点で特徴が異なります。
- 性能面:スプーリングはI/O待ち時間を重ねて隠蔽することで「装置利用率」と「処理並列性」を改善し、結果としてスループットが向上します。
FAQ
Q1: スプーリングは現在も使われていますか?
A1: はい。プリントスプーラ、メールキュー、印刷サーバや一部バッチ処理で今も広く利用されています。
A1: はい。プリントスプーラ、メールキュー、印刷サーバや一部バッチ処理で今も広く利用されています。
Q2: スプーリングとページングは併用されることがありますか?
A2: 目的が異なるため直接の代替関係にはありませんが、同一システム内でスプーリング(I/O管理)とページング(仮想記憶管理)が同時に動作することはあります。
A2: 目的が異なるため直接の代替関係にはありませんが、同一システム内でスプーリング(I/O管理)とページング(仮想記憶管理)が同時に動作することはあります。
Q3: スプーリングがないと何が起きる?
A3: 低速装置への直接同期I/Oが増え、CPUや高速デバイスがI/O完了待ちでアイドルになりシステムスループットが低下します。
A3: 低速装置への直接同期I/Oが増え、CPUや高速デバイスがI/O完了待ちでアイドルになりシステムスループットが低下します。
関連キーワード: スプーリング、補助記憶装置、プリントスプーラ、バッファリング、I/Oスループット、ディスクキュー、同期/非同期入出力

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

