| This article may require copy-editing for grammar, style, cohesion, tone or spelling. You can assist by editing it. (August 2008) |
In computing, x86 virtualization provides software based emulation of x86 processor hardware. A "guest" or "virtual" OS may run as a process on a "host" or "physical" system with little or no modification to the guest OS. A virtual machine(VM) is an environment created by a virtualizer (such as Sun VirtualBox). Guest operating systems run on virtual machines.
The following scenario illustrates typical x86 desktop virtualizations:
- A standard desktop PC (the physical host machine) runs a 32-bit Linux Ubuntu operating system.
- A "VMware Player for Linux" application runs on this system.
- A standard build of Microsoft Windows XP (the guest system) is installed and then run in "VMware Player for Linux" as an x86 virtual machine.
- Users see a normal Windows XP desktop within the VMware Player application window with no installation or dedication of hardware to the virtual machine.
- Users can start and stop the virtual machine at will using it like a physical computer running an OS with access to hardware, local network and the Internet.
- The virtual machine appears to the host machine operating system as a native application which create and manage a collection of files on the host's hard drive and uses the host machine RAM when it is running. That native application, a Linux program in this scenario, handles input and output and displays the virtual desktop.
Contents |
Software techniques
VMware introduced the first x86 virtualization product on February 8, 1999. The "VMware Virtual Platform", was based on earlier research by VMware founders at Stanford University. VMware filed for a patent on its techniques in October 1998, and received U.S. Patent 6,397,242 on May 28, 2002. VMware and similar virtualization software for the x86 processor family must employ binary translation techniques to trap and virtualize the execution of certain instructions. These techniques incur some performance overhead as compared to a VM running on a natively virtualizable architecture (such as the IBM System/370 or Motorola MC68020).
Microsoft offers three Windows-based x86 virtualization products: Microsoft Virtual PC and Microsoft Virtual Server, based on technology acquired from Connectix, and Hyper-V, a more[weasel words]advanced enterprise solution.
Open-source solutions include QEMU, Kernel-based Virtual Machine (KVM) and VirtualBox.
The research systems Denali, L4, and Xen provide high-performance virtualization of x86 by implementing a virtual machine that differs from the raw hardware. This approach, known as paravirtualization, involves porting operating systems to run on the resulting virtual machine, which does not implement the parts of the actual x86 instruction set that are hard to virtualize. As of version 3.0 Xen supports full virtualization with an unmodified guest OS. This assumes that the host system supports hardware-assisted virtualization (such as Intel VT or AMD-V).
Hardware support
| This section needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (January 2009) |
The x86 processor architecture did not originally meet the "Formal Requirements for Virtualizable Third Generation Architectures", a specification for virtualization created in 1974 by Gerald J. Popek and Robert P. Goldberg. Thus developers found it difficult to implement a virtual machine platform on the x86 architecture without significant overhead on the host machine. In 2005 and 2006, Intel and AMD (working independently) resolved this by creating new "Processor Extensions" to the x86 architecture. Although the actual implementation of processor extensions differ between AMD and Intel, both achieve the same goal. They both allow a virtual machine hypervisor to run an unmodified operating system without incurring significant emulation performance penalties.
AMD virtualization (AMD-V)
AMD markets its virtualization extensions to the 64-bit x86 architecture as AMD Virtualization, abbreviated AMD-V. It is still referred to[by whom?] as "Pacifica", the AMD-internal project code name.
On May 23, 2006, AMD released the Athlon 64 ("Orleans"), the Athlon 64 X2 ("Windsor") and the Athlon 64 FX ("Windsor") as the first AMD processors to support this technology.
AMD-V capability also features on Athlon 64 and Athlon 64 X2 family of processors with "F" or "G" stepping on socket AM2 (not socket 939), Turion 64 X2, and Opteron 2nd generation[1] and 3rd-generation[2], Phenom and Phenom II processors. Only Sempron processors except Sable and Huron do not include support for AMD-V.
Beginning with the Barcelona line, AMD Opteron CPUs support a hardware virtualizaton technology called Rapid Virtualisation Indexing, later adopted by Intel as Extended Page Tables (EPT).
Intel Virtualization Technology for x86 (Intel VT-x)
Previously codenamed "Vanderpool", VT-x represents Intel's technology for virtualization on the x86 platform. Intel includes Extended Page Tables (EPT),[3] a technology for page-table virtualization,[4] in the Nehalem architecture.[5][6]
As of 2009[update] not all recent Intel processors support VT-x - Intel uses the feature to segment its market.[7] For a complete and up-to-date list see the Intel website.[8] The following Intel processors include support for VT-x:[9]
- Pentium 4 662 and 672
- Pentium Extreme Edition 955 and 965 (not Pentium 4 Extreme Edition with HT)
- Pentium D 920-960 except 945, 935, 925, 915
- Core Duo T2300, T2400, T2500, T2600, T2700 (Yonah)
- Core 2 Duo E6300, E6400, E6320, E6420, E6540, E6550, E6600, E6700, E6750, E6850 (Conroe)
- Core 2 Duo E5400, E7600, E8200, E8300, E8400, E8500, E8600 and some versions of the E7400 and E7500 (Wolfdale)
- Mobile Core 2 Duo T5500, T5600, T6670, T7100, T7200, T7250, T7300, T7400, T7500, T7600, T7600G, T7700, T7800, U7500, L7200, L7300, L7400, L7500, L7700, U7500, U7600, U7700 (Merom)
- Mobile Core 2 Duo SU9300, SU9400, SU9600, SL9300, SL9380, SL9400, SL9600, SP9300, SP9400, SP9600, P7370, P7570, P8400, P8600, P8700, P8800, P9500, P9600, P9700, T8100, T8300, T9300, T9400, T9500, T9550, T9600, T9800, T9900 (Penryn)
- Core 2 Quad Q6600, Q6700 (Kentsfield)
- Core 2 Quad Q8400, Q8400S, Q9300, Q9400, Q9400S, Q9450, Q9550, Q9550S, Q9650 and some versions of the Q8300 (Yorkfield)
- Core 2 Extreme X6800 (Conroe XE)
- Core 2 Extreme QX6700, QX6800, QX6850 (Kentsfield XE)
- Core 2 Extreme QX9650, QX9770, QX9775 (Yorkfield XE)
- Xeon 3300 and +, 5000, 7000 series
- Atom Z520, Z530, Z540, Z550 (Silverthorne)
- all Intel Core i7 processors
- all Intel Core i5 processors
- Pentium Dual-Core E6300, E6500 and some versions of the E5300 and E5400*
- Celeron E3200, E3300, E3400 (it will be launched at 2010)
Note: If unsure whether an Intel processor supports Intel VT-x or not, check the Intel Processor Spec Finder for official information.
Important: Even if some models seem to support Intel VT, not all SKUs of the same model need do so (different sSpec#). Example: Intel Core 2 Duo T5500 seems to support Intel VT [1], but of the four models of this processor,[10] only one (SL9U8) supports Intel VT.
IOMMU
An input/output memory management unit (IOMMU) enables guest virtual machines to directly use peripheral devices, such as ethernet, accelerated graphics cards, and hard-drive controllers, through DMA and interrupt remapping. Both AMD and Intel have released specifications:
- the AMD specification, "AMD-Vi" (previously just IOMMU)
- "Intel's Virtualization Technology for Directed I/O" (VT-d)
A note on 64-bit guests
One can run a 64-bit guest on a 32-bit host OS if the underlying processor runs in 64-bit mode and supports the necessary virtualization extensions. Not all platforms support this.
Virtualization features activation
Intel's VT-x feature needs activation in the BIOS before applications can make use of it. Most computer and motherboard/BIOS/chipset manufacturers disable this support by default but make an option available to activate it.
Software using AMD-V and/or Intel VT
The following software conditionally makes use of virtualization technology features:
- Kernel-based Virtual Machine (KVM) - a Linux kernel module and hypervisor. It supports both architectures (AMD-V and VT-x) and requires one of them. Supports real-time guests.
- VirtualBox runs on Windows, FreeBSD, Linux, Mac OS X and Solaris. It supports both Intel VT and AMD-V.[11]
- Xen - a separate and independent operating system structured with the Xen hypervisor as the lowest and most privileged layer. It supports both Intel VT and AMD-V.
- Blue Pill (proof of concept malware)
- VMware ESX Server - also known as vSphere. VMware's flagship enterprise virtualization product supports both Intel VT and AMD-V.[12]
- Hyper-V - a Microsoft platform/hypervisor which runs on Windows Server 2008. It requires either Intel VT or AMD-V.[13]
- LynxSecure - Secure MILS Hypervisor from LynuxWorks. Supports Intel VT-x and VT-d.
- Microsoft Virtual Server (also branded as Microsoft Virtual PC or Windows Virtual PC) — Virtual Server 2005 R2 SP1 supports hardware-assisted virtualization.[clarification needed][14][15]
- Oracle VM - Oracle VM Server (GPL license) uses the Xen hypervisor; while Oracle VM Manager is closed source.[16]
- Parallels Workstation and Parallels Desktop for Mac - lightweight hypervisor with Intel VT-x and AMD-V support. Requires hardware support to run 64 bit virtual machines.
- Parallels Server - Enterprise version of Parallels Workstation and Desktop for Mac. It will support Intel's IOMMU, VT-d. Requires hardware support to run 64 bit virtual machines.
- Padded Cell - virtual machine technology from Green Hills Software hosted on the INTEGRITY real-time operating system. Supports both architectures.
- Real-Time Systems RTS Real-Time Hypervisor for x86
- Sun xVM - xVM Server, based on Xen on x64
- Virtual Iron - supports both architectures.
- VirtualLogix - supports both architectures.
- VMware Workstation, VMware Fusion, VMware Server — as of 2009[update], recent versions support both architectures.[17]
- VMware Server - Requires hardware support to run 64-bit virtual machines.
- TenAsys eVM Virtualization Platform for Windows
- Windows Virtual PC 7 - (as of 2009[update] the latest Microsoft Virtual PC version, running on Windows 7) and XP Mode (Windows XP virtual machine running inside Windows 7).
- acontis technologies x86-based RTOSVisor which is available as Type1 and Type2 Real-Time Hypervisor, where as Type2 not requiring the Intel VT or AMD-V and also supporting single core processors[18]
See also
- Virtualization Development
- Virtual machine
- Comparison of platform virtual machines
- Comparison of application virtual machines
- Emulation
- Hardware-assisted virtualization
- Network virtualization
- Paravirtualization
- Operating system-level virtualization
References
- ^ http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_8806~111165,00.html#111166 What are the main differences between Second-Generation AMD Opteron processors and first-generation AMD Opteron processors?
- ^ http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_8806~119722,00.html#119726 What virtualization enhancements do Third-Generation AMD Opteron processors feature?
- ^ Neiger, Gil; A. Santoni, F. Leung, D. Rodgers, R. Uhlig. "Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization". Intel Technology Journal (Intel) 10 (3): 167–178. doi:. http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art01.pdf. Retrieved 2008-07-06.
- ^ Gillespie, Matt (2007-11-12). "Best Practices for Paravirtualization Enhancements from Intel Virtualization Technology: EPT and VT-d". Intel Software Network. Intel. http://software.intel.com/en-us/articles/best-practices-for-paravirtualization-enhancements-from-intel-virtualization-technology-ept-and-vt-d. Retrieved 2008-07-06.
- ^ Intel. "First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem)" (application/pdf). Press release. http://www.intel.com/pressroom/archive/reference/whitepaper_Nehalem.pdf. Retrieved 2008-07-06.
- ^ "Technology Brief: Intel Microarchitecture Nehalem Virtualization Technology" (application/pdf). Intel. 2009-03-25. http://download.intel.com/business/resources/briefs/xeon5500/xeon_5500_virtualization.pdf. Retrieved 2009-11-03.
- ^ http://arstechnica.com/microsoft/news/2009/05/r2e-microsoft-intel-goof-up-windows-7s-xp-mode.ars
- ^ http://ark.intel.com/VTList.aspx
- ^ "Intel Processor Number Details". Intel. Intel. 2007-12-03. http://www.intel.com/products/processor_number/chart/index.htm. Retrieved 2008-10-03.
- ^ http://processorfinder.intel.com/List.aspx?ParentRadio=All&ProcFam=0&SearchKey=t5500
- ^ "VirtualBox architecture". InnoTek. http://www.virtualbox.org/wiki/VirtualBox_architecture.
- ^ http://www.vmware.com/products/vsphere/
- ^ http://www.microsoft.com/windowsserver2008/en/us/hyperv-faq.aspx#SetupandRequirements and http://videos.techielife.com/windows-server-2008-presentation-virtualization/video-online/2008/11/28
- ^ "Virtual Server 2005 R2 SP1 Beta 1 download link and availability details". technet.com. 2006-04-28. http://blogs.technet.com/jhoward/archive/2006/04/28/426703.aspx.
- ^ "Virtual Server 2005 R2 SP1 - beta 2 feature listing". Microsoft. http://www.microsoft.com/windowsserversystem/virtualserver/downloads/servicepack.mspx.
- ^ Oracle VM Technical Information
- ^ "Hardware Requirements for 64-Bit Guest Operating Systems". VMware, Inc.. 2007-03-20. http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1901. Retrieved 2007-10-10.
- ^ AT-RTOSVisor: Real-time Hypervisor Plattform, acontis technologies GmbH, retrieved on 2009-11-21
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




