- This page was last modified on 16 June 2025, at 09:41. Suggest an edit.
x86 virtualization facts for kids
x86 virtualization is like having multiple computers inside one physical computer. It uses special features in a computer's main brain, called the CPU, to run several operating systems at the same time. Think of it as running Windows, macOS, and Linux all on the same machine!
Years ago, in the late 1990s, making this work was tricky. Computers weren't built to do it easily. So, clever software tricks were used to make it happen. Later, in 2005 and 2006, big companies like Intel (with something called VT-x) and AMD (with AMD-V) added special features directly into their CPUs. This made virtualization much easier and faster. Even better improvements came with newer processors.
Contents
How Software Makes Virtual Computers
This section talks about how older software made virtual computers work, especially for a special mode called "protected mode."
In protected mode, the main computer program (the operating system) has full control. Other programs, like games or apps, have less control. When you use software to create a virtual computer, the main computer's operating system still has full control. The virtual computer's operating system has less control, just like any other app.
To get around this, one trick was to make the virtual computer's operating system run with less power. Imagine it like a guest in your house; they don't have the same control as you do.
Here are three main ways software made virtualization possible:
- Translating Code: Some special instructions that only the main operating system can use had to be rewritten. This was like translating a secret code into a language everyone could understand. This made sure the virtual computer worked correctly. To make it fast, the translated code was saved and reused.
- Shadowing Memory: Computers use a special system called "virtual memory" to manage how programs use the computer's memory. If the virtual computer had direct control over this, the main computer would lose control. So, the software created "shadow" copies of these memory maps. This meant the virtual computer thought it was controlling memory, but the software was actually managing it safely.
- Emulating Devices: If a virtual computer needed to use a printer or a network card that the main computer didn't recognize, the software would pretend to be that device. This is called "device emulation." It's like a translator helping two different devices talk to each other.
These software tricks sometimes made virtual computers a bit slower. This was because the computer's brain (CPU) wasn't designed to do these things easily.
Some early virtualization programs ran inside a main operating system, like an app. Other systems, like Xen, used a different approach called "paravirtualization." This meant changing the virtual computer's operating system slightly so it could work better with the virtualization software. This often made things much faster.
When 64-bit computers first came out, it was hard to run 64-bit virtual computers using only software. This was because of how memory protection worked. Later, AMD added some features to their 64-bit chips to help with this. Intel didn't add these specific features, but their own hardware support (VT-x) made 64-bit virtualization possible on their chips.
It's even possible to run a 64-bit virtual computer on a 32-bit main computer, as long as the CPU itself is 64-bit and has the right virtualization features.
How Hardware Helps Virtual Computers
In 2005 and 2006, Intel and AMD worked separately to add new features directly into their x86 CPUs. The first set of features helped with special instructions that only the main operating system could use. Later, they added features to speed up how virtual computers used memory.
CPU Features for Virtualization
Virtual 8086 Mode
Long ago, Intel created a special "virtual 8086 mode" in their 386 chip. This allowed older DOS programs to run smoothly on newer, more advanced processors. However, it took another 20 years for hardware to help virtualize the main "protected mode" itself.
AMD Virtualization (AMD-V)
AMD's first virtualization features were called "Pacifica" and then "AMD Secure Virtual Machine." Now, they are known as AMD Virtualization or AMD-V.
On May 23, 2006, AMD released their first CPUs that supported AMD-V. These included certain versions of the Athlon 64, Athlon 64 X2, and Athlon 64 FX processors.
Many other AMD processors also have AMD-V, such as the Turion 64 X2, Opteron (2nd and 3rd generation), Phenom, and Phenom II. Even newer AMD APU Fusion processors support it. However, older Socket 939 processors do not. Some Sempron processors also support it.
Newer AMD Opteron and Phenom II CPUs have a second generation of hardware virtualization. This technology, called Rapid Virtualization Indexing, helps speed up memory management for virtual machines. Intel later adopted a similar technology called Extended Page Tables (EPT).
As of 2019, all modern AMD processors based on the Zen design support AMD-V.
You can check if your AMD CPU has AMD-V by looking for "svm" in your computer's system information. Sometimes, you need to turn on the "AMD SVM" feature in your computer's BIOS settings for it to work.
Intel Virtualization (VT-x)
Intel's virtualization technology for x86 computers was first called "Vanderpool." Now, it's known as VT-x. On November 13, 2005, Intel released the first Pentium 4 processors that supported VT-x.
You can check if your Intel CPU has VT-x by looking for "vmx" in your computer's system information.
"VMX" stands for Virtual Machine Extensions. These are 13 new instructions that let the CPU switch between the main operating system and a virtual operating system very efficiently. The virtual operating system thinks it has full control, but the main operating system stays safe.
Most newer Intel processors for servers, desktops, and laptops support VT-x. Some Intel Atom processors are an exception. Just like with AMD, you might need to enable Intel's VT-x feature in your computer's BIOS settings.
Since 2008, Intel CPUs (starting with the Nehalem design) have included Extended Page Tables (EPT). This technology helps speed up how virtual machines manage memory. In 2010, Intel added a feature called "unrestricted guest," which allows virtual machines to start up more easily, but it needs EPT to work.
Since 2013, Intel has included "VMCS shadowing" in their CPUs. This helps speed up "nested virtualization," which is when you run a virtual machine inside another virtual machine.
VIA Virtualization (VIA VT)
Some VIA Nano processors also support VIA VT virtualization technology. This technology is similar to Intel VT-x. Newer Zhaoxin processors, which are based on VIA designs, also include EPT for better memory management.
Interrupt Virtualization (AMD AVIC and Intel APICv)
In 2012, both AMD and Intel announced new technologies to make "interrupts" faster in virtual environments. Interrupts are signals that tell the CPU to stop what it's doing and pay attention to something else, like a mouse click or data from the network.
AMD's technology is called Advanced Virtual Interrupt Controller (AVIC). It became available on newer AMD processors starting in 2016.
Intel's similar technology is called APIC virtualization (APICv). It became available in late 2013 and early 2014 with certain Intel Xeon CPUs.
Chipset Features for Virtualization
The chipset is another important part of your computer's motherboard. It helps the CPU talk to other parts like memory and input/output devices. These features also need to be turned on in your computer's BIOS.
I/O MMU Virtualization (AMD-Vi and Intel VT-d)

A Linux kernel log showing AMD-Vi information
An IOMMU (Input/Output Memory Management Unit) is a special part that lets virtual machines directly use devices like network cards, graphics cards, or hard drives. This is often called PCI passthrough. It's like giving the virtual computer its own direct connection to the hardware, instead of going through the main operating system.
An IOMMU also helps keep your computer safe. It can prevent a misbehaving device from messing up your computer's memory.
Both AMD and Intel have their own IOMMU technologies:
- AMD's is called "AMD-Vi."
- Intel's is called "Virtualization Technology for Directed I/O" (VT-d). It's found in most high-end Intel processors since the Core 2 architecture.
For these features to work, not only does your CPU need to support them, but your motherboard's chipset and its firmware (like the BIOS or UEFI) must also support and enable them. Only certain devices can be used this way, and sometimes devices need to be assigned carefully to avoid conflicts.
Network Virtualization (VT-c)
- Intel also has "Virtualization Technology for Connectivity" (VT-c) to help with network performance in virtual environments.
PCI-SIG Single Root I/O Virtualization (SR-IOV)
SR-IOV is a way to make input/output (I/O) operations faster for virtual machines. It uses special features in PCI Express (PCIe) hardware.
With SR-IOV, a virtual machine can directly access parts of a network card or other device. This means the main operating system doesn't have to get involved in every data transfer. This makes network performance for virtual machines almost as fast as if they were running directly on the hardware. For example, SR-IOV helps virtual machines get over 95% of the network speed of a regular computer in places like NASA's data centers and the Amazon Public Cloud.
See also
In Spanish: Virtualización x86 para niños