仮想マシンの仮想メモリー

最終更新日 2023年09月07日

仮想マシンの仮想メモリーとは

基礎

仮想メモリー - 意味・説明・解説 : ASCII.jpデジタル用語辞典 より引用します。
仮想マシンに与えられる、仮想的に実装したメモリー空間、およびその手法。
仮想マシンの仮想メモリーとは、仮想マシンに与えられる、仮想的に実装したメモリー空間です。カソウメモリーと読みます。バーチャルメモリーと呼ぶ場合もあります。

用語

仮想マシンとは、実際のコンピューターやサーバー上で、仮想化ソフトを使用し作り出す仮想的なコンピューターです。

メモリー空間とは、メモリーのアドレスのレンジです。アドレスとは、メモリーに対しデータ読み書きできる場所を識別するための番号です。レンジとは、番号の最大値と最小値の間です。

OSの機能の仮想メモリー

基礎

仮想メモリーがOSの機能を指す場合もあります。OSの仮想メモリーでは、メモリーをセグメントと呼ぶ単位で分割します。セグメントの集まりが仮想メモリー空間になります。

データ読み書きするセグメントの指定にアドレスを使用します。アドレスとは、データ読み書きできるセグメントを識別するための番号です。アドレスのレンジをメモリー空間と呼びます。レンジとは、番号の最大値と最小値の間です。

仮想メモリーでは仮想メモリー空間であり、仮想メモリー空間のアドレスを仮想アドレスと呼びます。アドレスと仮想アドレスの変換はOSが行います。プログラムが仮想アドレスを使用すれば、OSが変換してアドレスを使用することになります。

仮想マシンの仮想メモリーでは、仮想マシンに仮想メモリー空間を提供する仮想化ソフトウェアが、アドレスと仮想アドレスの変換を行います。この場合の変換処理の負荷が高く、この変換処理を支援するCPUを使用すると負荷が軽減します。

空いているセグメントを効率よく使用できる

プログラムが使用中で空いていないセグメントもあれば、プログラムが未使用で空いているセグメントもあります。プログラムでは、連続したアドレスのメモリー空間を使用しますが、セグメントの使用状況によっては、空いているセグメントがあっても、連続したアドレスのメモリー空間を用意できるほどセグメントが空いていない場合があります。

仮想メモリーでは、空いているセグメントを組み合わせて仮想メモリー空間を用意できます。用意した仮想メモリー空間の仮想アドレスが連続しています。仮想メモリーでは、このように仮想メモリー空間をプログラムに用意できるので、空いているセグメントを効率よく使用できます。

プログラムがセグメント使用可能か等を判断する処理が不要になる

プログラムがセグメントを使用する前に、セグメントが使用可能か等を判断する処理が必要です。仮想メモリーでは、このような処理をOSが行います。プログラムはセグメントが使用可能か等を気にせずに、OSが用意した仮想メモリー空間を使用できます。

プログラムが勝手にセグメントを使用することを防げる

あるプログラムが使用しないことになっているセグメントを使用してしまうと、他のプログラムにエラーが発生したり、OSにエラーが発生したりします。仮想メモリーでは、プログラムに提供された仮想メモリー空間外のセグメントを使用できないので、このようなエラーが起きません。

仮想マシンの仮想メモリーでも似たような仕組みがあり、仮想マシンに仮想メモリー空間を提供する仮想化ソフトウェアが、仮想マシンが他の仮想マシンの仮想メモリーを使用することを防ぎます。

実質的なメモリー容量を増やせる

仮想メモリーでは、ストレージのセグメントの集まりも仮想メモリー空間に使用できます。使用可能なメモリー容量を、実際に搭載されているメモリー容量よりも大きくできます。実質的にメモリー容量が増えるので、メモリー容量不足が起きにくくなります。ただし、ストレージのデータ読み書き速度が遅いので、実際に搭載されているメモリー容量では不足し、ストレージも使用するようになると処理速度が低下します。


キャンペーン情報(PR)
マウスコンピューター
・春のパソコンセール
最大70,000円OFF!!
(4月24日迄)
DELL
・今週のおすすめ製品
対象製品が最大20%OFF
(キャンペーン実施中)
パソコン工房
・WEB開催!スプリングセール
ゲーミング・クリエイター向けパソコンなどをご用意
(4月23日迄)