What is a Virtual Machine?
A full, isolated computer running inside another, allowing multiple operating systems to run on a single physical machine
A virtual machine (VM) is a software-based emulation of a physical computer. It runs an entire operating system (called a guest OS) on top of another operating system (the host OS) using a hypervisor such as VMware, VirtualBox, or KVM.
Each VM has its own virtual CPU, memory, storage, and network interface, isolated from others — even if they share the same physical hardware.
History
Virtual machines trace their origins to the 1960s, when IBM researchers explored ways to let multiple users share a single mainframe through time-sharing and hardware abstraction. Early experiments such as the IBM M44/44X and CP-40 projects laid the foundation for running multiple isolated operating systems on one computer — an idea that became formalized with IBM’s VM/370 release in 1972, often considered the first true hypervisor. Around the same time, researchers like Popek and Goldberg defined the theoretical requirements for virtualizable architectures and coined the familiar Type-1 (bare-metal) and Type-2 (hosted) hypervisor classifications.
→ IBM – The Origins of Virtualization · Wikipedia – Virtual Machine
After a quiet period through the 1980s and early 1990s, virtualization returned with the rise of commodity x86 hardware. VMware, founded in 1998, overcame the limitations of the x86 architecture through binary translation, bringing virtualization to desktop and enterprise systems with VMware Workstation and ESX Server. Hardware-assisted virtualization soon followed as Intel VT-x and AMD-V added CPU support, while open-source projects like Xen and KVM (merged into the Linux kernel in 2007) democratized the technology.
→ NAKIVO – VMware History · Wikipedia – KVM
Today, virtualization underpins cloud computing and modern infrastructure. Virtual machines remain central to workload isolation and multi-tenant systems, though lighter technologies like containers and micro-VMs (e.g., Firecracker, Kata) continue to blur the line between hardware and software abstraction.
→ ACM Digital Library – Virtualization Evolution
Joyful Thoughts
This section shares James Joy’s perspective on this technology as it applies to Industrial Automation.
Industrial automation has been relatively slow to adopt virtualization overall, but I’ve seen many end users embrace VMware in recent years. The results vary, but the sites that have knowledgeable support staff—whether internal teams or trusted contractors—tend to have the most success.
In my view, virtual machines will always have a place, but for most workloads, I lean toward containerization. That said, I wouldn’t choose a proprietary platform like VMware. Open-source alternatives such as KVM, Proxmox, and QEMU offer comparable features and, in my experience, are offer much better value and reliability.
My current preferred platform is Incus, which uses QEMU under the hood. It supports both virtual machines and Linux containers (LXC) side by side with the same CLI syntax. It also includes a well-designed REST API that makes it easy to integrate monitoring and control directly into your applications—or even into an HMI for SCADA environments.