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

仮想アドレス

pointこの用語のポイント

pointプログラムから見たメモリのアドレスだよ

point「物理アドレス」と対比されるよ

スポンサーリンク

簡単に書くよ

仮想アドレス(読:カソウアドレス 英:virtual address)とは

プログラムから見た、メモリのアドレスのこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。

メモリは「パソコンさんが作業するときに使う机」ね。
パソコンさんは、お仕事道具をメモリの上に広げて、えっちらおっちらと働きます。

仮想アドレス

パソコンさんが使う机(メモリ)は、上から見るとマス目で区切られています。
そして、それぞれのマス目には、使いやすいように番号が振られています。

仮想アドレス2

この「マス目に振られた番号」を「アドレス」と言います。

仮想アドレス3

例えば、13番のマス目にミカンを置いたとしましょう。

仮想アドレス4

この状況を指して

13番アドレスにミカンを置いた

と表現したりします。

さて、この机のマス目に振られた番号ですが

1.プログラムから見たときの番号
2.実際に割り当てられている番号


は一致しません。

プログラムさんが「1番アドレスにミカンを置いたぜ!」と思っても、実際には100番アドレスに置かれていたりするのです。

もう少し細かく見ておきます。
「こまけぇこたぁいいんだよ!!」な人は適当に読み流してください。

例えば、そうですね。

ここにミカンを持ったプログラムさんがいます。

仮想アドレス5

プログラムさんは、ミカンを机の上に置きたいです。

仮想アドレス6

このとき、プログラムさんはミカンを机の上に直接は置きません。
メモリ管理ユニット(MMU)」と呼ばれるやつに「このミカンを机の上に置いておくれ」と依頼するのです。

仮想アドレス7

プログラムさんは、メモリ管理ユニットさんに「このミカンを1番アドレスに置いてよ」と依頼しました。

仮想アドレス8

この依頼を受けたメモリ管理ユニットさんは、ミカンを1番アドレスに……置くとは限りません。
メモリ管理ユニットさんの気分で勝手に決めます。
おっと、どうやら今回は13番アドレスにミカンを置いたようですね。

仮想アドレス9

それからしばらくして、プログラムさんが戻ってきました。

仮想アドレス10

プログラムさんは、どうやらお腹が空いたようです。
メモリ管理ユニットさんに「1番アドレスに置いてもらった例のミカンを持ってきてよ」と依頼しました。

仮想アドレス11

この依頼を受けたメモリ管理ユニットさんは、しれっと13番アドレスからミカンを持ってきます。
そして「ほれ、1番アドレスに置いておいたミカンだよ」と渡しました。

仮想アドレス12

ここで、ミカンを置いたマス目の番号に注目してください。

プログラムさんは、ミカンを「1番」のマス目に置いたつもりになっています。
プログラムさんの視点で見れば、メモリ管理ユニットさんを経由したとはいえ、1番のマス目に置いたミカンを1番のマス目から持っていきました。

仮想アドレス13

実際には、どうでしょう?
ミカンは「13番」のマス目に置かれていましたよね。

仮想アドレス14

これが、プログラムから見たときの番号と実際に割り当てられている番号が一致しない理屈です。

以上を踏まえて、机のマス目に振られた番号(メモリのアドレス)

1.プログラムから見たときの番号
2.実際に割り当てられている番号


のうち

1.プログラムから見たときの番号

が「仮想アドレス」です。
仮想アドレスは「論理アドレス」や「リニアアドレス」などと呼ばれる場合も あります。

仮想アドレス15

あと、ついでなので書いておくと

2.実際に割り当てられている番号

は「物理アドレス」と呼ばれています。

仮想アドレス16

気が向いたら、併せて覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「仮想アドレス」って単語が出てきたら「プログラムから見たメモリのアドレスなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像048
書籍画像037

おまけ

■訳してみるよ

「仮想」は日本語ですね。
「address(アドレス)」の意味は「住所」とかです。
何となく くっつけると

仮想的な住所

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
わかばちゃんとつくって、壊して、直して学ぶ NewSQL入門
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践