IBM CP/CMS and the System/360 Model 67

The idea of a virtual machine was not born with the cloud. It was worked out at IBM’s Cambridge Scientific Center in the late 1960s, where a team built an operating system that gave each user a complete simulated computer of their own. That system was CP/CMS: the Control Program (CP) created and managed the virtual machines, and the Cambridge Monitor System (CMS) was a simple single-user operating system that ran inside each one.

R. J. Creasy, who led the project, recounts its origins in his 1981 IBM Journal of Research and Development paper “The Origin of the VM/370 Time-Sharing System.” He describes how the Cambridge group set out to provide time-sharing by a new route: instead of one operating system juggling many users, the Control Program would give every user their own virtual machine, and a separate, simple operating system would run within it. This split of responsibilities is the direct ancestor of the modern hypervisor-and-guest arrangement.

The hardware that made this practical was the System/360 Model 67, an IBM mainframe equipped with dynamic address translation, an early form of hardware support for virtual memory and relocation. With that support, the Control Program could give each virtual machine its own apparently complete address space and processor, isolated from the others. The early Control Program work, beginning with CP-40 and continuing as CP-67 on the Model 67, demonstrated full-machine virtualization years before the term became common.

CP/CMS evolved into IBM’s VM family of operating systems, which carried virtual machines into commercial mainframe use for decades. When VMware, Xen, and the cloud providers reintroduced virtual machines to commodity hardware around the turn of the century, they were rediscovering an idea that IBM had shipped in the 1960s.

Sources

Last verified June 8, 2026