You'd be surprised by how flexible computers are. Not only are we able to run many different operating systems, or even more than one operating system side by side, but you can also run an operating system inside another one. How, you ask? Through nothing other than the magic process of virtualization.

Virtualization is nothing new to computing, but you'd be surprised to see how often it's used. Today, we'll explain to you, in simple terms, what virtualization is, how it works, and when it's used.

What Is Virtualization?

A laptop computer sitting in front of a window with code on the screen

Imagine you're with a group of people at an office, and you all need a computer. Yet, all there is available is a single, very powerful server. What do you do, then? Logic mandates that taking turns on the big server is a bad idea—it has way more resources than any of you need, and you'll spend a lot of time there. Instead, the logical course of action is to break those resources evenly and let everyone use the machine simultaneously using virtualization.

In layman's terms, virtualization is the act of creating a simulated, virtual computing environment at the same abstraction level as a physical one, allowing you to use the features of a physical machine in a simulated environment. In simplified terms, it's basically like having a virtual computer inside an actual computer and having both do the same things.

The concept of virtualization dates back to the late 1960s or early 1970s, and it was thought of as a solution to the very problem we showcased at the beginning of this section. At a time when giving everyone in a company their own PC was pretty much unthinkable, IBM was thinking about ways to share the resources of mainframe systems between multiple people, and virtualization was a nice approach to that, with one of the first early successful uses of virtualization being the IBM CP/CMS, first launched in 1968.

Since then, virtualization has taken other shapes and forms and is behind many things we do on our computers these days, even aside from the obvious ones.

How Does Virtualization Work?

Desktop PC dual monitor setup

Most implementations of virtualization are fairly straightforward. The virtualization software uses a hypervisor to help run things inside the virtualized machine. If you're unfamiliar with the word hypervisor, it's basically a piece of software that allocates resources from a host machine, like a determined amount of cores, system memory, or storage, and uses that to run a simulated computer on top, which will often run like any other process inside a PC.

Often, PCs will come with something called "hardware-assisted virtualization." For example, on Intel computers, you'll find it as Intel VT-x, or "Virtualization Technology," while on AMD systems, you'll instead find "AMD-V" or "AMD Virtualization." Both allow virtualization software to run faster and more accurately.

Using virtualization, users can either run a separate instance of the operating system they're already running or run an entirely different operating system than the one they're using, as long as it's compatible with the hardware you're already using. This last part is important for the definition of virtualization itself, as you'll see.

What Is Virtualization Used For?

The most common use of virtualization is on virtual machines. Using software like VMware or Virtualbox, users can create virtual instances of simulated computers inside their PCs and have them run as enclosed instances, allowing them to either make another instance of the OS they're running or fire up an entirely different one.

It's a great way to use other operating systems without needing to use another computer or actually switch OSes, and if you play your cards right and allocate enough resources to the virtual machine, you likely won't even notice a lot of difference compared to a native machine.

However, recently, more interesting use cases for virtualization have arisen, especially if you're on Windows.

For one, if you're on Windows 11, you've likely heard about or even used a "subsystem." Specifically, the Windows Subsystem for Linux (WSL) and the Windows Subsystem for Android (WSA).

Your PC doesn't make it immediately clear, but rather than Windows bundling native support for Linux and Android apps, those services run on a low-resource virtualized subsystem (hence the subsystem name). The first version of WSL used a normal compatibility layer, but for WSL 2 and WSA, a lightweight virtual machine runs Linux and Android programs inside it and lets you interact with them via a command line or through an actual UI.

It's not the first time Windows has taken such an approach. Back in the days of Windows 7, Windows XP "Compatibility Mode" essentially just ran a Windows XP VM and let you run any incompatible software there.

What's the Difference Between Virtualization and Emulation?

Android bot sits on a question block from Mario, playing with a DS.

Virtualization and emulation look like very similar terms—and indeed, if you're not familiar with the ins and outs of both, they may look like the same thing. But there are a few fundamental differences between both.

Virtualization is a process that can only simulate systems using the same basic underlying architecture and technology as the host machine. For example, if you're running an x86 Windows machine, you can only create instances of other machines as long as they're also x86. It can be any system you want, be it Windows, Linux, or Android, but it needs to be x86.

By contrast, emulation can simulate a system with an entirely different underlying architecture. A good example of this is console emulators. In the case of a GameCube/Wii emulator, you're simulating a PowerPC-based console on an x86 or maybe even an ARM machine. The main difference is that emulating different instructions can add a lot of overhead, resulting in a loss of performance—a problem you won't have with a virtualized machine.

Virtualization is a Game-Changer

Virtualization is the technology behind virtual machines, but as we learned today, while that's normally considered its main usage, it's by far not the only one. We didn't mention any business usage of virtualization, but if we add those in, it's a pretty powerful tool that allows you to make your PC more versatile.

It's a great technology that has served as a game-changer for computing.