VT-x

提供:MonoBook
2024年10月2日 (水) 07:58時点におけるAdministrator (トーク | 投稿記録)による版

VT-x(語源:Virtualization Technology eXtensions、CPUフラグ:VMX)とは、インテルCPUに搭載されている仮想化を支援する命令セットである。

VT-xは2005年に発売し激熱CPUとして名を馳せたPrescott-2Mの上位モデルである「Pentium4 662」およびPentium4 672」に初搭載された。

VT-xでは13個の命令が追加されている。これらの命令はハイパーバイザー上のゲストOSが完全な特権(リング0)で実行されていると認識し、ホストOSは保護されたままの仮想実行モードの開始と終了を許可する。

この後、2008年のNehalemにExtended Page Tables、2010年のWestmereにUnrestricted Guest、2013年のHaswellにVirtual Machine Control Structure Shadowingと微修正が行われた。

つまり実質的に「Haswellで完成形にった」というのが実情であり、それ以前のCPUのVT-xはベータ版であるといえる。

主な機能

  • VMX RootモードとVMX Non-rootモード:
    • VMX Rootモード: ハイパーバイザー(VMM)が動作するモード。
    • VMX Non-rootモード: ゲストOSが動作するモード。
  • VMCS(Virtual Machine Control Structure):
    • 仮想マシンの状態を管理するためのデータ構造で、コンテキストスイッチを高速化します。
  • EPT(Extended Page Tables):
    • 仮想メモリの管理をシンプルに保ち、複数のOSが混在しても効率的に動作します。

有効化

VT-xの有効化はBIOSに依存する。BIOSで無効化されていればVT-xはCPUがサポートしていても無効である。たとえば古いMacではCPUはVT-xに対応しているが、ファームウェアでVT-xが無効化されいた。

関連項目