👋
【初心者向け】ページングとスワッピングの違いをわかりやすく解説
こんにちは!今回は、コンピュータのメモリ管理でよく出てくる「ページング (Paging)」と「スワッピング (Swapping)」について、なるべく専門用語を使わずにザックリ解説します。難しそうに見えますが、身近な例に置き換えると意外とイメージしやすいですよ。
ページング (Paging) とは
基本イメージ
- メモリを小さな「ページ」単位に区切って管理 する方法
- プログラム(ソフトウェア)も同じサイズのページに分割して、必要に応じてメモリ上に配置
- 「ページテーブル」という対応表を使って、仮想アドレスと物理アドレスを結び付け
目的
-
メモリを無駄なく使う
プログラムを細かく区切って配置するため、隙間を最小限にできます。 -
プログラム同士の干渉を防ぐ
他のプログラムが別の領域を勝手に上書きしないよう、保護できます。
例えると…
-
本や書類
大きな本でも、必要なページだけ開けば読みやすいですよね。全部広げずに、必要なところだけ扱うイメージです。 -
オフィスのファイル管理
書類を一定のサイズでクリアファイルに入れておけば、必要な書類をさっと取り出せます。
スワッピング (Swapping) とは
基本イメージ
- メインメモリがいっぱいになったときに、いま使わないプログラムやデータをハードディスクなどに一時的に移す仕組み
- メモリから外部ストレージへ移すことを「スワップアウト」、必要になったらメモリに戻すことを「スワップイン」と呼びます
目的
-
メモリを空ける
別のプログラムを動かすために、今使っていないものをどかしてスペースを確保します。 -
必要に応じて戻す
後から必要になったとき、またメモリに戻して使います。
例えると…
-
タンスと倉庫
シーズンオフの服は邪魔になるので倉庫へ移しておき、必要なときに取りに行きます。 -
店舗と倉庫の在庫管理
店舗スペースが足りなければ、売れない商品は倉庫に移し、必要になったら取り寄せます。
ページングとスワッピングの違い
項目 | ページング (Paging) | スワッピング (Swapping) |
---|---|---|
扱う単位 | プログラムを小さな「ページ」に分割(例: 4KBごと など) | プログラム全体や比較的大きな単位 |
目的 | - メモリを効率的に使う - プログラム同士の干渉を防ぐ |
- メモリを解放し、別のプログラムを動作させる - 必要になればまた呼び戻すことができる |
実行頻度 | プログラム動作中は常に行われる(ページテーブルでアドレス変換を継続的に実施) | 主にメモリが不足した場合にのみ実行 |
身近なイメージ | - 必要なページだけめくって読む本 - クリアファイルで書類を小分けする |
- タンスに入りきらない服を倉庫へ - 店舗に置けない在庫を倉庫へ移す |
まとめ
-
ページング (Paging)
- プログラムをページ単位で分割し、メモリを効率よく使う仕組み
- プログラム同士の領域を守りながら、メモリを無駄なく利用
-
スワッピング (Swapping)
- メモリが足りなくなったとき、不要なプログラムを外部ストレージに移してスペースを空ける仕組み
- 必要なときはまたメモリに戻して使う
ページングは毎日使う整理整頓、スワッピングは「緊急時の倉庫利用」と捉えると理解しやすいでしょう。どちらもコンピュータで複数のプログラムを同時に動かすために欠かせない技術です。
「言葉だけだとピンとこない」という場合は、ぜひ今回の身近な例でイメージしてみてくださいね。少しずつ慣れていけば、自然と仕組みがわかってくるはずです。ぜひ学習を続けてみてください。応援しています!
Discussion