Virtual machine
Also known as: VM
A whole computer made in software, with its own operating system, running side by side with others on one physical machine.
Draft - this entry has not been reviewed yet.
Formal
A software copy of a complete computer - processor, memory, disk and network card - created by a hypervisor; it runs its own full operating system, kept apart from the other virtual machines on the same hardware.
In plain English
Like flats in one building - each has its own front door, kitchen and bathroom, even though they share the same foundations.
In practice
The IT operations manager at a water utility runs the payroll system, the file server and a test environment as three virtual machines on one large server, each with its own Windows or Linux.
Why it matters
It is the basic building block of most cloud services; strong separation between machines is what lets strangers safely share the same hardware.
Technical deep dive
A VM is defined by a virtual hardware specification (vCPU count, memory size, virtual devices), firmware (legacy BIOS or UEFI, increasingly with Secure Boot and a virtual TPM) and one or more disk images in formats such as VMDK, VHDX, qcow2 or raw, which can be packaged for exchange with the DMTF's Open Virtualization Format (OVF). Virtual devices are either fully emulated (an Intel e1000 network card, an IDE controller), which works with unmodified guests but is slow, or paravirtualised (virtio-net and virtio-blk under KVM, VMXNET3 and PVSCSI under VMware), where the guest runs drivers that know they are virtualised. Each vCPU is a schedulable entity on the host, so CPU can be overcommitted; memory can be overcommitted too, through ballooning, host swapping or page sharing, though VMware disabled transparent page sharing between VMs by default in 2014 because of side-channel concerns.
Lifecycle operations are where VMs differ most from physical servers. Snapshots record a delta disk (and optionally memory state) from a point in time; they are not backups, because they depend on the base disk and degrade performance when kept for long. Cloning from a template duplicates identity material such as SSH host keys and machine identifiers unless the image is generalised (sysprep on Windows, cloud-init or machine-id regeneration on Linux). Live migration, described by Clark et al. in 2005 and sold as vMotion, iteratively pre-copies memory pages while the VM runs and pauses it only briefly to transfer the last dirty pages and CPU state.
Isolation between VMs is only as strong as the hypervisor and the CPU's side-channel mitigations, but it is structurally stronger than between containers, which share one host kernel. VM artefacts are sensitive in themselves: a disk image or memory snapshot of a domain controller lets an attacker extract the Active Directory database and keys offline, so access to storage and the hypervisor console must be treated as tier-0. VM sprawl leaves forgotten, unpatched machines on the network. Confidential computing (AMD SEV-SNP, Intel TDX) encrypts VM memory with keys the hypervisor cannot read, reducing trust in the host operator.
Two naming overlaps cause confusion. A system VM, emulating a whole machine, is not a process VM such as the JVM or the .NET CLR, which runs one program in a language runtime. And in cloud terminology an "instance" is simply a VM of a predefined instance type, sometimes on dedicated or bare-metal hosts, and nested virtualisation lets a VM itself host further VMs.
What to learn first
Everything this builds on, foundations first.
- Operating system
- →Hypervisor
- →Virtual machine
Relationships
- Requires
- HypervisorOperating system
- Don't confuse with
- Container
- Used with
- Infrastructure as a service (IaaS)
Sources & further reading
Standards & official texts
- NIST SP 800-125 - Guide to Security for Full Virtualization Technologies · NIST
Where this data comes from
This entry was drafted by an AI from the sources above and has not yet been checked by a person. Treat it as a starting point, and check anything important against the sources.
See the review queueSuggest a correction on GitHubThis term as JSON
Mentioned in
Check yourself
Loading…