まずはこの聴きなれない「インテル®バーチャライゼーション・テクノロジー」についてWebを駆使して調べてみました。
※以下VTと省略
以下の文章はWikiで書かれていた文章の一部です。
Intel VTとは、仮想マシンモニタによる複数のオペレーティングシステム (OS) の並行動作をより効率的に行うための 支援技術である。・・・①
VT機能がなくても、すべてソフトウェア的に仮想化技術を実装し、複数のOS(ゲストOS)を実行することは可能である。 しかし、その場合パフォーマンスの低下を招いたり、ゲストOSに変更が必要となる場合もある。
ハードウェア側でVTに 対応することによって、これらの問題点を解決する仮想マシンモニタの実装を支援することができる。・・・②
上記の文章を要約すると①支援技術 ②ハードウェアー側の持つ機能と言うことになるので、M/B上でのON/OFFが可能であると判断されるため、この機能の検証としては実際にON/OFFして表示や動作にどれくらい差が有るものなのか確認してみたいと思います。
★ 一応、以下にこの機能の開発履歴(機能搭載履歴)のようなものと動作の概要を写しましたので参考にしてください。
[開発履歴]・・・★ 以下引用です。
インテルでは、Itanium 2などのIA-64アーキテクチャ用にIntel VT-i、Intel Pentium DなどのIntel 64アーキテクチャ 用にIntel VT-xを、また、I/O仮想化機能をIntel VT-dとして開発した。これらの機能を総称してIntel VTとしている。 Nehalemマイクロアーキテクチャ以降はCore i3以上のすべてのCPUがVT-xに対応している。←そうらしい。(^^ゞ
[動作概要]
通常、オペレーティングシステムは、リングプロテクションで特権レベルと、ユーザーレベルの二つを使って実装され ている(その中間のリングはかつては利用されていたが、現在は未使用の資源である)。←こんな資源が隠されているんですね。・・・有る意味もったいないですね。(^^ゞ
仮想マシンモニタでは、スーパ ーバイザー(ハイパーバイザではない)が所属するホストOSを特権リングに、ゲストOSカーネルを中間リングに配置する。 これによりゲストOSカーネルで特権命令が使われると特権違反が発生し、スーパーバイザはゲストOSがホストOSに対して 資源を要求した事を検出できる。
ここでいくつかの問題が発生する。ゲストOSで使われるOSは本来特権レベルで動作している事を前提とした設計になって いる。その為、例えば割り込みの禁止や許可といった非常に細粒度の資源要求が発生する事もある(x86で言うところの CLI,STI命令はスーパーバイザでは状態フラグの書き換え程度の動作しかする事がない)。
しかし、リング間状態遷移は コンテキストスイッチを発生させ、その都度CPUコンテキストの全て・全レジスタ内容とフラグがメモリに書き出される 事になる。粒度の細かい操作でこのような動作が頻繁に行われる事は資源の浪費であり、仮想化されたシステム全体の 性能低下を招く。I/Oアクセスにおいても同様の事が言える。
仮想化支援技術では特権リングの扱いを改めてこれらの細粒度の操作を制御したり、あるいはスーパーバイザの操作を 代行する事により、より粒度の粗い処理の単位として取り扱う事によって無駄を排除する。割り込み制御一つをとっても、 この操作の無駄を排除する事により仮想化環境の性能は概ね20%以上の性能向上が見られる。VT-xとVT-iは命令レベルでの 改善、VT-dはI/Oレベルの改善をはかったものである。
ハードウェア・アシストによるインテル® VT は、インテル® Xeon® プロセッサーとインテル® サーバー・アダプター、 およびすべての第 3 世代インテル® Core™ vPro™ プロセッサーを基盤とするサーバー・プラットフォームのあらゆる 側面に組み込まれています。 インテル® トラステッド・エグゼキューション・テクノロジー (インテル® TXT←第二の謎で解明される。)とインテル® VT を組み合わせることで、 サーバーおよびクライアントを導入するためのより安全で保護された仮想プラットフォームが実現します。