最終更新日:2026年9月3日
fe fe-technology computer-system
まず結論
スプーリングとは、プリンタなどの低速な入出力装置へ送るデータを、いったん補助記憶装置などへ保存してから処理する仕組みです。
基本情報技術者試験では、次のように覚えると判断しやすくなります。
低速な入出力装置
+
補助記憶装置へいったん保存
+
CPUの待ち時間を減らす
→ スプーリング
特にプリンタ処理では、CPUがプリンタの動作完了をずっと待たなくてよくなるため、システム全体の処理効率を高められます。
さらに、問題文に
主記憶装置
↓
高速な補助記憶装置
↓
低速な出力装置
という関係が出てきたら、まずスプーリングを疑います。
直感的な説明
スプーリングは、「遅い相手に直接渡さず、いったん置き場にためておく」仕組みです。
例えば、CPUが高速で印刷データを作れても、プリンタは同じ速度では印刷できません。
CPU
↓ 高速
印刷データを作る
↓
プリンタ
↓ 低速
時間をかけて印刷
このままでは、CPUがプリンタを待つ時間が増えてしまいます。
そこで、
CPU
↓
補助記憶装置へ印刷データを保存
↓
CPUは次の処理へ進む
補助記憶装置
↓
プリンタが順番に読み出して印刷
という形にします。
これがスプーリングです。
イメージとしては、レジ係が商品を1個ずつ倉庫まで運ぶのではなく、いったん受け渡し場所に置いて次の客の処理へ進むようなものです。
定義・仕組み
スプーリングは、低速な入出力装置とのやり取りを直接行わず、補助記憶装置などを中間に置いてデータを一時保存することで、CPUや主記憶と入出力装置の速度差を吸収する仕組みです。
代表的な用途はプリンタです。
なぜ必要なのか
CPUや主記憶は高速に処理できますが、プリンタなどの入出力装置は比較的低速です。
そのため、CPUがプリンタの動作終了を待ち続けると、CPUを有効活用できません。
CPUが印刷命令を出す
↓
プリンタの印刷完了を待つ
↓
CPUが何もできない時間が増える
スプーリングでは、印刷データを一度補助記憶装置に保存します。
CPU
↓
印刷データを補助記憶装置へ保存
↓
CPUは次の処理へ
補助記憶装置
↓
プリンタが順番に印刷
これにより、CPUとプリンタを並行して動作させやすくなります。
スプール領域
一時的にデータを保存する領域を、スプール領域と呼びます。
印刷では、複数の印刷要求をいったんためておき、プリンタが順番に処理します。
印刷要求A
印刷要求B
印刷要求C
↓
スプール領域
↓
プリンタが順番に処理
補助記憶装置を使う理由
印刷データはある程度大きくなることがあります。
そのため、主記憶だけでなく、磁気ディスクやSSDなどの補助記憶装置を使って一時保存することで、多数の印刷要求を効率よく管理できます。
このテーマは、基本情報技術者試験の「コンピュータ構成要素」や「入出力装置」と関係します。公式の出題範囲やシラバスは、IPA:基本情報技術者試験から確認できます。
科目Aでどう出る?
科目Aでは、スプーリングそのものの説明だけでなく、似た用語を目的で切り分けることが重要です。
まず目的を見る
低速I/Oとの速度差を吸収
→ スプーリング
実行中のプログラムを主記憶と補助記憶の間で入れ替える
→ スワッピング
複数の論理レコードを1つの物理レコードにまとめる
→ ブロッキング
仮想アドレス空間を固定長に分割する
→ ページング
CPUを別の処理へ切り替える
→ マルチタスク
処理を一時中断して制御を移す
→ 割込み
よく使うデータを高速な領域に置く
→ キャッシュ
問題文の判断キーワード
| 問題文の表現 | 疑う用語 |
|---|---|
| プリンタ、低速な入出力装置 | スプーリング |
| 補助記憶装置を介して入出力 | スプーリング |
| CPU・主記憶を低速I/O待ちから解放 | スプーリング |
| プログラムを主記憶から退避・復帰 | スワッピング |
| 論理レコードをまとめて物理レコード化 | ブロッキング |
| 仮想記憶、固定長のページ | ページング |
| CPUを別タスクへ割り当てる | マルチタスク |
| 実行中処理を中断して別処理へ移る | 割込み |
| よく使うデータを高速領域に保持 | キャッシュ |
「高速な補助記憶装置を介する」が決め手になる
FEでは、次のような説明が出ることがあります。
主記憶装置から低速な出力装置へ直接送らない
↓
高速な補助記憶装置へいったん書き出す
↓
出力装置は補助記憶装置から順に処理する
ここで大切なのは、補助記憶装置そのものを高速化する話ではないことです。
目的は、低速な出力装置を待たずに主記憶やCPU側の処理を先へ進めることです。
したがって、
低速な出力装置
+
高速な補助記憶装置を中継
→ スプーリング
と判断できます。
試験中の切り分け
「補助記憶装置」が出た
↓
何のために使う?
低速I/O待ちを減らす
→ スプーリング
プログラムを主記憶から退避する
→ スワッピング
仮想記憶のページを置く
→ ページング
同じ「主記憶と補助記憶」が登場しても、目的を見るのがポイントです。
どんな場面で使う?
スプーリングは、CPUや主記憶に比べて低速な入出力装置を効率よく扱いたい場面で使います。
代表例はプリンタです。
印刷処理
複数のアプリケーションから印刷要求が出ても、プリンタは同時に全部を印刷できません。
そこで、
アプリAの印刷要求
アプリBの印刷要求
アプリCの印刷要求
↓
スプール領域へ保存
↓
プリンタが順番に印刷
と処理します。
これにより、各アプリケーションはプリンタの印刷完了を待ち続けなくてよくなります。
CPUの利用効率を高める
スプーリングの目的は、単にデータを保存することではありません。
CPUと低速I/O装置の速度差を吸収し、CPUを待たせにくくすることが重要です。
よくある誤解・混同
スプーリングとスワッピング
名前が似ていますが、目的は別です。
低速な入出力装置との速度差を吸収
→ スプーリング
実行中のプログラムを主記憶から退避・復帰
→ スワッピング
「補助記憶装置へ移す」という表現だけで判断せず、何を移しているかを確認します。
スプーリングとブロッキング
ブロッキングは、複数の論理レコードをまとめて1つの物理レコードとして扱う方法です。
低速I/Oの待ち時間を減らす
→ スプーリング
レコードをまとめて扱う
→ ブロッキング
「入出力を効率化する」という広い意味では似て見えますが、仕組みが異なります。
スプーリングとページング
ページングは仮想記憶の管理方式です。
低速I/Oへのデータを一時保存
→ スプーリング
仮想アドレス空間を固定長に分割
→ ページング
ページングでは「ページ」「仮想記憶」「アドレス変換」が判断キーワードです。
スプーリングとマルチタスク
マルチタスクは、複数のタスクへCPU時間を割り当てて実行する考え方です。
CPUを別のタスクへ切り替える
→ マルチタスク
低速I/O用データを一時保存する
→ スプーリング
スプーリングによってCPUが次の処理へ進みやすくなることはありますが、マルチタスクそのものとは別の仕組みです。
スプーリングと割込み
割込みは、実行中のプログラムを一時中断して、割込み処理へ制御を移す仕組みです。
処理を中断して制御を移す
→ 割込み
補助記憶装置を介してI/Oを処理
→ スプーリング
スプーリングとキャッシュ
どちらも一時的にデータを置くことがありますが、目的が異なります。
| 項目 | スプーリング | キャッシュ |
|---|---|---|
| 主な目的 | 低速I/Oとの速度差を吸収 | データアクセスを高速化 |
| 代表例 | プリンタ | ディスクキャッシュ、CPUキャッシュ |
| 一時保存先 | 補助記憶装置など | 高速な記憶領域 |
| 注目点 | I/O待ちを減らす | 再アクセスを速くする |
一言で切り分けるなら、
遅い入出力装置を待たない
→ スプーリング
よく使うデータを速く取り出す
→ キャッシュ
です。
スプーリングは主記憶のバッファを増やす仕組み?
主目的は違います。
スプーリングは、補助記憶装置などを中間に置き、低速な入出力装置とのデータ転送を効率化する仕組みです。
主記憶上のバッファを使って補助記憶装置へのアクセスを高速化する説明なら、ディスクキャッシュを疑います。
スプーリングはプリンタだけの仕組み?
プリンタが代表例ですが、本質は低速な入出力装置との速度差を吸収することです。
試験ではプリンタの例が特に出やすいため、
プリンタ
+
補助記憶装置
+
待ち時間削減
の組合せを覚えておくと判断しやすくなります。
確認問題(基本情報技術者試験対策)
主記憶装置と低速な出力装置とのデータ転送を効率化する方法として、最も適切なものはどれか。
- ア. 実行中のプログラムを主記憶と補助記憶の間で入れ替える
- イ. 出力データを高速な補助記憶装置へいったん保存し、そこから低速な出力装置へ送る
- ウ. 複数の論理レコードをまとめて1つの物理レコードとして扱う
- エ. 仮想アドレス空間を固定長の領域に分割して管理する
▶ クリックして答えと解説を見る(ここを開く)
正解:イ
低速な出力装置との間に高速な補助記憶装置を置き、出力データをいったん保存してから処理するのはスプーリングです。
- アはスワッピングです。
- ウはブロッキングです。
- エはページングです。
このタイプの問題では、
低速I/O
+
補助記憶装置を中継
→ スプーリング
と判断します。
まとめ(試験直前用)
- スプーリングは、低速I/O用データを補助記憶装置などへいったん保存する仕組み
- 代表例はプリンタ
- 目的は、CPU・主記憶と低速I/O装置の速度差を吸収して待ち時間を減らすこと
- 「低速I/O+高速な補助記憶装置を中継」→ スプーリング
- プログラムを主記憶から退避・復帰するのはスワッピング
- 論理レコードをまとめるのはブロッキング
- 仮想記憶を固定長のページで管理するのはページング
- アクセス高速化のためにデータを置くのはキャッシュ