仮想化
定義:仮想化[virtualization]
リソースの物理的特性を,そのリソースと相互作用するシステム/アプリケーション/エンドユーザーから隠蔽する技法.単一の物理リソース[サーバ,OS,アプリケーション,補助記憶装置など]を複数の論理リソースに見せかけたり,複数の物理リソース[複数の補助記憶装置群やサーバ群]を単一の論理リソースに見せかけたりできる.
なお,仮想化は下記の5つのレベルに分けて考えることができる.
- アプリケーションレベル
一つのアプリケーションのみの仮想化.
JVM/.NET CLR/Panot - ライブラリ[user-level API] レベル
ユーザーとライブラリ間を仮想化.APIエミュレーションともいう.
WINE/WABI/LxRun/LxRun/Visual MainWin/vCUDA - OSレベル
OSとアプリケーションの間を抽象化するための仮想化.Container技術.HALレベルの仮想化とは異なり,VMやゲストOSを作成しない.
Jail/Virtual Environment/Ensim's VPS/FVM - H/W 抽象化レイヤー[HAL]レベル
I/Oデバイスやメモリなどの物理デバイスとOSの間を仮想化
VMWare/Virtual PC/Denali/Xen/L4/Plex 86/User mode Linux/Cooperative Linux - 命令セットアーキ[ISA]レベル
プロセッサと命令セットの間を抽象化する仮想化.
Bochs/Crusoe/QEMU/BIRD/Dynamo
出典・参考文献
INDEX