スワップ 【swap】
概要
スワップ(swap)とは、交換(する)という意味の英単語。ITの分野では、OSがメインメモリとストレージの内容を入れ替える動作や、機器に装着された装置の交換、コンピュータプログラムで二つの変数や領域のデータを交換する処理などを指す。メモリスワップ (memory swapping)
OSのメモリ管理機能の一つで、メインメモリ(RAM)とストレージ(外部記憶装置)の同容量の領域間でデータの交換を行う動作をメモリスワップと呼び、これを略して単にスワップという。これにより、物理的なメモリ容量より広いメモリ空間を扱えるようになる。
ストレージ上に一定のスワップ領域(スワップファイルやスワップパーティション)を予約しておき、メモリ容量が逼迫してきたら直近に使われていないメモリ領域の内容をスワップ領域に退避させ、物理メモリ側に空き領域を作り出す。この動作を「スワップアウト」(swap-out)という。
ストレージ上に退避した領域の内容はそのままではプログラムからメモリの一部としてアクセスすることはできないため、必要になったらメモリ上に呼び戻さなければならない。プログラムからの要求を受けてストレージ上の内容をメモリに書き戻す動作を「スワップイン」(swap-in)という。
スワップ動作はOSのメモリ管理機能の一部として自動的に実行されるため、実行中のプログラムや利用者は普段は特に意識することはない。ただし、物理メモリ容量を使い果たすような大きな領域をプログラムが占有してしまうと、スワップが頻発して動作が緩慢になったり不安定になったりすることがある。
(2019.3.5更新)