ページングとスワッピングの違いとは?

最終更新日 2019年10月11日

ページングとスワッピングの違いとは何か

仮想メモリーに関連する用語に、ページングとスワッピングがありますが、両者の違いは何なのでしょうか。

第8回 Windowsの仮想メモリーを見てみよう | 日経 xTECH(クロステック) には、以下のとおり書かれています。
プログラムを固定サイズで分割した部分を「ページ」と呼びます。メモリーとハードディスクの間でページを入れ替えることを「ページング」または「スワップ(swap)」と呼びます。
仮想メモリーにはセグメント方式とページング方式がありますが、引用箇所ではページング方式について述べています。この記事にはスワップと書かれていますが、スワッピングをスワップと呼ぶこともあります。この記事では、ページングとスワッピングは同じ意味のようです。

■7 群(コンピュータ -ソフトウェア)−3 編(オペレーティングシステム) - 電子情報通信学会知識ベース には、以下のとおり書かれています。
そして OS の設計にも依存するが,1 ページ単位に行うページングとプロセスの全領域を対象にするスワッピングとを区別してファイルを構成する場合がある.
引用箇所では、メインメモリーとストレージの間でプログラムの転送を行うことについて述べています。ページ単位で転送を行うことをページング、プロセスに割り付けられた全ページを対象に転送を行うことをスワッピングと呼ぶようです。

他にもページングとスワッピングという用語が出てくる記事が見られますが、上記で見てきたように記事によって用語の意味が異なります。

ページング方式 - Wikipedia には、以下のとおり書かれています。
歴史的には、「ページング」という用語は可変長のセグメントではなく固定長のページによるメモリ管理を指すこともあり、仮想記憶や二次記憶装置への転送などといった技法を含まないこともある[2][3]。しかし近年ではそのような用法は稀である。

最近の一部システムでは、「ページング」と同時に「スワッピング」という用語を使っている。歴史的には「スワッピング」はプログラム全体を二次記憶に転送(あるいは二次記憶から主記憶に転送)することを意味する[4][5]。

1960年代にセグメント方式とページング方式の仮想記憶の概念が登場すると、「スワッピング」という用語はセグメント単位およびページ単位の二次記憶と主記憶間の転送を意味するようになった。今日の仮想記憶はほとんどがページング方式となったため、「スワッピング」は「ページング」とほぼ同義に使われることもある。また、スワップファイルとの間のページインとページアウトのみを「スワッピング」と称することもある。
日経 xTECH(クロステック)の記事では、ページングとスワッピングどちらもページ単位の二次記憶と主記憶間の転送を意味することを前提に、両者の用語を使っていたと見ることができます。二次記憶とはハードディスク等、主記憶はメインメモリーのことです。

電子情報通信学会知識ベースの記事では、ページングはページ単位の二次記憶と主記憶間の転送を意味する、スワッピングはプログラム全体を二次記憶への転送や主記憶への転送を意味する、以上を前提にして両者の用語を使っていたと見ることができます。プログラム全体とはプロセスのことです。

ページングとスワッピングが何を意味するかは、文脈等によって判断する必要がありそうです。


キャンペーン情報
富士通
・大ボーナスセール
クーポン利用で16〜23%OFF等の10大特典
(11月27日迄)
学割キャンペーン icon
学生、教職員の方に特別割引クーポン等の学割特典
(キャンペーン実施中)
シークレットクーポン
特別割引率のクーポン
(11月27日迄)