x86アーキテクチャのプロセッサに対する仮想化支援機能が実装段階を迎えている。仮想化ソフトウエアも該当機能に対応しつつあり,x86アーキテクチャの仮想化技術がようやく実用期に差しかかってきた。

 AMDは「AMD-Virtualization(AMD-V)」,Intelは「Intel Virtualization Technology(VT)」と呼ぶ仮想化支援機能をそれぞれ発表し,それらが実装されたプロセッサが徐々に出始めている。AMD-VとIntel VTとではプロセッサの命令セット自体は異なるものの,どちらもほぼ同等の仕組みを備える。VMware製品やMicrosoftのVirtual Server,Xenなど,多くの仮想化ソフトウエアがこれら双方に対応する予定だ。

 ここでは,x86プロセッサに実装されている仮想化技術について説明する。特に断りのない限り,仮想化技術はVMware ESX Serverにかかわる事項であることを前提とした。

仮想化によってOS間のリソース競合を回避

図01
図1●OSとコンピュータの間で動いて,複数のOS間のリソース競合を回避するVMM

 x86アーキテクチャ向けのOSは「コンピュータのすべてのリソースを占有している」という前提で動作している。従ってそのようなOSを,同一のコンピュータ上で複数同時に実行することはできない。なぜならば,複数のOS間で,リソースの競合が発生するからである。

 そのようなOSを,同一コンピュータで複数同時に動かすための技術が仮想化技術である。図1に示すような「仮想マシン・モニター(VMM)」と呼ぶソフトウエアを,OSとコンピュータの間で稼働させて,複数のOS間のリソース競合を回避する。VMMは,OSに対して仮想的なハードウエア・リソースを提供する。OSは仮想ハードウエアを,物理ハードウエアであるかのように認識し,動作する。

VMMの処理を肩代わりするプロセッサの仮想化支援機能

 既に説明したように,VMMはソフトウエアとして実装されている。ソフトウエアが,複数のOS間のリソース競合を回避するという,重要かつ複雑な処理を担っているわけだ。

 AMD-VやIntel VTといった「プロセッサに実装される仮想化支援機能」の狙いは,VMMが実行しているこの重要かつ複雑な処理のいくつかを,いかに効率よく肩代わりするか,という点にある。ただし,プロセッサの仮想化支援機能を利用したとしても,あくまでも仮想マシンと物理マシンのインターフェースを担うのは,VMMである。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら