X86 Virtualization

In computing, x86 virtualization is the facility that allows multiple operating systems to simultaneously share x86 processor resources in a safe and efficient manner, a facility generically known as hardware virtualization. In the late 1990s x86 virtualization was achieved by complex software techniques which overcame the processor's lack of virtualization support and attained reasonable performance. In the mid 2000s, both Intel and AMD added hardware support to their processors making virtualization software simpler, and later hardware changes provided substantial speed improvements.

Read more about X86 Virtualization:  Software-based Virtualization, Hardware Assist