Introduction to Virtualization
Understand the fundamentals of virtualization, hypervisor architectures, their advantages, and the relationship between virtual machines, containers, and cloud computing.
Summary
Read Summary
Flashcards
Save Flashcards
Quiz
Take Quiz
Quick Practice
What is the general technique of virtualization?
1 of 10
Summary
Virtualization: Creating Multiple Computers from One
Introduction
Virtualization is one of the most important technologies in modern computing. The core idea is elegantly simple: instead of having one operating system and one set of applications running on a single physical computer, you can create multiple "virtual computers" that all run simultaneously on that same hardware. This technique has revolutionized how organizations manage their servers and how cloud computing operates at scale.
What is Virtualization?
Virtualization is the technique of creating a logical (software-based) version of something that normally exists in a physical form. In computing, this means running multiple isolated operating systems and applications on a single piece of physical hardware.
To understand this, consider an analogy: imagine a large office building with multiple separate office suites inside it. Each suite has its own entrance, its own utilities, and its own occupants—but they all share the same building infrastructure. Similarly, in virtualization, multiple virtual machines (VMs) share one physical computer.
A virtual machine is a software emulation of a computer. To its operating system and applications, a virtual machine appears to have its own dedicated CPU, memory, storage devices, and network interface. In reality, these resources are shared among multiple virtual machines on the same physical hardware.
How the Hypervisor Makes Virtualization Work
The key to making virtualization work is a special piece of software called a hypervisor (also known as a virtual machine monitor). The hypervisor sits between the physical hardware and the guest operating systems, acting as a traffic controller that manages how resources are allocated to each virtual machine.
Think of the hypervisor as a manager in that office building: it decides which virtual machine gets access to the CPU at any given moment, allocates memory to each one, and ensures that one virtual machine's activities don't interfere with another's.
Two Types of Hypervisors
There are two main architectural approaches to hypervisors:
Type 1 Bare-Metal Hypervisors run directly on the physical hardware with no host operating system underneath. The hypervisor itself takes complete control of the hardware. This design is highly efficient because there's no extra operating system layer consuming resources. Examples include VMware ESXi, Microsoft Hyper-V, and Xen. Type 1 hypervisors are typically used in data centers and enterprise environments where maximum performance is critical.
Type 2 Hosted Hypervisors run as applications on top of an existing host operating system. This means you install them like normal software on Windows, macOS, or Linux. The host OS handles hardware management, and the hypervisor manages virtual machines on top of it. This approach is less efficient than Type 1 because the host OS adds overhead, but it's easier to set up and suitable for development and testing. Examples include VirtualBox and VMware Workstation.
The key tricky distinction: Type 1 hypervisors are the operating system for the hardware, while Type 2 hypervisors run on an operating system.
Why Organizations Use Virtualization
Virtualization offers compelling advantages:
Resource Efficiency and Utilization: A single physical server can host multiple isolated workloads. Before virtualization, a server running one application might use only 20% of its CPU capacity—the rest would sit idle. With virtualization, you can run multiple applications on multiple virtual machines on that same server, increasing utilization to 70-80% or more. This means fewer physical servers, which saves money.
Workload Isolation: Each virtual machine is isolated from the others. If one virtual machine crashes or is compromised by malware, the other virtual machines continue running unaffected. This containment is crucial for security and reliability.
Simplified Testing and Development: Developers can quickly create virtual machines with different operating system versions or software configurations without needing separate physical computers. Testing a new application on Windows 10, Windows Server 2019, and Linux? Just spin up three virtual machines.
Live Migration and Load Balancing: Virtual machines can be moved between physical hosts while they're still running. If one server is getting overloaded, virtual machines can be migrated to less-busy servers automatically. This flexibility is impossible with traditional physical servers.
Cost Reduction: By consolidating workloads, organizations need fewer physical servers, reducing both capital expenditure (buying hardware) and operating expenses (electricity, cooling, space).
Containerization: A Lighter-Weight Alternative
While virtual machines are powerful, they have one limitation: each VM includes its own complete operating system, which uses memory and disk space. An organization running 50 virtual machines might have 50 copies of Windows or Linux running.
Containerization offers a lighter-weight alternative. Instead of virtualizing the entire computer, containers virtualize only the application layer while sharing the host operating system kernel.
To continue our office analogy: instead of creating separate office suites with separate buildings (virtual machines), containerization is like creating cubicles within a single large office space (containers sharing one OS kernel). All containers on a host share the same operating system kernel, which eliminates duplication and reduces overhead.
Key differences between containers and virtual machines:
Virtual machines include a full guest operating system, making them heavier but more isolated and flexible
Containers include only the application and its dependencies, making them lighter and faster to start, but requiring all containers on a host to use the same OS kernel
Docker is the most popular containerization platform. Containers are ideal for modern application development and microservices architectures, where you need many lightweight, fast-starting isolated environments.
For an introductory course, the important takeaway is this: both virtualization and containerization solve the problem of running multiple isolated workloads on shared hardware, but they do it at different levels and with different tradeoffs.
<extrainfo>
Virtualization as the Foundation for Cloud Computing
Virtualization provides the technical foundation for cloud computing. Cloud providers like AWS, Microsoft Azure, and Google Cloud Platform run massive numbers of virtual machines on large server farms. The ability to dynamically provision virtual machines on-demand, scale them up or down, and migrate them between physical servers is what makes cloud computing possible. When you "rent" a server from a cloud provider, you're actually renting a virtual machine.
</extrainfo>
Flashcards
What is the general technique of virtualization?
Creating a logical version of something that normally exists in physical form.
What does virtualization mean specifically in the context of computing?
Running one or more virtual computers on a single physical computer.
How does a virtual machine (VM) behave regarding its hardware resources?
It behaves as if it has its own dedicated CPU, memory, storage, and network resources.
Where do the resources for a virtual machine actually come from?
They are shared among many virtual machines on the same physical hardware.
What is the primary role of a hypervisor (virtual machine monitor)?
It sits between the physical hardware and the guest operating systems to manage virtual machines.
How does a Type 1 (bare-metal) hypervisor operate?
It runs directly on the hardware without a host operating system.
How does a Type 2 (hosted) hypervisor operate?
It runs as an application on top of an existing host operating system.
What is the definition of containerization?
A technique that isolates only the application and its dependencies while sharing the host OS kernel.
Why are containers considered lighter weight than virtual machines?
They do not include a full guest operating system.
What resource do all containers on a single host share to reduce overhead?
The host operating system kernel.
Quiz
Introduction to Virtualization Quiz Question 1: Which statement describes a Type 1 (bare‑metal) hypervisor?
- Runs directly on hardware without a host operating system (correct)
- Runs as an application on top of an existing operating system
- Provides virtual machines with dedicated physical CPUs
- Manages only container workloads
Introduction to Virtualization Quiz Question 2: What foundational role does virtualization play in cloud computing?
- It enables scalable, on‑demand resource provisioning (correct)
- It reduces the need for network connectivity
- It replaces the need for physical data centers entirely
- It ensures all applications run on a single OS
Introduction to Virtualization Quiz Question 3: Which resources does a virtual machine appear to have as if they were dedicated to it?
- Its own CPU, memory, storage, and network resources (correct)
- Only shared CPU and memory, but dedicated storage and network
- Dedicated GPU and peripheral devices only
- No resources; it relies entirely on the host’s resources
Introduction to Virtualization Quiz Question 4: What is a primary benefit of the isolation between virtual machines?
- Provides fault containment and security boundaries (correct)
- Allows VMs to share memory directly for faster performance
- Enables all VMs to use the same IP address
- Eliminates any performance overhead from virtualization
Introduction to Virtualization Quiz Question 5: What term describes the ability to move a running virtual machine from one physical host to another to balance load?
- Live migration (correct)
- Snapshot cloning
- Static provisioning
- Hardware virtualization
Introduction to Virtualization Quiz Question 6: How are the resources of a virtual machine actually provided in a virtualized environment?
- They are drawn from a pool shared among all VMs on the host. (correct)
- Each VM receives a fixed portion of the host’s CPU only.
- Resources are assigned exclusively from a dedicated physical server per VM.
- All resources are virtualized onto a separate storage array.
Introduction to Virtualization Quiz Question 7: Which of the following is an example of a Type 1 (bare‑metal) hypervisor?
- VMware ESXi (correct)
- VirtualBox
- VMware Workstation
- Docker
Introduction to Virtualization Quiz Question 8: Which of the following is a container platform?
- Docker (correct)
- VirtualBox
- VMware Workstation
- Microsoft Hyper‑V
Introduction to Virtualization Quiz Question 9: Virtualization creates what kind of version of a normally physical entity?
- Logical version (correct)
- Physical replica
- Encrypted backup
- Hardware upgrade
Introduction to Virtualization Quiz Question 10: What alternative name is used for the hypervisor that monitors virtual machines?
- Virtual machine monitor (correct)
- Operating system kernel
- Hardware controller
- Application server
Introduction to Virtualization Quiz Question 11: According to the computing definition of virtualization, a single physical computer can run ____ virtual computers.
- one or more (correct)
- exactly one
- none
- only full physical computers
Introduction to Virtualization Quiz Question 12: In a Type 2 hosted hypervisor architecture, which software layer provides the hypervisor with access to the physical hardware?
- The host operating system (correct)
- The guest operating system
- The hypervisor’s own firmware
- Direct hardware access without an OS
Introduction to Virtualization Quiz Question 13: VirtualBox and VMware Workstation run on top of a host operating system. They are examples of which type of hypervisor?
- Type 2 (hosted) hypervisor (correct)
- Type 1 (bare‑metal) hypervisor
- Container engine
- Emulation layer
Introduction to Virtualization Quiz Question 14: Running multiple isolated workloads on a single physical server through virtualization is commonly referred to as what?
- Server consolidation (correct)
- Hardware scaling
- Network virtualization
- Disk mirroring
Introduction to Virtualization Quiz Question 15: In containerization, which of the following is NOT duplicated for each container?
- The host operating system kernel (correct)
- The application code
- The application’s libraries and dependencies
- User‑space processes
Introduction to Virtualization Quiz Question 16: Why do containers generally require less storage space than virtual machines?
- They omit a full guest operating system (correct)
- They compress data using advanced algorithms
- They store data in the cloud by default
- They use shared physical disks for all containers
Introduction to Virtualization Quiz Question 17: What architectural feature of containers chiefly accounts for their lower overhead relative to virtual machines?
- Sharing the host operating system kernel (correct)
- Running a separate hypervisor for each container
- Including a full guest operating system per container
- Allocating dedicated hardware resources per container
Which statement describes a Type 1 (bare‑metal) hypervisor?
1 of 17
Key Concepts
Virtualization Concepts
Virtualization
Hypervisor
Virtual machine
Containerization
Type 1 hypervisor
Virtualization Management
Live migration
Resource utilization
Workload isolation
Cloud computing
Type 2 hypervisor
Definitions
Virtualization
The technique of creating logical versions of physical resources, allowing multiple virtual computers to run on a single physical machine.
Hypervisor
A virtual machine monitor that sits between hardware and guest operating systems, managing the execution of virtual machines.
Type 1 hypervisor
A bare‑metal hypervisor that runs directly on hardware without a host operating system, providing high performance and isolation.
Type 2 hypervisor
A hosted hypervisor that runs as an application on top of an existing operating system, offering ease of use for desktop environments.
Virtual machine
A software emulation of a physical computer that has its own virtual CPU, memory, storage, and network resources.
Containerization
A lightweight virtualization method that isolates applications and their dependencies while sharing the host OS kernel.
Live migration
The process of moving a running virtual machine from one physical host to another with minimal downtime.
Cloud computing
A model for on‑demand delivery of computing resources over the internet, built on virtualization technologies.
Resource utilization
The efficient use of hardware capacity by consolidating multiple workloads onto fewer physical servers.
Workload isolation
The separation of virtual machines or containers to ensure that failures or security breaches in one do not affect others.