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