Comparison of virtual machines

From Wikipedia, the free encyclopedia

The table below compares basic information about virtual machine packages, including: creator, guest systems supported, license, etc. Note that these are all Virtual Machines in the 'hypervisor' or 'hardware emulator' sense. None of them are VMs in the Application Virtualization sense as the Java Virtual Machine or Parrot virtual machine. For those, see Comparison of Application Virtual Machines.

Name Creator Host Processor Guest Processor Host OS Officially supported guest OS Guest OS SMP available? Runs Arbitrary OS? Drivers for supported guest OS available? Method of operation License Typical use Guest OS speed relative to Host OS Commercial Support Available
Bochs Kevin Lawton Intel x86, AMD64, SPARC, PowerPC, Alpha, MIPS Intel x86, AMD64 Windows, Linux,
OS X, IRIX, AIX, BeOS
DOS, Windows, xBSD, Linux Yes Yes ? Emulation LGPL Hobbyist, Developer Very slow
Cooperative Linux Dan Aloni helped by others developers 1 Intel x86, others? (Same as parent) Windows NT (NT, 2000, XP, Server 2003), Linux? Linux ? No some are supported Porting GPL version 2 used as a separate machine for a server or with X11 networking Native[1]
Denali University of Washington[2] Intel x86 Intel x86 Denali Ilwaco, NetBSD No No ? Paravirtualization and Porting ? Research Slow
DOSBox Peter Veenstra and Sjoerd with community help Intel x86, AMD64, SPARC, PowerPC, Alpha, MIPS Intel x86 GNU/Linux, Windows, Mac OS Classic, Mac OS X, BeOS, FreeBSD, OpenBSD, Solaris, QNX, IRIX Internally emulated DOS shell No No Yes Emulation using Dynamic Translation or interpretation. GPL execution of DOS applications, especially games Extremely slow - though speed is less important for targeted emulated applications
DOSEMU Community Project Intel x86 Intel x86 Linux DOS No Yes Yes Hardware virtualization GPL version 2 Legacy application support Native[3]


FreeVPS PSoft Intel x86, AMD64 compatible Linux Various Linux distributions Yes No n/a Operating system-level virtualization GPL version 2 Hosting, Service separation, Security Native[4]
GUSS guss-hackers Intel x86 Intel x86 GNU/Linux GNU/Linux  ?  ?  ?  ? GPL  ?  ?
Integrity Virtual Machines Hewlett- Packard IA-64 IA-64 HP-UX HP-UX, Windows (Linux, OpenVMS announced) Yes (4-way) Yes Unnecessary Virtualization Proprietary Server consolidation Near native

(no guest additions necessary)

Jail FreeBSD Intel x86, compatible FreeBSD FreeBSD Yes No N/A Operating system-level virtualization FreeBSD Hosting, Service separation, Security Native[5]
KVM KVM Intel/AMD processor with X86_virtualization x86/AMD64 Linux Linux, Windows No No N/A In-kernel Virtualization GPL2  ? Near native
Name Creator Host Processor Guest Processor Host OS Officially supported guest OS Guest OS SMP available? Runs Arbitrary OS Drivers for supported guest OS available? Method of operation License Typical use Guest OS speed relative to Host OS Commercial Support Available
Linux- VServer Community Project Intel x86, AMD64, IA-64, Alpha, PowerPC/64, PA-RISC/64, SPARC/64, ARM, S/390, SH/66, MIPS compatible Linux Various Linux distributions Yes No N/A Operating system-level virtualization GPL version 2 Hosting, Service separation, Security Native[6]
Mac-on-Linux Mac On Linux [7] PowerPC PowerPC Linux Mac OS X, Mac OS 7.5.2 to 9.2.2, Linux ? ? ? Virtualization GPL Native[8]
Mac-on-Mac Sebastian Gregorzyk PowerPC PowerPC Mac OS X Mac OS X, Mac OS 7.5.2 to 9.2.2, Linux ? ? ? Virtualization GPL Native[9]
OpenVZ Community project, supported by SWsoft Intel x86, AMD64, IA-64, PowerPC64, SPARC64 Intel x86, AMD64, IA-64, PowerPC64, SPARC64 Linux Various Linux distributions Yes No Compatible Operating system-level virtualization GPL Virtualized Server Isolation Native[10]
Parallels Desktop for Mac Parallels, Inc. Intel x86, Intel VT-x Intel x86 Mac OS X (Intel version) Windows, Linux, FreeBSD, OS/2, eComStation, MS-DOS, Solaris No Yes Yes Virtualization, Lightweight Hypervisor Proprietary Hobbyist, Developer, Tester, Business workstation Near native
Parallels Workstation Parallels, Inc. Intel x86, Intel VT-x Intel x86 Windows, Linux Windows, Linux, FreeBSD, OS/2, eComStation, MS-DOS, Solaris No Yes Yes Virtualization, Lightweight Hypervisor Proprietary Hobbyist, Developer, Tester, Business workstation Near native
PearPC Sebastian Biallas x86, AMD64, PowerPC PowerPC Windows, Linux, OS X, NetBSD OS X, Darwin, Linux No Yes Yes Emulation using Dynamic Translation GPL Hobbyist, Developer, Business workstation 10% host CPU speed
POWER Hypervisor (PHYP) IBM POWER5 POWER N/A AIX, Linux, i5/OS Yes No Yes Paravirtualization Proprietary All Purposes Native
QEMU Fabrice Bellard helped by other developers Intel x86, AMD64, IA-64, PowerPC, Alpha, SPARC 32 and 64, ARM, S/390, M68k Intel x86, AMD64, ARM, SPARC 32 and 64, PowerPC, MIPS Windows, Linux, OS X, Solaris, FreeBSD, OpenBSD, BeOS Changes regularly [11] Yes Yes ? Dynamic Recompilation GPL/LGPL Hobbyist, Developer, Business workstation, Server 10 to 20% host CPU speed OR near native [12]
QEMU w/ kqemu module Fabrice Bellard Intel x86, AMD64 Same as host Linux, FreeBSD, Solaris, Windows Changes regularly [13] No Yes ? Virtualization GPL/LGPL Hobbyist, Developer, Business workstation, Server Near native
QEMU w/ qvm86 module Paul Brook x86 x86 Linux, NetBSD, Windows Changes regularly No Yes ? Virtualization GPL Hobbyist, Developer, Business workstation, Server Near native
QuickTransit Transitive Corp. AMD64, Intel x86, IA-64 MIPS, PowerPC, SPARC Linux, OS X Various UNIX-like OSes Yes No No Dynamic binary translation Proprietary Various Varies depending on host/guest processor combination
SimNow AMD AMD64 AMD64 Linux (64bit), Windows (64bit) Linux, Windows (32bit and 64bit) Yes Yes Yes Code caching, Virtualization, AMD proprietary Developer, Server about 10x slower
Name Creator Host Processor Guest Processor Host OS Officially supported guest OS Guest OS SMP available? Runs Arbitrary OS Drivers for supported guest OS available? Method of operation License Typical use Guest OS speed relative to Host OS Commercial Support Available
SVISTA 2004 Serenity Systems International Intel x86 Intel x86 Windows, OS/2, Linux ? No ? ? ? Proprietary Hobbyist, Developer, Business workstation ?
TRANGO TRANGO Systems, Grenoble, France ARM, XScale, MIPS, PowerPC Paravirtualized ARM, MIPS, PowerPC none: bare metal execution, Linux or Windows as dev. hosts Linux, eCos, µC/OS-II, WindowsCE, Nucleus, VxWorks Yes Yes[14] Yes Paravirtualization and Porting or Hardware Virtualization Proprietary Mob. phone, STB, routers, etc. Native[15]
View-OS Renzo Davoli helped by other developers [16] Intel x86, PowerPC, AMD64 (in progress) (Same as parent) Linux 2.6+ Linux executables Yes No N/A Partial Virtualization through syscall trapping GPL version 2 security, isolation, testing, mobility Near native (better with ptrace kernel patch[17])
User Mode Linux Jeff Dike helped by other developers Intel x86, PowerPC (Same as parent) Linux Linux ??? No ??? Porting GPL version 2 used as a separate machine for a server or with X11 networking Native speed (Runs slow as all calls are proxied)
VirtualBox InnoTek Intel x86 Intel x86 Windows, Linux DOS, Windows, Linux, OS/2, OpenBSD, FreeBSD No Yes Yes Virtualization GPL V2; full version with extra enterprise features is proprietary (free for personal and educational use and evaluation) Business workstation, Enterprise Server Consolidation, Business Continuity, Hobbyist, Developer Near native
Virtual Iron Virtual Iron 3.1 Virtual Iron Software, Inc. Intel x86 VT-x, AMD64 AMD-V Intel x86, AMD64 none: bare metal execution Windows, RedHat, SuSE Yes

(up to 8 way)

Yes Yes Native Virtualization Complete product carries a proprietary license [18]; a few components are GPL2 [19] Enterprise Server Consolidation, Business Continuity, Dev/Test Near Native Yes Virtual Iron
Virtual PC 2007 Microsoft Intel x86 Intel x86 Windows DOS, Windows, OS/2 No Yes Yes Virtualization (guest calls trapping where supported) Proprietary (free from Jul 2006) Hobbyist, Developer, Business workstation Near native with Virtual Machine additions
VirtualPC 7 for Mac Microsoft PowerPC Intel x86 OS X Windows, OS/2, Linux No Yes Yes Dynamic Recompilation (guest calls trapping where supported) Proprietary Hobbyist, Developer, Business workstation Slow
VirtualLogix VLX VirtualLogix ARM, DSP C6000, Intel x86, Intel VT-x Same as parent none: bare metal installation Linux, C5, VxWorks, Nucleus, DSP/BIOS and proprietary OS Yes Yes Yes Paravirtualization and Porting or Hardware Virtualization Proprietary Embedded real-time systems: Mobile phone, STB, Softswitch, etc Near Native[20]
Virtual Server 2005 R2 Microsoft Intel x86, AMD64 Intel x86 Windows 2003, XP Windows NT, 2000, 2003, Linux (Red Hat and SUSE) No Yes Yes Virtualization (guest calls trapping where supported) Proprietary (Free) Server, Server Farm Near native with Virtual Machine additions
Virtuozzo SWsoft Intel x86, IA-64, AMD64 Intel x86, IA-64, AMD64 Linux & Windows Various Linux distributions; Windows Yes No Compatible Operating system-level virtualization Proprietary Server Consolidation, Disaster Recover, Service Providers Native speed
VMware ESX Server 3.0 VMware Intel x86, AMD64 Intel x86, AMD64 none (bare metal install) Windows, RedHat, SuSE, Netware, Solaris Yes

(Add-on) (up to 4 way)

Yes Yes Virtualization Proprietary Enterprise Server Consolidation, Business Continuity, Dev/Test Up to near native, substantial performance loss on some workload (network and disk intensive especially) Yes (VMware)
VMware ESX Server 2.5.3 VMware Intel x86, AMD64 Intel x86 none (bare metal install) Windows, RedHat, SuSE, FreeBSD, Netware Yes

(Add-on) (2 way)

Yes Yes Virtualization Proprietary Enterprise Server Consolidation, Business Continuity, Dev/Test Up to near native, substantial performance loss on some workload (network and disk intensive especially)
Name Creator Host Processor Guest Processor Host OS Officially supported guest OS Guest OS SMP available? Runs Arbitrary OS Drivers for supported guest OS available? Method of operation License Typical use Guest OS speed relative to Host OS Commercial Support Available
VMware Fusion VMware Intel x86, Intel VT-x Intel x86 Mac OS X (Intel) Windows, Linux, Netware, Solaris, others Yes Yes Yes Virtualization Proprietary Hobbyist, Developer, Tester, Business workstation Up to near native, substantial performance loss on some workload (network and disk intensive especially)
VMware Server VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[21] Yes Yes Yes Virtualization Proprietary (Free) Server/Desktop Consolidation, Dev/Test Up to near native, substantial performance loss on some workload (network and disk intensive especially)
VMware Workstation 5.5 VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[22] Yes Yes Yes Virtualization Proprietary Technical Professional, Advanced Dev/Test, Trainer Up to near native, substantial performance loss on some workload (network and disk intensive especially)
VMware Player VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[23] No Yes Yes Virtualization Proprietary (free) Technical Professional, Advanced Dev/Test, Trainer, End User (Prebuild Machines) Up to near native, substantial performance loss on some workload (network and disk intensive especially)
Xen University of Cambridge, Intel, AMD Intel x86, AMD64, (PowerPC and IA-64 ports in progress) (Same as host) NetBSD, Linux, Solaris Linux, NetBSD, FreeBSD, OpenBSD, Solaris, Windows XP & 2003 Server (needs vers. 3.0 and a Vanderpool or Pacifica-capable CPU), Plan 9 Yes Yes Not required with the exception of the networking drivers where a NAT is required. A modified guest kernel or special hardware level abstraction is required for guest OSs. Paravirtualization and Porting or Hardware Virtualization GPL ? Up to near nativespeed substantial performance loss on some workload (network and disk intensive especially)
z/VM IBM z/Architecture z/Architecture (z/VM does not run on predecessor mainframes) None or itself, single or multiple levels/versions deep, e.g. VM/ESA running inside z/VM 4.4 inside z/VM 5.2 inside z/VM 5.1. Linux on zSeries, z/OS, z/VSE, z/TPF, z/VM, VM/CMS, MUSIC/SP, and predecessors Yes, both real and virtual (guest perceives more CPUs than installed), incl. dynamic CPU provisioning and reassignment Yes Yes, but not required Virtualization (among first systems to provide hardware assists) Proprietary, one-time charge plus maintenance/support Enterprise servers Very good for light-weight, paravirtualized single-user VM/CMS interactive shell: largest customers ran several thousand users on single system. Highly variable for multiprogramming OSes like Linux on zSeries, z/OS that make heavy use of native supervisor state intructions, depending on nature of workload.
Zones Sun Microsystems OpenSolaris Intel x86, AMD64, UltraSPARC, SPARC64 (portable: not tied to hardware) (Same as host) Solaris Solaris, Linux (BrandZ) Yes, over 100-way No N/A Operating system-level virtualization CDDL (Free) Business, Development, Enterprise Server Consolidation, Hosting, Service separation, Security, Isolation Native speed Yes (Sun)
Name Creator Host Processor Guest Processor Host OS Officially supported guest OS Guest OS SMP available? Runs Arbitrary OS? Supported guest OS drivers? Method of operation License Typical use Speed relative to Host OS Commercial Support Available
  •   Providing any virtual environment usually requires some overhead of some type or another. Native usually means that the virtualization technique does not do any CPU level virtualization (like Bochs and QEMU) which require emulating the CPU, so in most circumstances they cannot run at the applications native speed. Some other products such as VMWare and Virtual PC use similar approaches to Bochs and QEMU, however they use a number of advanced techniques to shortcut most of the calls directly to the CPU (similar to the process that JIT compiler uses) to bring the speed to near native in most cases. However, some products such as coLinux, Xen, z/VM (in real mode) do not suffer the cost of cpu level slow downs as the cpu level instructions are not proxied or executing against an emulated architecture since the guest OS or hardware is providing the environment for the applications to run under. However access to many of the other resources on the system, such as devices and memory may be proxied or emulated in order to broker those shared services out to all the guests, which may cause some slow downs as compared to running outside of virtualization.
  •   OS-level virtualisation is described as "native" speed, however some groups have found overhead as high as 3% for some operations, but generally figures come under 1%, so long as secondary effects do not appear.
  •   See [24] for a paper comparing performance of paravirtualisation approaches (eg Xen) with OS-level virtualisation
  •   Requires patches/recompiling

[edit] See also

Comparison of virtual machines features


Other (Free, Maintained, Quality) Emulators not mentioned above:

SkyEye 1.2.1 http://sourceforge.net/projects/skyeye/ http://gro.clinux.org/

SkyEye is an Open Source Simulator, which simulates series ARM architecture based microprocessors and Blackfin DSP Processor. Users can run Operating Systems such as Linux, uCLinux, uC/OS-II for ARM and can analyze or debug in source level. http://sourceforge.net/project/showfiles.php?group_id=85554


In other languages