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
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
Colinux 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 Itanium Itanium HP-UX HP-UX (Linux, Windows, 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 processor with VT extensions Intel processor with VT extensions Linux Linux 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
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]
OpenVZ Community project, supported by SWsoft Intel x86, AMD64, IA-64 Intel x86, AMD64, IA-64 Linux Various Linux distributions Yes No Compatible Operating system-level virtualization GPL Virtualized Server Isolation Native[9]
Parallels Workstation Parallels, Inc. Intel x86, Intel VT-x Intel x86 Windows, Linux, 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
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
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, FreeBSD, BeOS Changes regularly [10] Yes Yes ? Dynamic Recompilation GPL/LGPL Hobbyist, Developer, Business workstation, Server 10 to 20% host CPU speed [11]
QEMU w/ kqemu module Fabrice Bellard Intel x86, AMD64 Same as host Linux, FreeBSD, Windows Changes regularly [12] No Yes ? Virtualization Proprietary 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
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
SVISTA 2004 Serenity Systems International Intel x86 Intel x86 Windows, OS/2, Linux, FreeBSD ? 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 Yes Yes[13] Yes Paravirtualization and Porting or Hardware Virtualization Proprietary Mob. phone, STB, routers, etc. Native[14]
View-OS Renzo Davoli helped by other developers [15] 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[16])
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)
Virtual PC 2004 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[17]
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 Near Native
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 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
VMware Server VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[18] Yes Yes Yes Virtualization Proprietary (Free) Server/Desktop Consolidation, Dev/Test Near native with VMware Tools
VMware Workstation 5.5 VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[19] Yes Yes Yes Virtualization Proprietary Technical Professional, Advanced Dev/Test, Trainer Near native with VMware Tools
VMware Player VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances[20] No Yes Yes Virtualization Proprietary (free) Technical Professional, Advanced Dev/Test, Trainer, End User (Prebuild Machines) Near native with VMware Tools
Xen University of Cambridge, Intel, AMD Intel x86, AMD64, (PowerPC and IA-64 ports in progress) (Same as parent) NetBSD, Linux Linux, NetBSD, FreeBSD, OpenBSD, 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 ? Native speed
z/VM IBM z/Architecture z/Architecture and predecessors 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 (uniquely hardware-assisted and complete) Proprietary, one-time charge plus optional maintenance/support All purposes Best, owing to unique mainframe hardware co-evolution. Common to run thousands of VMs on a single system, one or more per user.
Zones Sun Microsystems OpenSolaris Intel x86, AMD64, UltraSPARC, SPARC64 compatible Solaris Solaris, Linux (BrandZ) Yes No N/A Operating system-level virtualization CDDL (Free) Business, Development, Enterprise Server Consolidation, Hosting, Service separation, Security, Isolation Near Native speed
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
  •   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 appliations native speed. Some other products such as VMWare and Virtual PC use similar approches to Bochs and QEMU, however they use a number of advanced techiques 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 applicatons to run under. However access to many of 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 comparied 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 [21] for a paper comparing performance of paravirtualisation approaches (eg Xen) with OS-level virtualisation
  •   Requires patches/recompiling
In other languages