多くの仮想化の形態は、利用者と提供者に関わるデザインパターンでパターン化可能である。利用者と提供者は何らかのインタフェースを使って相互作用する。仮想化は、この両者の間に介在し、利用者に仮想化されたインタフェースを提供すると同時に、提供者にも別の形で仮想化されたインタフェースを提供する。一般に、利用者と提供者の関係は一対多、あるいは多対一、または多対多であり、中間層(仮想化層)だけがその多重性を意識している。理想的には、仮想化されていない環境で直接やり取りしている利用者と提供者は、仮想化された環境でも修正することなくそのまま機能するのが望ましい。例えば、仮想記憶では物理アドレス空間と利用者の間に中間層(仮想記憶管理層)が存在する。その中間層は複数の利用者をサポートするため、複数の仮想アドレス空間を提供する。利用者と提供者(物理メモリ)は一般にその多重性に気づく必要はない。プラットフォーム仮想化.プラットフォーム仮想化とは、ハードウェアプラットフォーム上でホストプログラム(制御プログラム)が擬似的なコンピュータ環境を生成し、ゲストソフトウェアに対して「仮想機械」を提供するものである。ゲストソフトウェアは、それ自体もオペレーティングシステムであるのが一般的で、あたかも独立したハードウェアプラットフォームにインストールされたかのように動作する。単一の物理マシン上で複数の仮想機械をシミュレート可能なことが多く、仮想機械の個数はホストであるハードウェアリソースによって制限される。ゲストOSとホストOSは一般に同一である必要はない。ゲストシステムは特定の周辺機器(ハードディスクドライブやネットワークカード)へのアクセスを必要とすることが多く、その場合その機器とゲストのインタフェースを提供する必要がある。プラットフォーム仮想化の手法はいくつか存在する。以下にそれらを列挙する。仮想化技術の進展によって、アプリケーション仮想化とアプリケーションストリーミングといった新たな技法が登場した。リソース仮想化.上述のプラットフォーム仮想化の概念から、補助記憶装置のボリューム、名前空間、ネットワークリソースといった特定のシステムリソースの仮想化が生まれた。例.以下に、仮想化の応用例を列挙する。フェリックス(キャラクター)ドメニコ・ガロ人物.