IBM VM/370
In 1972, IBM launched VM/370, standing for Virtual Machine Facility/370. Behind this technical name lay the ability to run multiple operating systems in parallel on a single physical machine. The idea was not entirely new, as it extended work done on CP-67/CMS for the System/360 Model 67, but its systematic implementation scaled to enterprise computing.
It took boldness to envision this concept at the time. VM/370 created “virtual machines,” complete but simulated computing environments, each believing it had its own computer. This illusion rested on four components: the CP control program that orchestrated physical resources, the CMS conversational system for interacting with users, the RSCS subsystem that managed file exchanges, and IPCS which handled incidents. The architecture masked complexity in favor of efficiency, with each virtual machine operating in its bubble, completely unaware of its neighbors. This isolation enabled different IBM systems—DOS, OS/VS1, OS/VS2—to coexist without interfering with one another. The technical feat lay in this ability to partition a single computer into multiple sealed environments.
On the memory side, VM/370 introduced dynamic address translation that converted virtual addresses into real physical addresses. The system divided memory into 64 KB segments and 4 KB pages, creating multiple levels of abstraction. This intellectual gymnastics allowed running virtual machines whose combined memory exceeded available physical memory. The innovation extended to peripherals with “spooling,” this technique that managed input-output operations for all virtual machines. A disk or printer could serve multiple environments without creating conflicts. VM/370 juggled resources like a magician with his props.
Each user received their identifier and password, and resource access followed strict security rules. Isolation between virtual machines constituted a natural barrier sufficient to ensure that a crash in one would not affect the others. This robustness immediately appealed to developers who could test their programs without fear of bringing down the production system.
The impact on the industry exceeded IBM’s expectations. Companies discovered they could exploit their expensive computers much more intensively. Instead of leaving resources idle, they shared them among various applications. Gone were the endless waits for computer scientists to test their programs—everyone had their own virtual environment.
VM/370 gradually adapted to new IBM hardware, from the modest Model 135 to the powerful Model 168. The system integrated support for 3330, 3340, and 3350 disks, gained network functionalities, and improved in performance. This constant evolution testified to the vitality of the concept.
The fundamental principles of VM/370—isolation, resource sharing, dynamic memory management—still shape modern virtualization technologies. VMware, Xen, KVM, and other contemporary solutions draw from this conceptual heritage forged in the 1970s. More than a technical feat, VM/370 changed the way enterprise computing was conceived. The system proved it was possible to partition computing resources without sacrificing performance or security. Future architectures would therefore be more flexible and economical.
The system’s influence on computer science education was considerable. Schools and universities adopted VM/370 to teach operating systems. Students could experiment on their own virtual machines without monopolizing an entire computer. This democratization of access to computing resources trained a generation of computer scientists familiar with virtualization. VM/370 illustrates how a technical innovation can transform an entire sector. By demonstrating the viability of virtualization, IBM was redefining computer usage. This transformation continues to resonate in modern data centers, where virtualization now constitutes the norm rather than the exception.