No history yet

Introduction to Virtualization

What Is Virtualization?

Think about your smartphone. It can run many different apps at once, each in its own little world, isolated from the others. Virtualization does something similar, but on a much bigger scale. It's a technology that allows one physical computer to run multiple, separate virtual computers within it.

Each of these virtual computers, called a virtual machine (VM), acts like a complete, independent machine with its own operating system (like Windows or Linux) and applications. The VM doesn't know it's just software running on a larger host. It thinks it has its own dedicated hardware—CPU, memory, storage, and network card.

Virtualization refers to the process of creating a virtual version of something, such as a virtual machine (VM), virtual storage device, or virtual network.

This process of creating a software-based, or "virtual," representation of something physical is the key. By tricking an operating system into thinking it has its own hardware, we can run many of them side-by-side on a single physical server, keeping them completely separate and secure from one another.

A Quick History

Virtualization isn't a new idea. It actually dates back to the 1960s with massive IBM mainframe computers. These machines were incredibly powerful and expensive, but often, a single task wouldn't use all of their processing power. It was like owning a giant concert hall but only selling one ticket.

To solve this, IBM developed virtualization to partition a single mainframe into multiple virtual machines. This allowed different users and applications to run simultaneously on the same hardware, maximizing the use of these costly resources. For a while, as smaller, cheaper servers became common in the 80s and 90s, the need for virtualization faded. Why share a machine when you could just buy another one?

By the late 1990s, however, businesses found themselves with rooms full of underutilized servers, each running just one main application. This server sprawl was expensive, inefficient, and created a lot of heat. Companies like VMware revisited the old mainframe idea and adapted it for modern hardware, sparking the virtualization revolution we see today.

Hardware Abstraction and the Hypervisor

The magic behind virtualization is a concept called hardware abstraction. In a typical computer, the operating system (OS) talks directly to the physical hardware—the CPU, memory, and storage. It manages these resources for all your applications. This creates a tight, one-to-one link between the OS and the hardware it runs on.

Virtualization introduces a thin layer of software called a hypervisor that sits between the physical hardware and the operating systems. The hypervisor breaks that direct link. Its job is to manage the physical hardware and distribute its resources—like CPU time, memory, and disk space—among the multiple virtual machines that run on top of it.

This abstraction is what allows different operating systems, which normally couldn't coexist, to run on the same physical machine without interfering with each other. The hypervisor is the traffic cop, ensuring each VM gets the resources it needs and stays in its own lane.

hypervisor

noun

Software, firmware, or hardware that creates and runs virtual machines (VMs). A hypervisor allows one host computer to support multiple guest VMs by virtually sharing its resources, such as memory and processing.

Host vs Guest

When discussing virtualization, you'll often hear the terms "host" and "guest." The relationship is simple:

  • The Host Machine is the physical hardware that virtualization is installed on. The operating system running directly on this physical hardware is called the Host OS.
  • The Guest Machine is the virtual machine. Each VM runs its own Guest OS, which could be the same as the host OS or completely different. For example, you could have a physical server running Windows (the Host OS) that hosts three VMs: one running another version of Windows, one running Ubuntu, and one running CentOS (the Guest OSs).

The hypervisor manages the interactions between the host hardware and all the guest machines. It translates requests from the guest OSs to the physical hardware and makes sure that no guest machine can access the resources of another. This fundamental separation is what makes virtualization such a powerful and flexible technology.