* VMの動作原理 * CPUの仮想化 * CPUはレジスタと命令で動作する。VMMはアクティブなVMへの ポインタを保持し、CPUからのデータをアクティブなVMに引きわたす。 また、アクティブなVMを切替えるタイミングで仮想レジスタから物理 レジスタに内容をコピーする。これはコンテキストスイッチと呼ばれる 処理で、OS内のプロセスの切替でも発生する処理である。 * メモリの仮想化 * VMMで、VMのページテーブルと実メモリのページテーブルをマッピング するシャドウページテーブルを管理する。VM内でのメモリアクセスは、 シャドウページテーブルにしたがって実メモリにアドレス変換されて アクセスされる。これはレガシOSで大きなメモリを扱う場合に 用いられる方法と同じである。 * デバイス仮想化(I/O仮想化) * ストレージ: VMMでエミュレートする。併せてキャッシュと圧縮も行うこ とで実ドライブへのアクセスがスループットにあたえる影響を低減する * ネットワーク: VM内に仮想デバイスドライバをもち、VMMで変換を行う。 物理マシンは複数のIPアドレスを保持することができるため、 * ディスプレイ,入力装置: 仮想デバイスドライバ経由。 リモートコンソール技術に近い。 * 参考資料 * Smith, James E. and Nair, Ravi. 2005. Virtual Machies. Elsevier. Chapter8 - System Virtulizaion.
VMの動作原理
教科書そのままなので、誤訳や理解不足もあるかもしれませんが置いておきます。