[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スワップ (swap)

pointこの用語のポイント

pointメモリの中身をハードディスクに移す機能だよ

pointメモリが足りないときに行われるよ

pointもしくは、2つのものを交換することだよ

スポンサーリンク

簡単に書くよ

スワップ (swap)とは

メモリが足りないときにメモリの中身をハードディスクに移す機能のこと。
あるいは

2つのものを交換すること
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「メモリが足りないときにメモリの中身をハードディスクに移す機能」のスワップから説明します。

メモリは「パソコンさんが作業するときに使う机」です。

スワップ

実はですね。
プログラムから見たメモリの大きさと実際にコンピュータにくっついているメモリの大きさは違います。

メモリ内のどーでもいい内容をハードディスクに一時的にしまうことで(ハードディスクの一部をメモリっぽく使うことで)、プログラムに対して実際のメモリより大きなメモリがあると錯覚させる技があるのです。

例えば、コンピュータにくっついている実際のメモリが10GBだったとしましょう。

スワップ2

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

スワップ3

ところがです。
使うメモリが6GBのプログラムと5GBのプログラムを同時に動かす技があるのです。

まず、使うメモリが6GBのプログラム1を起動します。
そうすると、メモリが6GB分、使われます。

スワップ4

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

スワップ5

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

スワップ6

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

そんなときは、プログラム2から1GB分、ハードディスクに移します。
プログラム2はメモリを5GB使っていました。
これを、メモリ4GBとハードディスク1GBに移し替えるのです。

スワップ7

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

スワップ8

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

実際のメモリは10GBです。
ですが、プログラムさんは、メモリを11GB分使っています。
「プログラムから見たメモリは11GBある」と言えるでしょう。

スワップ9

このような「ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技」が「スワップ」です。

メモリを使い切った状態で「もっと~!もっと使いたいの~!」とプログラムさんに言われました。
でも、メモリの空きはありません。
仕方がないので、メモリの一部をハードディスクに移して、メモリの空きを作ります。
そんな技です。
ハードディスクを上手く活用することで、メモリの水増しをします。

なお、使っていないメモリの内容をハードディスクに移すことは「スワップアウト」と言います。

スワップ10

その逆、ハードディスクからメモリに戻すのは「スワップイン」です。

スワップ11

せっかくなので、併せて覚えてあげてください。

これが、「メモリが足りないときにメモリの中身をハードディスクに移す機能」のスワップの説明です。

次に「2つのものを交換すること」のスワップですが、これは「スワップ」という用語の本来の意味です。
コンピュータの世界では、あまり出てきません。
例えば「変数の値をスワップする」とか言われたら「変数の中身を交換するんだな」と解釈してください。

個人的には「交換」の意図でスワップと言われたら「素直に『交換』って言えよ。メモリのスワップと紛らわしいんだよ、ボケ!」と頭の中で暴言を吐くでしょう。
経済関係の会話ならともかく、ITの分野においては、素直に「交換」と表現した方が無難だと思います。

image piyo2

一言でまとめるよ

まぁ「スワップ」って単語が出てきたら「メモリの中身をハードディスクに移す機能、もしくは2つのものを交換することなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク