計算機科学における完全
仮想化(Full virtualization)とは、
仮想化技術の一種であり、基本的な
ハードウェアを完全にシミュレーションする環境を提供するものです。これは、特定の種類の
仮想機械環境を構築し、
ハードウェアの機能を
ソフトウェアで模倣することにより実現されます。完全
仮想化は、準
仮想化の対となる概念として用いられ、仮想環境内での実機とほぼ同等の動作を可能にします。
完全
仮想化では、
ハードウェアの重要な特徴がすべて仮想マシン上に反映される必要があります。具体的には、以下の要素が仮想環境内で正確に再現され、機能する必要があります。
命令セット:
CPUが実行する命令のセットを仮想環境でエミュレートします。
入出力操作: キーボード、マウス、ディスクなどの周辺機器とのデータ入出力を仮想的に扱います。
割り込み:
ハードウェアからの割り込み信号を仮想的に処理します。
メモリアクセス: メモリの読み書き操作を仮想的に管理します。
その他の要素: 実機上で
ソフトウェアが利用するその他の要素も、仮想環境内で同様に利用できるようにします。
これらの要素を
仮想化することで、実機上で動作する
ソフトウェア(特にオペレーティングシステム)は、ほとんどの場合、修正なしで仮想マシン上でも動作させることができます。この点が完全
仮想化の大きな特徴であり、
仮想化が正しく機能しているかを判断する基準となります。
具体的には、単体で利用されることを想定したオペレーティングシステム(例えば、特定の
ハードウェア向けに最適化されたOS)が、仮想マシン上で正常に起動し、動作すれば、それは完全
仮想化が成功していることを示します。これは、
仮想化環境が実機とほぼ同じ環境を提供している証拠と言えます。
仮想化には、完全
仮想化の他に、準
仮想化やその他の形式が存在します。準
仮想化は、仮想マシン上で動作する
ソフトウェア(特にオペレーティングシステム)が、仮想環境向けに修正されている必要があります。一方、完全
仮想化では、
ソフトウェアの修正は基本的に必要ありません。
完全
仮想化は、既存の
ソフトウェアをそのまま仮想環境で動作させたい場合や、さまざまなオペレーティングシステムを同じ
ハードウェア上で利用したい場合に特に有効です。柔軟性が高く、利用の幅が広い点がメリットです。しかし、
仮想化のオーバーヘッドが大きいため、性能面では準
仮想化に劣る場合があります。
まとめ
完全
仮想化は、
ハードウェアを
ソフトウェアで完全に模倣することで、実機とほぼ同じ環境を仮想マシン上に作り出す技術です。これにより、さまざまなオペレーティングシステムやアプリケーションを、修正なしで仮想環境上で実行することが可能になります。
仮想化の技術は日々進化しており、完全
仮想化もその中で重要な役割を担っています。
関連情報
仮想化:
仮想化技術全般に関する情報です。
準仮想化: 準
仮想化技術に関する情報です。
論理ドメイン:
仮想化環境におけるドメイン分割に関する情報です。
Hyper-V: Microsoftの提供する
仮想化プラットフォームです。
KVM: Linuxカーネルに組み込まれた
仮想化モジュールです。
OpenVZ: コンテナ型の
仮想化ソリューションです。
QEMU: エミュレーターとしても利用可能な
仮想化ソフトウェアです。
VirtualBox: Oracleの提供する
仮想化ソフトウェアです。
VMware: 広く利用されている商用
仮想化ソフトウェアです。
*
Xen: オープンソースの
仮想化プラットフォームです。
これらの関連情報を参考に、より深く
仮想化技術について理解を深めることができます。
脚注・出典
デバイスの仮想化|Windows Server|トピックス|Computerworld