Mar 04, 2006

[VMWare] VMWare と Xen の違い

VMWareXen はどちらも仮想化ソフト。 同じ仮想化ソフトではあるけれど、仮想化の実現方式は結構異なるらしい。 Interview on Xen with Manuel Bouyerで Xen と VMWare の実装の違いが紹介されていた (vimrc diaryさんのXenとVmwareの違い [xen]経由)。

VMware will emulate real hardware so that an unmodified OS can run on top of the virtualizer. Just run an OS in VMware, and this OS will see some kind of VGA adapter for the console along with the usual PS/2 keyboards and mouse, some kind of network interface (a DEC tulip if my memory is right), and some kind of IDE or SCSI adapter for mass storage. To achieve this, the virtualizer will have to emulate these devices. This means emulating the registers and interrupts, quite often with MMU faults when these fake registers are accessed. This means that a single I/O operation will most likely require several context switches. The same goes for the MMU: accesses to privileged CPU registers, page tables and use of privileged instruction will all generate context switches.

The Xen's virtualizer (the hypervisor) doesn't emulate real hardware but offers an interface to the guest OS for these operations. This means that the guest OS will have to be modified to use these interfaces. But then these interfaces can be optimized for the task, allowing it to batch large numbers of operations in a single communication with the hypervisor, and so limiting the number of context switches required for I/O or MMU operations.

ということは、VMWare より Xen の方が高速なのだろうか?? 調べてみると、Xen のサイトに Xen と VMWare のパフォーマンスの比較が載っていた。 確かに、VMWare より Xen の方が高速の様だ。 とは言え、気軽に使うには普通の OS がそのままゲスト OS として使用できる VMWare の方が楽なので、個人的には VMWare を使っていくつもり。

ついでに少し調べていたら仮想化技術の実現方式の違いを解説したページを発見した。

仮想化技術のアプローチと実装 ~ VMwareから要注目技術Xenまで ~
http://www.atmarkit.co.jp/flinux/special/vm/vm02.html

Posted in VMWare | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |