Skip to content
Learnearn.uk » IB Computer Science » Virtual Machines

Virtual Machines

Intro

Introduction to Virtual Machines

A Virtual Machine (VM) is software that emulates a physical computer, allowing multiple operating systems to run on a single hardware platform.

Each VM operates as if it were a real, standalone machine, with its own virtual CPU, memory, storage, and network interfaces — all managed by the host system.

VMs are widely used for testing, development, server consolidation, and cloud computing.

How VMs Work

How Virtual Machines Work

Virtual machines are created and managed by a layer of software called a hypervisor, which sits between the host hardware and the virtual machines.

There are two types of hypervisors:

  • Type 1 (Bare-metal) – runs directly on hardware (e.g., VMware ESXi, Microsoft Hyper-V)
  • Type 2 (Hosted) – runs on top of an existing OS (e.g., VirtualBox, VMware Workstation)

The hypervisor allocates physical resources like CPU cycles and memory to each VM and ensures isolation between them.

Resources

Resource Allocation

Each VM gets a share of the physical system’s resources, which are abstracted and presented virtually.

Key resources include:

  • CPU – virtual CPUs (vCPUs) share the host’s physical cores
  • RAM – each VM is allocated its own memory space
  • Storage – virtual hard disks (VHDs or VMDKs) simulate real drives
  • Networking – virtual network interfaces connect VMs internally or externally

The hypervisor monitors usage to ensure fair allocation and performance stability.

Benefits

Benefits of Virtual Machines

VMs offer flexibility, efficiency, and security — making them ideal for a wide range of applications.

Major benefits include:

  • Isolation – each VM runs independently, preventing one from affecting others
  • Portability – VMs can be easily copied, moved, or cloned
  • Resource Optimization – multiple VMs can run on a single physical server
  • Snapshot & Rollback – easily save and restore system states

Use Cases

Common Use Cases

Virtual machines are used across industries and IT environments for a wide variety of purposes.

Examples include:

  • Software Testing – test apps on different OS configurations without new hardware
  • Server Consolidation – replace multiple physical servers with fewer hosts
  • Disaster Recovery – create backups of entire systems as virtual images
  • Cloud Computing – power cloud services like AWS EC2, Azure VMs, and Google Compute Engine

Limitations

Limitations of VMs

While VMs are powerful, they do come with some trade-offs.

Challenges include:

  • Performance Overhead – some latency due to virtualization
  • Resource Contention – if too many VMs run simultaneously, performance can suffer
  • Complex Management – large VM environments require sophisticated monitoring and tools
  • Licensing Costs – especially for commercial hypervisors or operating systems

VMs vs Containers

VMs vs Containers

Virtual machines and containers are both used for isolation, but they work differently.

  • VMs include a full OS and virtualized hardware — more isolated but heavier
  • Containers share the host OS kernel — lighter and faster but less isolated

Use VMs when full OS-level separation is required. Use containers for speed and efficiency in microservices or CI/CD pipelines.

Resources