Jump to content

Comparison of platform virtualization software

From Wikipedia, the free encyclopedia

Platform virtualization software, specifically emulators and hypervisors, are software packages that emulate the whole physical computer machine, often providing multiple virtual machines on one physical platform. The table below compares basic information about platform virtualization hypervisors.

General

[edit]
Name Creator Host CPU Guest CPU Host OS Guest OS License
86Box Miran Grča x86, x86-64, ARMv7, AArch64 x86 (Intel 8086 to Pentium II and compatible) Windows, Linux Windows, Linux, DOS, BSD, OS/2, Haiku GPL version 3
bhyve FreeBSD x86-64 x86, x86-64 FreeBSD, Illumos FreeBSD, FreeNAS, pfSense, OpenBSD, Linux, Windows, Illumos[1] BSD
Bochs Kevin J. Lawton Any x86, x86-64 Windows, Linux, FreeBSD, Unix/X11, Mac OS 9, macOS, BeOS, MorphOS, OS/2[2][3] Windows, Linux, DOS, BSD, OS/2, Haiku LGPL
Containers, or Zones Sun Microsystems x86, x86-64, SPARC (portable: not tied to hardware) Same as host Solaris 10, Solaris 11, OpenSolaris 2009.06, illumos distributions Solaris (8, 9, 10, 11), illumos, Linux (BrandZ) CDDL
Cooperative Linux (coLinux) Dan Aloni, other developers x86 Same as host Windows 2000, XP, 2003, Vista Linux GPL version 2
CHARON Stromasys x86, x86-64 PDP-11, VAX, Alpha, HP3000, Sparc Windows, Linux VMS, OpenVMS, Tru64 UNIX, MPE/iX, RSX-11, RT11, RSTS, Solaris, SunOS Proprietary
Denali University of Washington x86 x86 Denali Ilwaco, NetBSD Not distributed
DOSBox Peter Veenstra, Sjoerd with community Any x86 Linux, Windows, classic Mac OS, macOS, BeOS, FreeBSD, NetBSD, OpenBSD, Solaris, QNX, IRIX, MorphOS, AmigaOS, Maemo, Symbian Internally emulated MS-DOS shell; self-booting disks, unofficially Windows 1.0 to 98 GPL
DOSEMU Community project x86, x86-64 x86 Linux DOS GPL version 2
FreeBSD Jail Poul-Henning Kamp / FreeBSD Any running FreeBSD or DragonFly BSD Same as host FreeBSD, DragonFly BSD same as host (shared *BSD kernel), plus Linux ABI through compat layer BSD
GXemul Anders Gavare Any ARM, MIPS, Motorola 88000, PowerPC, SuperH Unix-like NetBSD, OpenBSD, Linux, Ultrix, Sprite BSD
Hercules Roger Bowler Any z/Architecture Windows, FreeBSD, NetBSD, Linux, macOS Linux on IBM Z, z/OS, z/VM, z/VSE, OS/360, DOS/360, DOS/VS, MVS, VM/370, TSS/370 QPL
Hyper-V (2008) Microsoft x86-64 with Intel VT-x or AMD-V x86-64, x86 (up to 8 physical CPUs) Windows Server 2008 (R2) w/Hyper-V role, Microsoft Hyper-V Server Supported drivers for Windows 2000, Windows 2003, Windows 2008, Windows XP, Windows Vista, FreeBSD, Linux (SUSE 10 released, more announced) Proprietary
Hyper-V (2012) Microsoft x86-64 with Intel VT-x or AMD-V, ARMv8[4] x86-64, (up to 64 physical CPUs), ARMv8 Windows 8, 8.1, 10, and Windows Server 2012 (R2) w/Hyper-V role, Microsoft Hyper-V Server Supported drivers for Windows NT, FreeBSD, Linux (SUSE 10, RHEL 6, CentOS 6) Proprietary. Component of various Windows editions.
INTEGRITY Green Hills Software ARM, x86, PowerPC Same as host Linux, Windows INTEGRITY native, Linux, Android, AUTOSAR, Windows (on some platforms) Proprietary
Integrity Virtual Machines Hewlett-Packard IA-64 IA-64 HP-UX HP-UX, Windows, Linux (OpenVMS announced) Proprietary
JPC (Virtual Machine) University of Oxford Any running the Java Virtual Machine x86 Java Virtual Machine DOS, Linux, Windows up to 3.0 GPL version 2
KVM Qumranet, now Red Hat x86, x86-64, IA-64, with x86 virtualization, s390, PowerPC,[5] ARM[6] Same as host Linux, illumos FreeBSD, Linux, Solaris, Windows, Plan 9 GPL version 2
Linux-VServer Community project x86, x86-64, IA-64, Alpha, PowerPC 64, PA-RISC 64, SPARC64, ARM, S/390, SH/66, MIPS Compatible Linux Linux variants GPL version 2
LynxSecure LynuxWorks x86 x86 No host OS LynxOS, Linux, Windows Proprietary
LXC Community project, Canonical Ltd. x86, x86-64, IA-64, PowerPC 64, SPARC64, Itanium, ARM Same as host Linux Linux variants GPL version 2
OKL4 Microvisor Open Kernel Labs, acquired by General Dynamics Corporation ARM, x86, MIPS ARM (v5, v6, v7, v8; paravirtualization), ARMv7VE (hardware virtualization) No Host OS Various OSes and RTOSes including Linux, Android, QNX Proprietary
OpenVZ Community project, supported by SWsoft, now Parallels, Inc. x86, x86-64, IA-64, PowerPC 64, SPARC64 Same as host Linux same as host (shared Linux kernel), choice of userland distribution GPL
Oracle VM Server for x86 Oracle Corporation x86, x86-64 x86, x86-64 No host OS Microsoft Windows, Oracle Linux, Red Hat Enterprise Linux, Solaris GPLv2, Oracle VM Server; Manager is proprietary
OVPsim OVP x86 OR1K, MIPS32, ARC600/700, ARM; and public API which enables users to write custom processor models, RISC, CISC, DSP, VLIW all possible Microsoft Windows, Linux Depends on target machine, for example includes MIPS Malta that runs Linux or SMP-Linux; and includes public API which enables users to write custom peripheral and system models Proprietary, Apache 2.0 for models
Parallels Desktop for Mac Parallels, Inc. x86 x86, x86-64, aarch64 macOS DOS, Windows, Linux, macOS, FreeBSD, OS/2, eComStation, Solaris, Haiku Proprietary
Parallels Workstation (discontinued 2013) Parallels, Inc. x86 x86 Windows, Linux Windows, Linux, FreeBSD, OS/2, eComStation, DOS, Solaris, Haiku Proprietary
PearPC Sebastian Biallas x86, x86-64, PowerPC PowerPC Windows, Linux, OS X, FreeBSD, NetBSD Mac OS X, Darwin, Linux GPL
PikeOS SYSGO PowerPC, x86, ARM, MIPS, SPARC, RISC-V Same as host No host OS, Linux or Windows as dev. hosts PikeOS native, Linux, ELinOS, Windows, POSIX, AUTOSAR, Android, RTEMS, OSEK, ARINC 653 APEX, ITRON Proprietary
Proxmox VE Proxmox x86-64 x86, x86-64 Debian Based Windows, Linux, Linux variants, Solaris, FreeBSD, OSx86 (as FreeBSD), virtual appliances, Netware, OS/2, SCO, BeOS, Haiku, Darwin AGPLv3
Oracle VM Server for SPARC (LDoms) Oracle Corporation UltraSPARC T1, UltraSPARC T2, UltraSPARC T2+, SPARC T3, SPARC T4 Compatible Solaris 10, Solaris 11 Oracle support: Solaris; unsupported: Linux, FreeBSD Proprietary
PowerVM IBM POWER4, POWER5, POWER6, POWER7, POWER8, POWER9, Power10 POWER4/5/6/7/8/9/Power10, x86 (PowerVM-Lx86) PowerVM Firmware Linux PowerPC, x86; AIX, IBM i Proprietary
QEMU Fabrice Bellard, other developers x86, x86-64, IA-64, PowerPC, SPARC 32/64, ARM, S/390, MIPS x86, x86-64, Alpha, ARM, CRIS, LM32, M68k, MicroBlaze, MIPS, OpenRisc32, PowerPC, S/390, SH4, SPARC 32/64, Unicore32, Xtensa Windows, Linux, macOS, Solaris, FreeBSD, OpenBSD, BeOS Changes regularly[7] GPL/LGPL
QEMU w/ kqemu module Fabrice Bellard x86, x86-64 Same as host Linux, FreeBSD, OpenBSD, Solaris, Windows Changes regularly[7] GPL/LGPL
QEMU w/ qvm86 module Paul Brook x86 x86 Linux, NetBSD, Windows Changes regularly GPL
QuickTransit Transitive Corp. x86, x86-64, IA-64, POWER MIPS, PowerPC, SPARC, x86 Linux, OS X, Solaris Linux, OS X, Irix, Solaris Proprietary
RTS Hypervisor Real-Time Systems GmbH x86, x86-64 x86, x86-64 No host OS Windows, Linux, Windows Embedded, QNX, RTOS-32, VxWorks, OS-9, T-Kernel Proprietary
SIMH Bob Supnik, The Computer History Simulation Project Alpha, ARM, HPPA, x86, IA-64, x86-64, M68K, MIPS, MIPSel, POWER, s390, SPARC Data General Nova, Eclipse; Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11, PDP-15, VAX; GRI Corporation GRI-909; IBM 1401, 1620, 1130, 7090/7094, System/3; Interdata (Perkin-Elmer) 16b/32b systems; Hewlett-Packard 2114, 2115, 2116, 2100, 21MX; Honeywell H316/H516; MITS Altair 8800 with 8080 and Z80; Royal McBee LGP-30, LGP-21; Scientific Data Systems SDS 940 BSD, Linux, Solaris, VMS, Windows Depends on target machine, includes NetBSD/VAX, OpenBSD/VAX, VAX/VMS, Unix v6, Unix v7, TOPS-10, TOPS-20, ITS BSD-like, unique
Simics Virtutech, acquired by Intel x86, x86-64 8051, 68000, ARM (v4, v5, v6, v7), MIPS32, MIPS64, Cavium cnMIPS, Broadcom XLR MIPS, Freescale (e300, e500, e600, e5500, e6500), IBM (POWER, PPC44x, PPC46x, 47x), SPARC v8 (LEON), SPARC v9 (UltraSparc), x86 (from 80286 to Sandy Bridge), x86-64 (from Pentium4 to Sandy Bridge), TI TMS320C64xx, Renesas H8, Renesas SH Windows 32-bit and 64-bit, Linux 32-bit and 64-bit Depends on target machine, typically runs unmodified software stacks from the corresponding real target, including VxWorks, VxWorks 653, OSE, QNX, Linux, Solaris, Windows, FreeBSD, RTEMS, TinyOS, Wind River Hypervisor, VMware ESX, and others Proprietary
Sun xVM Server Sun Microsystems x86-64, SPARC Same as host No host OS Windows XP, 2003 Server (x86-64 only), Linux, Solaris GPL version 3
SVISTA 2004 Serenity Systems International x86 x86 Windows, OS/2, Linux Windows, Linux, OS/2, BSD Proprietary
TRANGO TRANGO Virtual Processors, Grenoble, France ARM, XScale, MIPS, PowerPC Paravirtualized ARM, MIPS, PowerPC No host OS, Linux or Windows as dev. hosts Linux, eCos, μC/OS-II, WindowsCE, Nucleus, VxWorks Proprietary
User Mode Linux Jeff Dike, other developers x86, x86-64, PowerPC Same as host Linux Linux GPL version 2
VirtualBox Innotek, acquired by Oracle Corporation x86, x86-64 x86, x86-64 (with Intel VT-x or AMD-V, and VirtualBox 2 or later) Windows, Linux, macOS, Solaris, FreeBSD, eComStation DOS, Linux, macOS,[8] FreeBSD, Haiku, OS/2, Solaris, Syllable, Windows, and OpenBSD (with Intel VT-x or AMD-V, due to otherwise tolerated incompatibilities in the emulated memory management).[9] GPL version 2; full version with extra enterprise features is proprietary
Virtual Iron 3.1 Virtual Iron Software, Inc., acquired by Oracle x86 VT-x, x86-64 AMD-V x86, x86-64 No host OS Windows, Linux Proprietary, some components GPLv2[10]
Virtual Machine Manager Red Hat x86, x86-64 x86, x86-64 Linux Linux, Windows GPL version 2
Virtual PC 2007 (discontinued) Connectix and Microsoft x86, x86-64 x86 Windows Vista (Business, Enterprise, Ultimate), XP Pro, XP Tablet PC Edition DOS, Windows, OS/2, Linux (SUSE, Xubuntu), OpenSolaris (Belenix) Proprietary
Windows Virtual PC (discontinued) Connectix and Microsoft x86, x86-64 with Intel VT-x or AMD-V x86 Windows 7 Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 Proprietary
Virtual PC 7 for Mac Connectix and Microsoft PowerPC x86 Mac OS X Windows, OS/2, Linux Proprietary
VirtualLogix VLX VirtualLogix ARM, TI DSP C6000, x86, PowerPC Same as host No host OS Linux, Windows XP, C5, VxWorks, Nucleus, DSP/BIOS, proprietary Proprietary
Virtual Server 2005 R2 Connectix and Microsoft x86, x86-64 x86, x86-64 Windows Server 2003, 2008, XP (Requires IIS) Windows NT, 2000, 2003, 2008, Linux (Red Hat, SUSE, Ubuntu) Proprietary
Synopsys (CoWare) Virtual Platform CoWare x86, x86-64, SPARC v9 Devices including (multi) cores from ARM, MIPS, PowerPC, Toshiba MeP, Renesas SH, Texas Instruments, Tensilica, ZSP Windows, Linux, Solaris Depends on guest CPU; includes: Linux (various flavors), μITRON (various flavors), Windows CE, Symbian, more Proprietary
Virtuozzo SWsoft, now Virtuozzo Inc x86, IA-64, x86-64 same as host Linux same as host (shared Linux kernel) Proprietary
vkernel Matthew Dillon / DragonFly BSD x86-64 same as host DragonFly BSD any compatible vkernel binary of DragonFly BSD
VMM OpenBSD x86, x86-64 same as host OpenBSD OpenBSD and Linux guests BSD
VMware ESX Server VMware x86, x86-64 x86, x86-64 No host OS Windows, Linux, Solaris, FreeBSD, OSx86 (as FreeBSD), virtual appliances, Netware, OS/2, SCO, BeOS, Haiku, Darwin, others: runs arbitrary OS[a] Proprietary
VMware ESXi VMware x86, x86-64 x86, x86-64 No host OS Same as VMware ESX Server Proprietary
VMware Fusion VMware x86, x86-64 x86, x86-64 macOS Same as VMware ESX Server Proprietary
VMware Server VMware x86, x86-64 x86, x86-64 Windows, Linux Same as VMware ESX Server Proprietary
VMware Workstation VMware x86-64[b] x86, x86-64 Windows, Linux Same as VMware ESX Server Proprietary
VMware Player, later VMware Workstation Player VMware x86-64[c] x86, x86-64 Windows, Linux Same as VMware ESX Server Proprietary, free for personal non-commercial use[11][12]
Wind River Hypervisor Wind River x86, x86-64, PowerPC, ARM Same as host No host OS Linux, VxWorks, unmodified guests (including MS Windows and RTOSes such ach OSE, QNX and others), bare metal virtual board Proprietary
Xen Xensource, Now Citrix Systems x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) Same as host Linux, Unix-like Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows 7/XP/Vista/Server 2008 (requires Intel VT-x (Vanderpool) or AMD-V (Pacifica)-capable CPU), Plan 9 GNU GPLv2 +
XCP-ng By Vates SAS x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) Same as host No host OS Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows, Windows Server 2008 (with Intel VT-x or AMD-V), Plan 9 GNU GPLv2 +[13]
XenServer By Citrix Systems x86, x86-64, ARM, IA-64 (inactive), PowerPC (inactive) Same as host No host OS Linux, FreeBSD, MiniOS, NetBSD, Solaris, Windows 7/XP/Vista/Server 2008 (with Intel VT-x or AMD-V), Plan 9 GNU GPLv2 +
XtratuM fentISS SPARC v8 LEON2/3/4, ARM v7 Same as host No host OS GPOS: Linux, RTOS: LithOS, RTEMS Proprietary, GPL version 2 depending on versions
z/VM IBM z/Architecture z/Architecture, z/VM does not run on predecessor mainframes No host OS, itself (single or multiple levels/versions deep; e.g., VM/ESA running in z/VM 4.4 in z/VM 5.2 in z/VM 5.1.) Linux on IBM Z, z/OS, z/VSE, z/TPF, z/VM, VM/CMS, MUSIC/SP, OpenSolaris for System z, predecessors Proprietary
z LPARs IBM z/Architecture z/Architecture Integrated in firmware of System z mainframes Linux on IBM Z, z/OS, z/VSE, z/TPF, z/VM, MUSIC/SP, and predecessors Proprietary
Name Creator Host CPU Guest CPU Host OS(s) Guest OS(s) License

Features

[edit]
Name Guest OS SMP available Runs arbitrary OS Supported guest OS drivers Method of operation Typical use Speed relative to host OS Commercial support available
Containers, or Zones Yes, over 500-way on current systems No Uses native device drivers Operating system-level virtualization Server consolidation with workload isolation, single workload containment, hosting, dev/test/prod Near native Yes
Hyper-V Server 2008 R2 Yes, up to 4 VCPUs per VM Yes Yes Virtualization Server consolidation, service continuity, dev/test, desktop virtualization, cloud computing Up to near native[citation needed][3] Yes
OpenVZ Yes No Compatible Operating system-level virtualization Virtualized server isolation Up to near native[citation needed][4] Yes
KVM Yes[14] Yes Yes AMD-V and Intel-VT-x Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes Up to near native[citation needed][5] Yes[15]
Linux-VServer Yes No Compatible Operating system-level virtualization Virtualized server isolation and security, server consolidation, cloud computing Up to near native[citation needed][6] Yes
Oracle VM Server for x86 Yes Yes Yes Paravirtualization and hardware virtualization Server consolidation and security, enterprise and business deployment Up to near native[citation needed] Yes
Oracle VM Server for SPARC (LDoms) Yes Yes, but needs porting[16] Yes Paravirtualization and hardware virtualization Server consolidation and security, enterprise and business deployment Up to near native[citation needed] Yes
OVPsim Yes Yes ? Full system simulation with optional component virtualization Software development (early, embedded), advanced debug for single and multicore software, compiler and other tool development, computer architecture research, hobbyist Depends on target architecture (full and slow hardware emulation for guests incompatible with host)[citation needed] Yes, with commercial license from Imperas[17]
PikeOS Yes Yes, but modifications required as paravirtualization is used Yes Paravirtualization Safety and security critical embedded systems. Up to near native[citation needed] Yes
Simics Yes Yes Yes Full system simulation of processors, MMUs, devices, disks, memories, networks, etc. Software development, advanced debug for single and multicore software, compiler and other tool development, computer architecture research, bug transportation, automated testing, system architecture, long-term support of safety-critical systems, early hardware availability, virtual prototyping Depends on host machine and target architecture. Runs at near-native speeds for x86-on-x86 using VT-x, cross-simulation of other architectures can be faster or slower than real-time depending on how fast the target is and how big the target is (number of processors, number of target machines, and how much the simulation can be parallelized) Yes
Sun xVM Server Yes Yes Yes Paravirtualization and porting or hardware virtualization Servers, Development Up to near native[citation needed] Yes
SVISTA 2004 No ? ? ? Hobbyist, Developer, Business workstation ? ?
TRANGO Yes Yes[7] Yes Paravirtualization and porting or hardware virtualization Mob. phone, STB, routers, etc. Near native[8][citation needed] ?
User Mode Linux ? No special guest kernel+modules required Porting Developer (as a separate machine for a server or with X11 networking) Non-significantly slower than native [9] (all calls to kernel are proxied)[citation needed] ?
OKL4 Microvisor Yes Yes, (either with para-virtualization or HW virtualization) Yes Paravirtualization, Hardware assisted virtualization Mobile, embedded, security, safety critical, networking, legacy OS, etc. Near native Yes
Oracle VirtualBox Yes Yes Yes Virtualization Business workstation, server consolidation, service continuity, developer, hobbyist Up to near native[citation needed] Yes (with commercial license)
Virtual Iron 3.1 Yes, up to 8 way Yes Yes Native virtualization Server consolidation, service continuity, dev/test ? Yes
Virtual PC 2007 No Yes Yes Virtualization, guest calls trapping where supported Hobbyist, Developer, Business workstation Up to near native[citation needed] with virtual machine additions ?
Windows Virtual PC Yes[citation needed] Yes Yes Hardware virtualization Developer, Business workstation, support for Compatibility with Windows XP applications Up to near native[citation needed] with virtual machine additions No
Virtual PC 7 for Mac No Yes Yes dynamic recompilation (guest calls trapping where supported) Hobbyist, Developer, Business workstation Slow [citation needed] ?
Virtual Server 2005 R2 No Yes Yes Virtualization (guest calls trapping where supported) Server, server farm Up to near native with virtual machine additions but slower than with hypervisor due to proxied calls[citation needed] ?
CoWare Virtual Platform Yes Yes Yes ( Same compiled Software image as for the real device) Full-system virtualization (Processor Core ISA + Hardware + External connections) Early embedded software development and integration (from driver to application), Multi-core software debugging and optimization Depending on the system characteristics and the software itself, ranges from faster than real time to slow[citation needed]. Yes
Virtuozzo Yes No Compatible Operating system-level virtualization Server consolidation, service continuity, disaster recovery, service providers Up to near native[citation needed] Yes
VMware ESXi Server 5.5 (vSphere) Yes, add-on, up to 64 way No Yes Virtualization Server consolidation, service continuity, dev/test, cloud computing, business critical applications, Infrastructure as a Service IaaS Up to near native[citation needed] Yes
VMware ESX Server 4.0 (vSphere) Yes, add-on, up to 8 way Yes Yes Virtualization Server consolidation, service continuity, dev/test, cloud computing Up to near native[citation needed] Yes
VMware ESX Server 3.0 Yes, add-on, up to 4 way Yes Yes Virtualization Server consolidation, service continuity, dev/test Up to near native[citation needed] Yes
VMware ESX Server 2.5.3 Yes, add-on, 2 way Yes Yes Virtualization Server consolidation, service continuity, dev/test Up to near native[citation needed] Yes
VMware Fusion Yes Yes Yes Virtualization Hobbyist, Developer, Tester, Business workstation Up to near native[citation needed] Yes
VMware Server Yes (2-way) Yes Yes Virtualization Server/desktop consolidation, dev/test Up to near native[citation needed] Yes
VMware Workstation Yes (2-way) Yes Yes Paravirtualization (VMI) and virtualization Technical professional, advanced dev/test, trainer Up to near native[citation needed] Yes
VMware Player Yes[18] Yes Yes Virtualization Technical professional, advanced dev/test, trainer, end user on prebuilt machines Up to near native[citation needed] No
Xen Yes, v4.0.0: up to 128 VCPUs per VM Yes Yes Paravirtualization and porting or hardware virtualization Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes. Xen powers most public cloud services and many hosting services, such as Amazon Web Services, Rackspace Hosting and Linode. Up to native[19] Yes
XenServer Yes Yes Yes Paravirtualization and porting or hardware virtualization Virtualized server isolation, server/desktop consolidation, software development, cloud computing, other purposes. Xen powers most public cloud services and many hosting services, such as Amazon Web Services, Rackspace Hosting and Linode. Up to native[19] Yes
XtratuM Yes No Yes Paravirtualization Embedded, safety critical, secure Near to native[citation needed] Yes
z/VM 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) Servers Near native[10] Yes
z LPARs Yes, both real and virtual (guest perceives more CPUs than installed), incl. dynamic CPU provisioning and reassignment; up to 64 real cores Yes Yes, but not required Microcode and hardware hypervisor Servers Native: System z machines always run with at least one LPAR Yes
Name Guest OS SMP available Runs arbitrary OS Supported guest OS drivers Method of operation 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), which executes code more slowly than when it is directly executed by a CPU. 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 slowdowns 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 virtualization 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[20] for a paper comparing performance of paravirtualization approaches (e.g. Xen) with OS-level virtualization
  • ^ Requires patches/recompiling.
  • ^ Exceptional for lightweight, paravirtualized, single-user VM/CMS interactive shell: largest customers run several thousand users on even single prior models. For multiprogramming OSes like Linux on IBM Z and z/OS that make heavy use of native supervisor state instructions, performance will vary depending on nature of workload but is near native. Hundreds into the low thousands of Linux guests are possible on a single machine for certain workloads.

Image type compatibility

[edit]
Name floppy ISO folders on host physical disk / device raw / flat (whole disk) raw / flat (partition) hdd (Parallels) QCOW (QEMU) QCOW2 (QEMU) QED (QEMU) VDI (VirtualBox) VHD (Connectix Virtual PC) VHDX (Hyper-V) VMDK (VMware)
86Box Yes Yes CD-ROM drive only No Yes No No No} No No No Yes No No
Bochs[21] Yes Yes Yes Yes Yes Yes No No No No Yes Yes No v3, v4
Containers, or Zones ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Cooperative Linux (coLinux) ? ? ? ? ? ? ? ? ? ? ? ? ? ?
CHARON ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Denali ? ? ? ? ? ? ? ? ? ? ? ? ? ?
DOSBox Yes Yes Yes Yes Yes ? No No DOSBox-X fork No No No No No
DOSEMU ? ? Yes ? ? ? ? ? ? ? ? ? ? ?
FreeBSD Jail No No Yes No No No No No No No No No No No
GXemul ? Yes ? ? ? ? ? ? ? ? ? ? ? ?
Hercules ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Hyper-V (2008 R2) Yes Yes No Yes No No No No No No No Yes No No
Hyper-V (2012) Yes Yes No Yes No No No No No No No Yes Yes No
Hyper-V (2012 R2) Yes Yes No Yes No No No No No No No Yes Yes No
Integrity Virtual Machines ? ? ? ? ? ? ? ? ? ? ? ? ? ?
JPC (Virtual Machine) Yes Yes Yes ? Yes ? ? ? ? ? ? ? ? ?
Linux-VServer ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LynxSecure ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LXC ? ? ? ? ? ? ? ? ? ? ? ? ? ?
OpenVZ ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Oracle VM Server for x86 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Oracle VM Server for SPARC (LDoms) ? ? ? ? ? ? ? ? ? ? ? ? ? ?
OVPsim ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Parallels Desktop for Mac ? ? ? ? ? ? Yes ? ? ? ? ? ? ?
Parallels Workstation ? ? ? ? ? ? Yes ? ? ? ? ? ? ?
PearPC No Yes No Yes Yes No No No No No No No No No
PikeOS ? ? ? ? ? ? ? ? ? ? ? ? ? ?
PowerVM ? ? ? ? ? ? ? ? ? ? ? ? ? ?
QEMU Yes Yes Yes Yes Yes Yes read-only Yes Yes Yes Yes Yes except difference type Yes
QEMU w/ kqemu module ? ? ? ? ? ? ? Yes No No ? ? ? ?
QEMU w/ qvm86 module ? ? ? Yes Yes ? ? Yes Yes ? ? ? ? Yes
QuickTransit ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SIMH ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Simics ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Sun xVM Server ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SVISTA 2004 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
TRANGO ? ? ? ? ? ? ? ? ? ? ? ? ? ?
User Mode Linux ? ? ? ? ? ? ? ? ? ? ? ? ? ?
VirtualBox Yes Yes With guest integration installed on guest os. Yes[22] Yes[22] Yes[22] up to v2 Yes read-only Yes Yes Yes Can read existing disks, but not create new disks. Yes
Virtual Iron 3.1 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Virtual PC 2007 Yes Yes ? ? ? ? No No No No No Yes No No
Windows Virtual PC Yes Yes ? ? ? ? No No No No No Yes Yes No
Virtual PC 7 for Mac Yes Yes No No No No No No No No No Yes No No
VirtualLogix VLX ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Virtual Server 2005 R2 ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Synopsys (CoWare) Virtual Platform ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Virtuozzo ? ? ? ? ? ? ? ? ? ? ? ? ? ?
VMware ESX Server ? ? ? ? ? ? ? ? ? ? ? Yes ? ?
VMware ESXi Yes Yes No Yes No No No No No No No No No Yes
VMware Fusion ? Yes ? ? ? ? ? ? ? ? ? ? ? Yes
VMware Server ? ? ? ? ? ? ? ? ? ? ? ? ? Yes
VMware Workstation Yes Yes ? Yes ? ? ? ? ? ? ? ? ? Yes
VMware Player Yes Yes ? Partial ? ? ? ? ? ? ? ? ? Yes
Wind River Hypervisor ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Wind River VxWorks MILS Platform ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Xen Yes Yes ? Yes Yes[23] ? ? Yes[23] Yes[23] ? ? Yes[23] ? ?
XenServer Yes Yes ? Yes Yes[23] ? ? Yes[23] Yes[23] ? ? Yes[23] ? ?
XtratuM ? ? ? ? ? ? ? ? ? ? ? ? ? ?
z/VM ? ? ? ? ? ? ? ? ? ? ? ? ? ?
z LPARs ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Name floppy ISO folders on host physical disk / device raw / flat (whole disk) raw / flat (partition) hdd (Parallels) QCOW (QEMU) QCOW2 (QEMU) QED (QEMU) VDI (VirtualBox) VHD (Connectix Virtual PC) VHDX (Hyper-V) VMDK (VMware)

Other features

[edit]
Name Can boot an OS on another disk partition as guest USB support GUI Live memory allocation 3D acceleration Snapshots per VM Snapshot of running system Live migration Shared folders Shared clipboard PCI passthrough
KVM Yes Yes Yes[24] Yes Yes (via AIGLX) Yes Yes[25] Yes[26] Yes
User Mode Linux Yes No No No No No Yes N/A
Containers, or Zones Yes Yes Yes Yes Not needed Yes[27] Yes No Yes Not needed Not needed
DosBox No No SVN builds only No Glide (SVN builds only) No Yes No No No No
Oracle VirtualBox (formerly OSE, GPLv2), with Guest Additions (GPLv2)[28] Yes Yes Yes Yes Yes Yes branched[29] Yes Yes with Guest Additions[30] with Guest Additions[30] No
Oracle VirtualBox with Extension Pack (PUEL) and Guest Additions (GPLv2)[28] Yes Yes Yes Yes OpenGL 2.0 and Direct3D 8/9[31] Yes branched[29] Yes Yes Yes Yes Retired (Until 6.0;[32] Linux only[33])
Oracle VM Server for SPARC (LDoms) Yes USB 2.0 Yes Yes No Yes No Yes Yes No Yes
OKL4 Microvisor Yes Yes VMs only Yes Yes No Static assignment
Virtual Iron 4.2 Yes
Virtual PC 2007 No No Yes No No No Yes Yes
Windows Virtual PC No partially Yes No No No Yes Yes
VirtualPC 7 for Mac No Yes Yes Yes No No Yes Yes
Microsoft Virtual Server 2005 R2 No Yes No No ? Yes No
Microsoft Hyper-V Server 2008 R2 Yes Partial support over remote desktop connections [11] Yes Yes DirectX 9.0c [12] (via RemoteFX) Yes branched Yes Yes No
Microsoft Hyper-V Server 2012 R2 Yes Yes Yes Yes DirectX 9.0c [13] (via RemoteFX) Yes branched Yes Yes No
Virtuozzo Yes Yes Yes Yes No Yes
VMware ESX Server 3.0 atp Yes No ? Yes Yes No
VMware ESX Server 2.5.3 Yes No No
VMware ESX Server 4.0 – 6.x (vSphere) Yes Yes Yes Yes Yes Yes Yes Yes No No Yes[34]
VMware Fusion 2.0 Yes Yes Yes No DirectX 9 Shader model 2 No No
VMware Server Yes Yes Yes Yes No 1 Yes No Yes Yes
VMware Workstation 5.5 Yes Yes Yes Yes Experimental support for DirectX 8; also supported with VMGL[35] Yes branched Yes No Yes Yes No
VMware Workstation 6.0 Yes Yes Yes Yes Experimental support for DirectX 8; Also supported with VMGL[35] Yes branched Yes No Yes Yes No
VMware Workstation 7.0 and 8.0 Yes Yes Yes Yes Support for DirectX 9.0c Shader Model 3 and OpenGL 2.13D.[36] Yes branched Yes No Yes Yes No
VMware Player Yes Yes Yes Yes supported with VMGL[35] No No No Yes No
Wind River hypervisor Yes Yes Yes Yes Yes No
Wind River VxWorks MILS Platform Yes
Xen Yes Yes[37] Yes[24] Yes Supported with VMGL[35] ? Yes Yes Yes
XenServer Yes Yes[24] Yes Supported with VMGL[35] Yes Yes Yes Yes
z/VM Yes Not applicable Yes (zURM/HMC) Yes Not applicable Yes (2011) Not applicable Not applicable
z LPARs Yes Not applicable Yes (HMC) Yes Not applicable Yes (2007) Not applicable Not applicable
Name Can boot an OS on another disk partition as guest USB GUI Live memory allocation 3D acceleration Snapshots per VM Snapshot of running system Live migration Shared folders Shared clipboard PCI passthrough
  • ^ Windows Server 2008 R2 SP1 and Windows 7 SP1 have limited support for redirecting the USB protocol over RDP using RemoteFX.[38]
  • ^ Windows Server 2008 R2 SP1 adds accelerated graphics support for certain editions of Windows Server 2008 R2 SP1 and Windows 7 SP1 using RemoteFX.[39][40]

Restrictions

[edit]

This table is meant to outline restrictions in the software dictated by licensing or capabilities.

Name Maximum host cores / CPUs Maximum host memory Maximum host disk volume size Maximum number of guest VM running Maximum number of logical CPU per VM guest Maximum amount of memory per VM guest Maximum number of SCSI + IDE disks per VM guest Maximum disk size per VM guest
Containers, or Zones No theoretical limit (largest SPARC has 384 physical cores) 32 TB (largest SPARC) No limit 8191 No limit No limit No limit No limit
VMware Player 15.0[41] No limit No limit No limit No limit 16 4 GB (32-bit); 64 GB (64-bit) ? 8 TB
VMware vSphere Hypervisor (ESXi 4.1)[42] 160 logical cores 1 TB 2 TB minus 512 bytes 320 8 255 GB 4 IDE; 60 SCSI 2 TB minus 512 bytes
VMware vSphere Hypervisor (ESXi 5.0)[43] 160 logical cores 2 TB 64 TB 512 32 1 TB 4 IDE; 60 SCSI 2 TB minus 512 bytes
VMware vSphere Hypervisor (ESXi 5.5) (free)[44] 16 NUMA Nodes / 320 logical CPUs 4 TB Depending on filesystem 512 8 1 TB 4 IDE; 60 SCSI; 120 SATA 62 TB
VMware vSphere Hypervisor (ESXi 5.5)[45] 16 NUMA Nodes / 320 logical CPUs 4 TB Depending on filesystem 512 64 1 TB 4 IDE; 60 SCSI; 120 SATA 62 TB
VMware vSphere Hypervisor (ESXi 6.7)[46] 16 NUMA Nodes / 768 logical CPUs 16 TB Depending on filesystem 1024 256 6128 GB 4 IDE; 256 SCSI; 120 SATA; 60 NVMe 62 TB
VMware vSphere Hypervisor (ESXi 7.0)[47] 16 NUMA Nodes / 896 logical CPUs 24 TB Depending on filesystem 1024 768 24 TB 4 IDE; 256 SCSI; 120 SATA; 60 NVMe 62 TB
VirtualBox No limit No limit No limit No limit[48] 32 No limit 4 IDE; no limit for SATA, SCSI, SAS GUI: 2 TB
Command line: no limit
Microsoft Hyper-V Server 2008 R2[49] 64 cores / 8 CPUs[50] 1 TB No limit 384 4 64 GB 4 IDE; 256 SCSI 2 TB
Microsoft Hyper-V Server 2012[51] 320 cores / 64 CPUs[52] 4 TB No limit 1024 64 1 TB 4 IDE; 256 SCSI 64 TB
Microsoft Hyper-V Server 2016[53] 512 cores / 320 CPUs 24 TB No limit 1024 240 12 TB 4 IDE; 256 SCSI 64 TB
Name Maximum host cores / CPUs Maximum host memory Maximum host disk volume size Maximum number of guest VM running Maximum number of logical CPU per VM guest Maximum amount of memory per VM guest Maximum number of SCSI + IDE disks per VM guest Maximum disk size per VM guest

Note: No limit means no enforced limit. For example, a VM with 1 TB of memory cannot fit in a host with only 8 GB memory and no memory swap disk, so it will have a limit of 8 GB physically.

See also

[edit]

Notes

[edit]
  1. ^ Can run a guest OS without modifying it, and hence is generally able to run any OS that could run on a physical machine the VM simulates.
  2. ^ Older versions of VMware Workstation support x86.
  3. ^ Older versions of VMware Player/VMware Workstation Player support x86.

References

[edit]
  1. ^ "Bhyve supports Windows". Retrieved 22 December 2015.
  2. ^ "1.8. Supported Platforms". Bochs.sourceforge.net. Retrieved 22 February 2015.
  3. ^ "3.4. Compiling Bochs". Bochs.sourceforge.net. Retrieved 22 February 2015.
  4. ^ "Announcing Windows 10 Insider Preview Build 19559". blogs.windows.com. Retrieved 23 February 2020.
  5. ^ "PowerPC – KVM". Linux-kvm.org. Retrieved 22 February 2015.
  6. ^ "Development Preview of KVM Virtualization on Red Hat Enterprise Linux Server for ARM". redhat.com. Retrieved 15 May 2017.
  7. ^ a b "QEMU Official OS Support List Version 2.0". Claunia.com. Archived from the original on 15 August 2011. Retrieved 22 February 2015.
  8. ^ Oracle VM VirtualBox User Manual, Chapter 3: Configuring virtual machines | Mac OS X guests
  9. ^ "virtualbox.org • View topic – Theo de Raadt discourages VirtualBox usage." forums.virtualbox.org. Retrieved 15 October 2017.
  10. ^ "Oracle and Virtual Iron". Oracle.com. 13 May 2009. Retrieved 22 February 2015.
  11. ^ "VMware Player Pro FAQs: Create and run virtual machines | United States". Vmware.com. 17 October 2014. Retrieved 22 February 2015.
  12. ^ [1] Archived 15 June 2011 at the Wayback Machine
  13. ^ "Licenses – xcp-ng/xcp Wiki". GitHub. Retrieved 22 January 2019.
  14. ^ "Main Page – KVM". Linux-kvm.org. Retrieved 8 October 2013.
  15. ^ Look at RedHat or Novell for details
  16. ^ Logical Domains#Supported guest operating systems
  17. ^ "Welcome to". Imperas. 12 March 2014. Retrieved 22 February 2015.
  18. ^ [2] Archived 2008-08-10 at the Wayback Machine
  19. ^ a b "A Performance Comparison of Hypervisors for Cloud Computing". Digitalcommons.unf.edu. Retrieved 22 February 2015.
  20. ^ Soltesz, S.; et al. (2007). "Container-based Operating System Virtualization" (PDF). EuroSys. ACM SIGOPS. Archived from the original (PDF) on 20 July 2014. Retrieved 15 July 2014.
  21. ^ "8.19. Disk Image Modes". Bochs.sourceforge.net. Retrieved 8 October 2013.
  22. ^ a b c "Chapter 9. Advanced topics". Virtualbox.org. Retrieved 8 October 2013.
  23. ^ a b c d e f g h "Xen blktap2 driver". Retrieved 3 February 2014.
  24. ^ a b c "Virtual Machine Manager". Archived from the original on 10 June 2007. Retrieved 20 February 2010.
  25. ^ "Sheepdog is a distributed storage system for KVM". Archived from the original on 22 February 2013. Retrieved 20 May 2010.
  26. ^ "KVM Migration". Retrieved 20 May 2010.
  27. ^ "beadm in Non-Global Zones – Creating and Administering Oracle Solaris 11.2 Boot Environments". oracle.com. 11 November 2014.
  28. ^ a b "What are "VirtualBox Guest Additions"?". Retrieved 12 April 2019.
  29. ^ a b "VirtualBox Changelog 3.1". Archived from the original on 28 September 2010. Retrieved 1 October 2010.
  30. ^ a b "Introduction to Guest Additions". Retrieved 12 April 2019.
  31. ^ "VirtualBox Changelog 3.0". Archived from the original on 3 December 2009. Retrieved 30 June 2009.
  32. ^ "Changelog for VirtualBox 6.1". Retrieved 16 February 2020. Linux host: Drop PCI passthrough,
  33. ^ "VirtualBox manual: PCI passthrough". Retrieved 12 May 2012.
  34. ^ "VMware VMDirectPath I/O". Retrieved 12 May 2012.
  35. ^ a b c d e "VMGL (formerly Xen-GL)". Archived from the original on 4 November 2007.
  36. ^ "VMware Workstation Features, Multiple OS, Run Linux on Windows – United States". Vmware.com. Retrieved 8 October 2013.
  37. ^ "Xen USB Passthrough". Retrieved 12 April 2018.
  38. ^ "Configuring USB Device Redirection with Microsoft RemoteFX Step-by-Step Guide". Technet.microsoft.com. 16 February 2011. Retrieved 8 October 2013.
  39. ^ "Microsoft RemoteFX". Technet.microsoft.com. 23 February 2011. Retrieved 8 October 2013.
  40. ^ "Hardware Considerations for RemoteFX". Technet.microsoft.com. 8 February 2011. Retrieved 8 October 2013.
  41. ^ "Using VMware Workstation Player for Windows" (PDF). 2 March 2020.
  42. ^ "Configuration Maximums : Sphere 4.1" (PDF). Vmware.com. Retrieved 22 February 2015.
  43. ^ "Configuration Maximums : Sphere 5.0" (PDF). Vmware.com. Retrieved 22 February 2015.
  44. ^ "Free Virtualization with VMware vSphere Hypervisor (ESXi)" (in Dutch). Vmware.com. Retrieved 17 January 2014.
  45. ^ "Configuration Maximums VMware vSphere 5.5" (PDF). VMWare Inc. 30 October 2013. Retrieved 23 December 2013.
  46. ^ "VMware Configuration Maximum tool". VMWare Inc. Retrieved 6 January 2020.
  47. ^ "VMware Configuration Maximum tool". VMWare Inc. Retrieved 27 January 2022.
  48. ^ "Chapter 1. First steps". Virtualbox.org. Retrieved 22 February 2015.
  49. ^ "Requirements and Limits for Virtual Machines and Hyper-V in Windows Server 2008 R2". Retrieved 10 February 2015.
  50. ^ Protalinski, Emil (1 September 2009). "Microsoft Hyper-V Server 2008 R2 arrives for free". Ars Technica. Retrieved 8 October 2013.
  51. ^ "Hyper-V Scalability in Windows Server 2012". Technet.microsoft.com. Retrieved 22 February 2015.
  52. ^ "Hyper-V Limits the Maximum Number of Processors in the Hyper-V Host OS to 64". Retrieved 16 February 2020.
  53. ^ "Plan for Hyper-V scalability in Windows Server 2016 and Windows Server 2019". 28 September 2016. Retrieved 16 February 2020.