Xenとは
Xenはハイパーバイザータイプの仮想マシンソフトウェアです。さらに細かくいうとPara-virtualizing Virtual Machine Monitor(日本語だと疑似仮想化仮想マシンモニター)という種類に属します。
今、オープンソースソフトウェア業界で多くのベンダーから支持を得ている仮想マシンソフトウェアです。
今回はXenを用いて、ハイパーバイザータイプの仮想マシンソフトウェアの機能を紹介します。
Xenの誕生
Xenはイギリスケンブリッジ大学の研究プロジェクトから生まれました。Xenのソースコードはアメリカのカリフォルニア州パロアルトにあるXenSource社という企業が管理しています。しかし、開発はオープンソースコミュニティ主導で行われています。
疑似仮想化
Xenのコンセプトは疑似仮想化です。そのためXen上で動かすOSは、そのままでは動作しないため修正が必要です。
具体的にはI/O処理を行う際にハイパーバイザーであるXenを経由するようにkernel部分のソースコードに修正を加える必要があります(図1)。しかし、その上で動くアプリケーションの修正は不要です。

図1:Xen用に修正されたkernelの動き
OSのソースコードに修正を加えるが必要であるため、ソースコードが公開されているLinuxやBSD系のOS、OpenSolarisなどは動作可能ですが、WindowsやNetWareなどのソースコードが公開されていないOSでは動きません。
また疑似仮想化はCPUまでエミュレーションしないため、VMwareやVirtual PCよりも高い性能を発揮することができます。そして、たくさんのゲストOSを同時に動かしてもパフォーマンスの劣化が少ないという点も魅力的です。