![Page 1: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/1.jpg)
The IBM VM
CS450/550 Section 2
Stephen Kam
![Page 2: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/2.jpg)
IBM VM - Origins
• Originally an experimental OS called “CP-67”
• Designed to run on the IBM System/360 Model 67 mainframe
• Intended for environments with multiple users
• Later called the VM/370 – first commercial release
IBM System/360 Model 67
![Page 3: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/3.jpg)
Concept of Virtual machines
• Can refer to several distinct meanings • The original meaning of a “virtual machine”
referred to the creation of multiple execution environments on a single computer
• Each virtual machine emulates the “real” machine exactly
• Gave users the illusion of having their own private computer complete with I/O and memory
![Page 4: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/4.jpg)
Benefits of VM
• Allowed users to run many different operating systems simultaneously
• Ability to test new versions of operating systems while still running older version (debugging purposes)
• Switch to a new operating system without any system down-time (mission critical systems)
• Provided each user with their own “virtual” computer at a time when PCs were nonexistent and mainframes were expensive
![Page 5: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/5.jpg)
CP and CMS
• VM/370 has two main components: the Control Program (CP) and the Conversational Monitor System (CMS)
• CP manages the resources of the real machine to create virtual machines (i.e access to CPU, I/O, and memory) – the “brains” of the VM
• CMS is a single-user OS designed to run on top of the CP – provides each user with an interactive personal computing environment
![Page 6: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/6.jpg)
A VM/370 Environment
Control Program (CP)
CMS CMS MVS SVS CMS
![Page 7: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/7.jpg)
Processor Modes
• Control Program has a problem (user) mode and a privileged (supervisor) mode
• CP handles all instructions executed by a virtual machine in problem mode – always results in a system call
• This protects the CP and all the other virtual machines running from any malicious code
• Isolated the virtual machines from one another by securing their internal data and state of execution
![Page 8: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/8.jpg)
Multiprocessing
• VM supports symmetric multiprocessing (SMP)• Multiple processors allow many virtual machines
to be in execution concurrently (one on each processor)
• But only one processor at a time can execute supervisor mode code
• To ensure this, the system uses a spinlock – only one processor can be locked at a time, while the others loop (spin) through attempts to acquire the lock
![Page 9: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/9.jpg)
Virtual Memory
• Each virtual machine has its own simulated virtual memory
• Virtual Memory is divided into segments 4KB in size, and pages that are 4KB in size
• The control program manages paging on a demand basis (demand paging)
• Only the most recently referred to pages of virtual memory are kept in the physical main memory by using a Least Recently Used (LRU) page replacement algorithm
![Page 10: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/10.jpg)
Virtual Memory Address Translation
![Page 11: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/11.jpg)
Conclusion
• VM equally divides the resources and processing power of a mainframe among multiple users
• Provides advantages of running several distinct operating systems simultaneously on different virtual machines
• Still runs at hundreds of sites today, more than 3 decades later
![Page 12: The IBM VM CS450/550 Section 2 Stephen Kam. IBM VM - Origins Originally an experimental OS called “CP-67” Designed to run on the IBM System/360 Model](https://reader033.vdocuments.us/reader033/viewer/2022051401/56649efd5503460f94c107c6/html5/thumbnails/12.jpg)
End