X86仮想化
1999年2月8日、VMware は初のx86仮想化製品 "VMware Virtual Platform" をリリースした。これは、同社の創業者がスタンフォード大学で行っていた研究成果に基づいたものである。VMware はその技法を1998年10月に特許申請し、2002年5月28日にアメリカ合衆国特許第 6,397,242号として特許が成立した。
VMware や類似する仮想化ソフトウェアがハードウェア仮想化支援機能を持たないx86向けの仮想化する場合、特定の命令の実行を捉えて動的に置き換える動的命令変換技法を必ず使用している。 この技法は、本質的に仮想化可能なアーキテクチャ(例えば IBM System/370 や MC68020)での仮想機械に比較すると性能に対する何らかのオーバーヘッドを抱えている。
Kevin Lawton は、x86仮想化のためのフリーソフトウェアを作成する Plex86 プロジェクト(以前は "freemware" と称していた)を開始した。このプロジェクトは Linux のみをゲストOSとするプロジェクトに変質してしまった。 しかし、それ以前に Lawton は "Running multiple operating systems concurrently on an IA32 PC using virtualization techniques"(IA32 PC上で仮想化技法を使って複数OSを同時並行動作させる)という論文を発表しており、その中でx86アーキテクチャの仮想化困難な部分の分析を行い、その対処方法を論じている。
PCI-SIG I/O virtualization (IOV)は、PCI-SIGが標準化を行っている、PCI ExpressベースのネイティブなハードウェアI/O仮想化技術の総称である。IOVに対応するデバイスは、ゲストOS間で一つのリソースを共有できる。
IOVは、I/O仮想化に関して次の仕様を定めている:
アドレス変換サービス規格 (ATS)
Address translation servicesは、アドレスの交換と翻訳に使用する、PCI Expressの為の変換コンポーネントに関する仕様を定める。
Single-Root デバイス共有規格 (SR-IOV)
Single-root IOVは、既存のシステムのような、ルートが一つしか存在しないPCI ExpressトポロジにおけるネイティブなI/O仮想化を支援する。つまり、一台の物理的なコンピュータにおいて仮想化支援を行うものである。
Multi-Root デバイス共有規格 (MR-IOV)
Multi-root IOVは、ブレードサーバのようにPCI Expressを共有する複合的な多重ルート階層を持つ環境において、SR-IOVを前提としてネイティブなI/O仮想化を支援する。つまり、SR-IOVを持つ複数台の物理的なコンピュータ間で、ハードウェアの仮想化支援・共有を行うものである。