- 677 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/07/04(金) 16:47:10 ID:7m84N92w0]
- 確かvmwareは仮想マシンをリング0で、ゲストOSをリング1で実行させるんじゃなかったかな。
こうすることでゲスト上でのリソースアクセスを仮想マシン上でトラップできるし、 ゲストのコードを「ほぼ」ネイティブ実行できる。 でも、通常のOSはカーネルやドライバがリング0で動くことを前提として作っているので、 ゲストOSがリング0の特権命令を発行することがある。 もちろんこれは例外になるので、仮想マシンがそれをトラップしてしかるべきエミュレーションを行なうのだけど、 いくつかの特権命令はハンドルできないんで、仮想マシン側で実行時にこれら特権命令の動的変換をしてる。 この辺を効率良く改善しようという動きが、CPUの仮想化支援機能。 だからVM on VMが出来るのは、律儀にCPUの動作までエミュレートするようなQEMUとかBochsでないと。
|

|