スワップファイル(swapファイル)
ファイルだよ
メモリの内容を一時的にしまっておくよ
簡単に書くよ
スワップファイル(swapファイル)(英:swap file)とは
スワップ
(メモリが足りないときにメモリの中身をハードディスクに移す機能)の話で出てくる用語のひとつ
であり
使っていないメモリの内容を一時的にしまっておくためのファイル
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「メモリ」と「スワップ」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
今回 登場するメモリは「パソコンさんが作業するときに使う机」です。
物としては、緑色の長方形に黒い四角が何個かくっついた板です。
パソコンさんが仕事中の内容を記憶させます。
スワップは「ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技」です。
実は、ですね。
プログラムから見たメモリの大きさと実際にコンピュータにくっついているメモリの大きさは違います。
メモリ内のどーでもいい内容をハードディスクに一時的にしまうことで(ハードディスクの一部をメモリっぽく使うことで)、プログラムに対して実際のメモリより大きなメモリがあると錯覚させる技があるのです。
例えば、そうですね。
コンピュータにくっついている実際のメモリが10GBだったとしましょう。
普通に考えたら、同時に動かせるプログラムはメモリ10GB分ですよね?
使うメモリが6GBのプログラムと4GBのプログラムは同時に動かせます。
6GBのプログラムと5GBのプログラムは同時に動かせません。
1GB分、足りないからです。
ところがです。
使うメモリが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ある」と言えるでしょう。
このような
ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技
がスワップです。
メモリを使い切った状態で「もっと~!もっと使いたいの~!」とプログラムさんに言われました。
でも、メモリの空きは ありません。
仕方がないので、メモリの一部をハードディスクに移して、メモリの空きを作ります。
そんな技です。
ハードディスクを上手く活用することで、メモリの水増しをします。
以上を踏まえて、本題に入ります。
スワップの説明において、コンピュータさんはメモリ上の使っていない部分をハードディスクに移しました。
そのやり方は
1.メモリの中身をファイルとして保管するやり方
2.メモリの中身をハードディスク内のお部屋(パーティション)に保管するやり方
の2つあります。
この2つのやり方のうち
「1.メモリの中身をファイルとして保管するやり方」で使われるファイル
が「スワップファイル」です。
あと、ついでなので書いておくと
「2.メモリの中身をハードディスク内のお部屋(パーティション)に保管するやり方」における保管場所
は「スワップパーティション」と言います。
また、スワップファイルと同じような意味の用語に「スワップ領域」があります。
これらの用語は関係性が少しややこしいです。
この機会に整理しておきましょう。
メモリの内容を一時的にしまっておく「場所」を指す用語が「スワップ領域」です。
メモリの内容を一時的にしまっておく「ファイル」が「スワップファイル」です。
メモリの内容を一時的にしまっておく「パーティション(ハードディスク内のお部屋)」が「スワップパーティション」になります。
私は、スワップ領域の種類として、スワップファイルとスワップパーティションがあると理解しています。
とはいえ、個人的な印象では、スワップファイルは「スワップファイル」と表現されることが多いように感じます。
「スワップ領域」と出てきたら「スワップパーティション」を意図している場合が多いのではないでしょうか。
一言でまとめるよ
まぁ「スワップファイル」って単語が出てきたら「メモリの内容を一時的にしまっておくファイルなんだな~」と お考えください。
おまけ
■訳してみるよ
「swap(スワップ)」の意味は「交換する」とか「取り換える」とかです。
「file(ファイル)」はカタカナで「ファイル」で分かりますかね。
何となく くっつけると
交換するためのファイル
となります。
■検索してみる?






