CSE 221 - Operating Systems - Notes on "The Origin of the VM/370 Time-Sharing System"
Q: Microkernels and virtual machine monitors are two different ways to support the execution of multiple operating systems on modern hardware. How does the microkernel approach in L4 compare and constrast with the VMM approach in Xen?
Answer:
Intro
- Published Sept. 1981
- Virtual Machine Facility/370 –> VM/370
- three parts:
- CP (control program)
- CMS (conversational monitor system)
- RSCS (remote spooling and communication subsystem)
- form general purpose tool for delivery of computing resources to a wide variety of people
- three parts:
- CP is an OS that simulates multiple copies of the same machine.
Historical
- Machines took a good chunk of time to obtain access to
- Often sat idle waiting for jobs
- adding management and resource sharing allowed for better utilization of resources
- Changed from batch to interactive work over a period of time
- System Influence from MIT CTSS - necessitated modular design
- HW Influence - how to design a single OS
- original IBM design could not move programs in memory after they had been prepared for execution.
- virtual mem influence
- memory split page frames stored on drums
- design goals
- design/modification of OS itself had not been addressed
- virtual machine cannot be compromised by the operation of another machine.
- must be private, secure, and reliable.
Control Program
- program can be executed by the machine, or by hand by a user
- a computer could be programmed to replace the “user evaluating by hand”
- general multiprogramming system that uses virtual machine to organize “job streams”
- every vm identified by an entry in CP directory
- hw directly assigned device
- can add/delete hardware components
- think of CP as physical machine operator (can plug/unplug components)
- CP gives choice of any software- console specifies initial load
Conversational Monitor System
- single user system providing function like MIT’s CTSS
- disk-file oriented OS.
- share data via connections established by CP between VMs
- CMS resides in low memory to prevent destruction of metadata
- user programs can still modify or run privileged instructions.
- user input from terminal, files, or exec processor
Remote Spooling and Communications
- RSCS interrupt driven multi-tasking system using a dedicated computer with attached comms equipment.
- support data transfer between workstations.
- information flows between VMs created by the CP in simplest case (same HW)
- RSCS routes information using unique identifiers for each system. Routes between CPs, then to final destination?