Bienvenido! - Willkommen! - Welcome!

Bitácora Técnica de Tux&Cía., Santa Cruz de la Sierra, BO
Bitácora Central: Tux&Cía.
Bitácora de Información Avanzada: Tux&Cía.-Información
May the source be with you!

Wednesday, July 2, 2008

x86 virtualization

x86 virtualization is the method by which x86-based "guest" operating systems are run under another "host" x86 operating system, with little or no modification of the guest OS. The x86 processor architecture did not originally meet the Popek and Goldberg virtualization requirements. As a result, it was very difficult to implement a general virtual machine on an x86 processor. In 2005 and 2006, extensions to their respective x86 architectures by Intel and AMD resolved this and other virtualization difficulties.

Hardware support
Intel and AMD have independently developed virtualization extensions to the x86 architecture. They are not directly compatible with each other, but serve largely the same functions. Either will allow a virtual machine hypervisor to run an unmodified guest operating system without incurring significant emulation performance penalties.

AMD virtualization (AMD-V)
AMD's virtualization extensions to the 64-bit x86 architecture is named AMD Virtualization, abbreviated AMD-V. It is still referred to as "Pacifica", the AMD internal project code name.AMD-V is present in AMD Athlon 64 with family "F" and "G" on socket AM2 not 939, Athlon 64 X2 with family "F" and "G", Turion 64 X2, Opteron 2nd generation[1] and 3rd generation[2], Phenom, and all newer processors.

AMD has published a specification for a technology named IO Memory Management Unit (IOMMU) to AMD-V. This provides a way of configuring interrupt delivery to individual virtual machines and an IO memory translation unit for preventing a virtual machine from using DMA to break isolation. The IOMMU also plays an important role in advanced operating systems (absent virtualization) and the AMD Torrenza architecture.

Intel VT (IVT)
Intel's virtualization extension for 32-bit and 64-bit x86 architecture is named IVT (short for Intel Virtualization Technology), and is sometimes referred to by the development code name "Vanderpool". The 32-bit or IA-32 IVT extensions are referred to as VT-x.[3] Intel has also published specifications for IVT for the IA-64 (Itanium) processors which are referred to as VT-i;[3] formerly the IA-64 virtualization was code-named "Silvervale".Intel will add EPT (Extended Page Tables) to the VT-x architecture. See link: http://www.intel.com/technology/itj/2006/v10i3/1-hardware/8-virtualization-future.htm

Intel VT was officially launched at the Intel Developer Forum Spring 2005. It is available on certain Pentium 4 6x1 and 6x2 models,[4] Pentium D 9x0[5], Xeon 3xxx/5xxx/7xxx, Core Duo[6] (excluding the T2300E and T2x50 models) and Core 2 Duo[7] processors (excluding the T52x0, T5300, T54x0, T5500 with stepping "B2", E2xx0, E4x00, E7200 and E8190 models). On some implementations, IVT support may be switched off in the Firmware. This can be determined by checking if the VMX flag is enabled by the Feature Control MSR.

Documentation on the Intel website has stated that VT requires not only support from the processor, but also support from the chipset, BIOS, hypervisor, Guest OS (software drivers for e.g. NICs), NICs themselves (see Intel 10 Gb Server NICs with virtualization support) and sometimes software [8][9]

Intel plans to add a technology named Virtualization for Directed I/O (VT-d) to VT. This provides a way of configuring interrupt delivery to individual virtual machines and an IOMMU for preventing a virtual machine from using DMA to break isolation.

Intel also developed a technology named Intel Virtualization Technology for Connectivity ("VT-c") to VT. Intel Virtual Machine Device queues ("VMDq") is a component of VT-c. See this link
And then there is Intel Input/Output Acceleration Technology ("Intel I/OAT"). Intel® QuickData Technology is a component of Intel I/OAT.

No comments: