スワッピング
メモリの中身をハードディスクに移す機能だよ
メモリが足りないときにやるよ
もしくは、2つのものを交換することだよ
個人的には「スワップ」という言い方の方が馴染みがあるよ
簡単に書くよ
スワッピング(英:swapping)とは
メモリが足りないときにメモリの中身をハードディスクに移す(ことで実際よりも大きなメモリがある振りをする)機能のこと。
あるいは
2つのものを交換すること
です。
詳しく書くよ
順番に見ていきましょう。
まずは
メモリが足りないときにメモリの中身をハードディスクに移す機能
のスワッピングから説明します。
今回 登場するメモリは「パソコンさんが作業するときに使う机」です。
実は、ですね。
プログラムから見たメモリの大きさと実際にコンピュータにくっついているメモリの大きさは違います。
メモリ内のどーでもいい内容をハードディスクに一時的にしまうことで(ハードディスクの一部をメモリっぽく使うことで)、プログラムに対して実際のメモリより大きなメモリがあると錯覚させる技があるのです。
例えば、そうですね。
コンピュータにくっついている実際のメモリが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ある」と言えるでしょう。
このような
ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技
が「スワッピング」です。
メモリを使い切った状態で「もっと~!もっと使いたいの~!」とプログラムさんに言われました。
でも、メモリの空きは ありません。
仕方がないので、メモリの一部をハードディスクに移してメモリの空きを作ります。
そんな技です。
ハードディスクを上手く活用することでメモリの水増しをします。
なお、使っていないメモリの内容をハードディスクに移すことは「スワップアウト」と言います。
その逆、ハードディスクからメモリに戻すのは「スワップイン」です。
気が向いたら、併せて覚えてあげてください。
あと、某・資格試験の過去問に出てきたので取り上げてみましたが、個人的には「スワップ」という言い方の方が馴染みがあります。
「スワッピング」という言い方は、あまりしません。
「スワッピング」はエッチな意味でも使われたりするので何となく恥ずかしいからです。
気が向いたら頭の片隅にでも置いておいてあげてください。
これが
メモリが足りないときにメモリの中身をハードディスクに移す機能
のスワッピングの説明です。
次に
2つのものを交換すること
のスワッピングについて説明します。
これは「スワッピング」という用語の本来の意味です。
ただし「交換する」の意味で「スワッピング」という表現が出てくることは(日本の)コンピュータの世界では多くありません。
「スワッピング」と出てきたら「メモリの中身をハードディスクに移す機能」を意図していると考えて問題ないと思います。
一言でまとめるよ
まぁ「スワッピング」って単語が出てきたら「メモリの中身をハードディスクに移す機能、もしくは2つのものを交換することなんだな~」と お考えください。
おまけ
■訳してみるよ
「swapping(スワッピング)」は「swap(スワップ)」+「ing」です。
「swap(スワップ)」の意味は「交換する」とか「取り換える」とかです。






