the ibm vm cs450/550 section 2 stephen kam. ibm vm - origins originally an experimental os called...

Post on 13-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 67 mainframe

• Intended for environments with multiple users

• Later called the VM/370 – first commercial release

IBM System/360 Model 67

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

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

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

A VM/370 Environment

Control Program (CP)

CMS CMS MVS SVS CMS

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

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

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

Virtual Memory Address Translation

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

End

top related