「スワップファイル」と「スワップパーティション」の違い
予備知識
| 用語 | 意味 |
|---|---|
| スワップ | メモリが足りないときにメモリの中身をハードディスクに移す機能 |
| パーティション | ハードディスク内のお部屋。1つのハードディスクを複数の領域に区切った際の、それぞれの領域 |
プログラムから見たメモリの大きさと実際にコンピュータにくっついているメモリの大きさは違います。
メモリ内のどーでもいい内容をハードディスクに一時的にしまうことで(ハードディスクの一部をメモリっぽく使うことで)、プログラムに対して実際のメモリより大きなメモリがあると錯覚させる技があるのです。
例えば、コンピュータにくっついている実際のメモリが10GBだったとしましょう。

普通に考えたら、同時に動かせるプログラムはメモリ10GB分ですよね?
使うメモリが6GBのプログラムと4GBのプログラムは同時に動かせます。
6GBのプログラムと5GBのプログラムは同時に動かせません。

ところがです。
使うメモリが6GBのプログラムと5GBのプログラムを同時に動かす技があるのです。
まず、使うメモリが6GBのプログラム1を起動します。
そうすると、メモリが6GB分、使われます。

次に、6GBのうち、あまり使わない1GB分をハードディスクにしまってしまいます。
最初はメモリを6GB使っていました。
これを、メモリ5GBとハードディスク1GBに分けるのです。

そうすると、メモリの空いている部分は5GBです。
メモリを5GB使うプログラム2を起動できます。

ところで、プログラム1がハードディスクにしまった1GB分を使いたくなったら、どうしましょうね?
使うときはメモリに持ってこなくては いけません。
ですが、メモリは10GB分、全部 使っている状態です。
そんなときは、プログラム2から1GB分、ハードディスクに移します。
プログラム2はメモリを5GB使っていました。
これを、メモリ4GBとハードディスク1GBに移し替えるのです。

そうすると、メモリには1GB分の空きが できます。
この空いた部分にプログラム1で使う1GBを移します。

このような工夫と譲り合いの精神を発揮できれば素敵です。
実際のメモリが10GBでも合計11GBのメモリを使うプログラムを動かせます。
これは もう「メモリが11GBあるのと一緒」ですね。
実際のメモリは10GBです。
ですが、プログラムさんはメモリを11GB分使っています。
「プログラムから見たメモリは11GBある」と言えるでしょう。

このような
ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技
が「スワップ」です。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| スワップファイル | 使っていないメモリの内容を一時的にしまっておくためのファイル |
| スワップパーティション | 使っていないメモリの内容を一時的にしまっておくパーティション |
似ているところ
どちらもスワップの話で登場します。
また、どちらもデータを置いておく(ハードディスク側の)場所です。

違うところ
ファイルかパーティションかの違いです。
それぞれ、使っていないメモリの内容を一時的にしまっておく
ファイル→スワップファイル
パーティション→スワップパーティション
です。
そのまんまですね。






