Glossary · Automation software engineering and architecture
Virtual machine (VM)
Also known as: VM
German: Virtuelle Maschine (VM)
In computing, a virtual machine (VM) is a software emulation of a complete computer, with its own virtual processor, memory, storage and network interfaces, on which an operating system and applications run isolated from other VMs on the same physical host.
- Software engineering
In one sentence
A virtual machine (VM) emulates a complete computer in software, running its own OS and applications isolated on a shared host.
Example
The plant runs its SCADA server, historian and engineering workstation as virtual machines on one redundant server cluster.
How it applies
- Engineering: VMs consolidate servers, simplify backup and allow snapshots before changes. Some vendors offer virtual PLCs that run control software in VMs on real-time hypervisors.
- Security: Separating functions into VMs supports zoning under IEC 62443, but the hypervisor becomes a critical component whose compromise affects all VMs.
- Documentation: State which virtualization platforms and versions are supported, the resources a VM needs and any restrictions, such as timing guarantees not holding when resources are overcommitted.
Virtual machine vs. container
A VM includes a full guest operating system. A Container shares the host's kernel and packages only the application and its dependencies, so it is lighter but less isolated. In programming languages, virtual machine also denotes a runtime such as the Java VM.