7.1 What is z/VM?
To better understand what is going on today, it is sometimes helpful to revisit the past. In this section, we examine what drove the creation of z/VM and why it plays such a key role in Linux on the mainframe.
Virtual machine (VM) technology development started with the IBM System/360 in the mid-1960s. One reason for developing it was the need for testing facilities. Many software programmers could thus test new programs on the virtual hardware simultaneously.
Another factor driving VM development was the need for multiuser systems. Computers were large and costly. Thus, a need arose for an operating system environment that allowed multiple users to use one machine simultaneously in real-time.
To support testing and multiple users, researchers developed the unique concept of virtual machines. In the virtual machine model, the hardware resources of a computer system are managed by a hypervisor. VM's hypervisor is called Control Program (CP). Users' activities are managed by an operating system. When users log on to VM, CP creates a unique guest virtual machine for each user. Depending on the guest definition, CP then allows the user to start up an operating system within that guest.
The first commercial VM product offering from IBM, in 1972, was the VM/370 product. Apart from CP, it included a special-purpose operating system called CMS, the Conversational Monitoring System. CMS has been a component of VM products ever since the delivery of VM/370. The purpose of the CMS operating system is to provide multiple users with a powerful yet simple interactive interface that performs extremely well. Performing well means sub-second response time for hundreds of CMS instances on a single machine. The design for simplicity extends to all aspects of CMS, including the command set and file system. The CMS that offers the VM community a rich set of programming tools and utilities can help manage and automate a virtual Linux server farm running on the current VM product, z/VM.
Guests on z/VM are zSeries operating systems in their own right. The CMS operating system today is different from the other guests in that it no longer runs native on the hardware. The use of CMS has changed from being VM's only interactive end user operating system to also being a home for utility-like functions. For example, TCP/IP or performance management functions can be run in a guest of their own and can be used by other guests.
Similarly, in a Linux-on-the-mainframe environment with many Linux guests, CMS is where scripts get run to automatically restart failing images, or manage switch-over to a hot standby. A system administrator uses CMS to create new images (or CMS is the programmatic interface where the request for the creation of a new Linux image is routed).
Over time, IBM has made investments in hardware, architecture, and microcode, as well as in the VM product itself, to enhance the virtualization technology available with each successive line of mainframe computers.