Virtual machine
A virtualized computer that runs an entire guest OS on virtual hardware, isolating workloads more strongly than a process alone.
Definition
A virtual machine (VM) is a virtualized computer: it runs a full guest operating system on virtual hardware provided by a hypervisor.
A common ambiguity: “VM” can mean two things
In systems conversations, “VM” is sometimes used in two different ways:
- System VM (this page’s primary meaning): a guest OS running on virtual hardware (AWS EC2, VMware, etc.).
- Language VM: a runtime that executes bytecode and manages execution for a language (JVM, .NET CLR). That meaning is closer to runtime than to infrastructure virtualization.
When comparing “containers vs VMs”, the intended meaning is almost always “system VM”.
VM vs container
- A container shares the host kernel and isolates primarily at the process level.
- A VM has its own guest kernel, so isolation boundaries are typically stronger (with different cost/operational tradeoffs).
Why VMs matter in practice
VMs affect the runtime environment: kernel version, drivers, networking, clock behavior, and resource limits can differ from bare metal or containers.