仮想メモリを採用したシステムの例を示そう。複数のゲストOSの上で複数のアプリケーション・プログラムが動くシステムである。階層化された実行環境を図示する。
ゲストOSの下層には、管理プログラムである「仮想マシンモニター(VMM:Virtual Machine Monitor)」あるいは「ハイパーバイザー」が存在しており、複数のゲストOSを切り替えて動作させる。
ゲストOSが利用する仮想アドレスは、物理アドレスの全てに対応している訳ではないのだが、ゲストOSはそのことを自覚していない。VMMは独自のページ・テーブルを備えることで、複数のゲストOSのアドレスが干渉しないように、各OSを物理アドレスに割り当てている。つまり、アドレスの変換は2段階になる。
最初の変換は、ゲストOSのページ・テーブルで実行する。仮想アドレスは物理アドレス(中間アドレス)に変換される。2回目の変換は、VMMのページ・テーブルで実行する。中間アドレスが物理アドレス(真の物理アドレス)に変換される。
(次回に続く)
⇒「福田昭のデバイス通信」連載バックナンバー一覧
Copyright © ITmedia, Inc. All Rights Reserved.