What is Full Virtualization?
Full virtualization is a computing technique used to provide a virtual machine environment that is a complete simulation of the underlying hardware. Full virtualization involves every salient feature of the hardware being reflected into one of several virtual machines – including the full instruction set, input/output operations, interrupts, memory access, and whatever other elements required by the software that runs on the bare machine, and that is intended to run in a virtual machine. In such an environment, any software capable of execution on the raw hardware can be run in the virtual machine and, in particular, any operating systems.
The obvious test of full virtualization is whether an operating system intended for stand-alone use can successfully run inside a virtual machine. Forms of platform virtualization allow only certain or modified software to run within a virtual machine. The concept of full virtualization is well established in the literature, but it is not always referred to by this specific term; see platform virtualization for terminology.