Wapedia
Wiki: x86仮想化

x86仮想化とは、x86ベースのゲストオペレーティングシステム (OS) を別のx86ベースのホストOS上で、ほとんど(あるいは全く)ゲストOSを修正することなく動作させる手法である。本来のx86アーキテクチャはPopekとGoldbergの仮想化要件を満たしていない。2005年と2006年、インテルAMDがそれぞれx86アーキテクチャを拡張することでこれに対応し、他の仮想化での問題にも対処した。

コンテンツ:
1. ソフトウェア技法
2. ハードウェアサポート
3. 関連項目
4. 脚注

1. ソフトウェア技法

1999年2月8日VMware は初のx86仮想化製品 "VMware Virtual Platform" をリリースした。これは、同社の創業者がスタンフォード大学で行っていた研究成果に基づいたものである。VMware はその技法を1998年10月に特許申請し、2002年5月28日アメリカ合衆国特許第6,397,242号として特許が成立した。VMware や類似するx86向け仮想化ソフトウェアは、特定の命令の実行を捉えて仮想化する命令変換技法を必ず使用している。この技法は、本質的に仮想化可能なアーキテクチャ(例えば IBM System/370MC68020)での仮想機械に比較すると性能に対する何らかのオーバーヘッドを抱えている。

Kevin Lawton は、x86仮想化のためのフリーソフトウェアを作成する Plex86 プロジェクト(以前は "freemware" と称していた)を開始した。このプロジェクトは Linux のみをゲストOSとするプロジェクトに変質したが、それ以前に Lawton は "Running multiple operating systems concurrently on an IA32 PC using virtualization techniques"(IA32 PC上で仮想化技法を使って複数OSを同時並行動作させる)[1]という論文を発表しており、その中でx86アーキテクチャの仮想化困難な部分の分析を行い、その対処方法を論じている。

マイクロソフトは Windows ベースのx86仮想化製品を3種類提供している。Connectix から得た技術に基づいた Virtual PCVirtual Server、そして Hyper-V である。

オープンソースとしては、QEMUVirtualBox がある。

実験的システム DenaliL4Xen は、元のハードウェアと仮想機械の実装を変えることでx86仮想化の高性能化を模索したものである。OSをその仮想機械向けに移植することで、x86命令セットの仮想化しにくい部分を実装するのを避けている。この技法を準仮想化と呼ぶ。Xen 3.0 では、後述するハードウェアサポートを利用した完全仮想化もサポートしており、OSに全く変更を加えなくてもよい。

ワペディア: 携帯電話でウィキペディア