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 | |
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 |
|
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 | |
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 | |
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 | |
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 | ||
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 | ||
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 | |
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 | Yes | Paravirtualization and Porting or Hardware Virtualization | Proprietary | Mob. phone, STB, routers, etc. | Native | |
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 | )|
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 | (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 | |
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 | |
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 native | 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 | 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