A virtal machine time-sharing system
Meyer, Seawright (1970)
What kind of paper?
- Big Idea: Virtual Machines (although this wasn't the first introduction, but from our point of view
it is).
- Describes a particular manifestation of the idea.
- Still an older paper that spends more time than we might today talking about details of how you do things
on a system.
Context setting
- I love, love, love the fact that the opening sentence sets the
context for this paper, "Time-sharing systems are now an important factor
in the computer industry."
- System evolved from research project, whose objectives were:
- Research on time-sharing techniques
- Examination of the HW requirements for time-sharing
- Development of a time-sharing system for in-house use
- Development of a method for observing the dynamic interaction between
OS and HW.
- VM idea grew out of the desire to experiment with OS/360 on different
HW; use in time-sharing was a pleasant accident.
HW changes/requirements
- Modified an existing system to facilitate VM development (can you
think of modern analogies?)
- What might we call this today: "64-register associate memory to aid
address translation?"
- VM and host have nearly identical instruction sets (direct execution)
- Non-identical instructions simulated by CP
- Supervisor and Problem states (what do we call that today?)
- VM always runs in problem state
- Address translation takes care of things that have to reside as specific
addresses
System Architecture
- Two components
- Virtual Machine Control Program
- time-sharing
- resource allocation
- Implication: Guest OS (not the term used here) is responsible for user
interface and data and task management.
- Cmabridge Monitor System (CMS)
- Single-user
- "Conversational" monitor system
- Provided admin functions of a computer system via a typewriter
- Has the definition of a VM changed? "software replica of a
complete computer"
CP-67 Command Language
- Three types of functions:
- Control panel simulation:
DISPLAY virtual memory
- EXTERNAL generate interrupt
- BEGIN start VM
- IPL load virtual machine
Extended console functions: go beyond console simulation
- DETACH remove IO devices
- MSG communicate with other users
- QUERY find out other user status
- SET control messages printing to console
- LINK add part of a device to a VM (e.g., create a smaller virtual disk out
of a larger real disk).
System administration functions
- ATTACH add a device
- SHUTDOWN shutdown the system
- ENABLE turn on telecommunicatio lines
- TERM terminate output
Software Environment
- 16 MB VAS (24 bits) per user
- Note, this is likely LARGER than real memory
- Resources like disk drives, transmission control unit
System Usage
- All IO is intercepted by CP, which pauses the VM until the IO is
complete.
- File system: 829-byte records?!
- Does the description of the CMS file system make you realize why the
UNIX file system was such a breath of fresh air?