09/02/28 04:59:46 +dmcZHpj0
>>34
原理的にWindowsはすべて完全仮想化でしか動かないよ。
理由はカーネルコードが非公開だから。
そもそも、仮想化するときに、命令を乗っ取って仮想化していますが、
準仮想化(ハードウェアって34では記してますね)と、完全仮想化(ソフトウェア)の違いは
・準仮想化の場合は、特権命令のみ(すべて乗っ取れる命令のみ)
・完全仮想化の場合は、いろいろごちゃまぜ(乗っ取れないものがある。のでエミュレーションしてる)
です。
4階層モデルで、忠実にOSのカーネルを書いたら、準仮想化に対応した命令のみで記述されますが、
みんな適当に書いてるのでそうはなりません。
わざわざ、Linuxの一部カーネルは、ハードウェアのみで実行できるような命令のみを使用するように
再構成されています。
Windowsは謎だから、どうなっているか不明です。のでエミュレーションしないと無理です。