クリティカルな命令の扱い
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2013/04/30 13:14 UTC 版)
「PopekとGoldbergの仮想化要件」の記事における「クリティカルな命令の扱い」の解説
効率性の特性を犠牲にすれば、定理1で示された ISA 仮想化の条件を緩めることができる。過去にも、(Popek と Goldberg の定義で)仮想化可能でない ISA 用の VMM は何度となく実現されてきた。 このようなアーキテクチャの仮想化には、「クリティカルな命令」すなわち、センシティブであるにもかかわらず、特権命令ではない命令を適切に扱う必要がある。これを実現する方法の一つ は動的再コンパイルで用いられる手法によりクリティカル命令を実行時に発見し、VMM へのトラップに置き換える「パッチ」として知られる方法である。パッチをうまく働かせるためにエミューレーションコードをキャッシュしたり、ハードウェアの支援により高速化するといった様々な手法が提案されている。別のアプローチとして準仮想化の方法があり、これには仮想環境で動作させる前にゲストのオペレーティングシステムを修正する(VMMに移植する)必要がある。
※この「クリティカルな命令の扱い」の解説は、「PopekとGoldbergの仮想化要件」の解説の一部です。
「クリティカルな命令の扱い」を含む「PopekとGoldbergの仮想化要件」の記事については、「PopekとGoldbergの仮想化要件」の概要を参照ください。
- クリティカルな命令の扱いのページへのリンク