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
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
DOS, Linux, macOS,[9] 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).[10]
GPL version 2; full version with extra enterprise features is proprietary
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]
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)
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.
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.
^ 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[21] for a paper comparing performance of paravirtualization approaches (e.g. Xen) with OS-level virtualization
^ 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.
^ Windows Server 2008 R2 SP1 and Windows 7 SP1 have limited support for redirecting the USB protocol over RDP using RemoteFX.[39]
^ Windows Server 2008 R2 SP1 adds accelerated graphics support for certain editions of Windows Server 2008 R2 SP1 and Windows 7 SP1 using RemoteFX.[40][41]
Restrictions
This table is meant to outline restrictions in the software dictated by licensing or capabilities.
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.