The Origin of the VM/370 Time-sharing system by dbmMp7v


									The Origin of the VM/370
  Time-sharing system
        Presented by
   Niranjan Soundararajan
• Xen or VMWare is not the first work in
  Virtual machine architectures.
• VM/370 – OS that provides multiple users
  with separate and independent IBM
  system/370 computing systems
• VM/370 provides a single-user interactive
  system for personal computing and
  computer network system for information
• Lots of similarity between present day virtual
  machine research and what VM/370
• VM/370 is
  – Control Program (CP) : computing machine to
    simulate multiple copies of the machine itself.
  – Conversational Monitor System (CMS) :
    Interactive use of system by one person.
  – Remote Spooling and Communications
    Subsystem (RSCS) : Information transfer among
    machines linked with communication facilities.
      OS evolution – Historical
• 1950’s – Programs were hand-crafted.
  Running time was quite long compared to
  user actions required.
• Simple job monitor systems to reduce cost
  of idle time between different programs.
• OS – potion of machine dedicated to
  programs which assisted in machine
        OS evolution – Historical
             perspective     … contd

• CTSS – Batched job stream runs in background
  even as several users enter commands to
  prepare, execute and terminate their programs.

• Techniques were developed to support dynamic
  allocation of machine and demand scheduling.
  Interactive use became more important as batch
  processing include modifications and extensions
  to support interactive use.
    Design Influences and goals
         CP/CMS system
• CP/CMS evolved as experimental software
  designed for “diverse activities” like OS
  research, application development and
  report preparation.

• CP-40 runs only on specific hardware. CP-
  67 used address translation hardware.
          Systems influence
• Interactive design – Importance of
  character-by-character processing, editors.
• Safe sharing of machines among users and
  programs were a major issue.
• CTSS – time-sharing with batch processing.
  Time-sharing supervisor would steal and
  restore machine without knowledge of
  background programs. For things like user
  interface, terminal control, disk file system
  and attachment of other computers, CTSS
  was very much the prototype.
          Systems influence          …contd

• CP/CMS differed in their modular design
  compared to CTSS which involved a lot of
  dependencies on supervisor.
         Hardware Influence
• IBM System/360 combining scientific and
  commercial instruction sets was considered a
  significant development.
• ISA was considered very important to develop a
  flexible OS. Each user would have complete
  capability of the entire system.
• System/360 involve two execution states:
  privileged and problem.
  ‘Problem’ - Instructions used commonly by
  application programs.
  ‘Privileged’ – Instructions affect entire system
  state. Machine blocks their execution and
  transfer control to designated program.
      Virtual memory influence
• Though multiple execution environments are
  possible, programs cannot be moved within
  memory. Demand scheduling places a need
  for dynamic relocation of programs.

• Motivation - High cost/ speed of fast memory
  and inconvenience of two-level store
  manipulation. Memory was split into fixed-
  length page frames
      CP/CMS design goals
• Program refinement, test operation,
  production use and program enhancement
  at the OS level was not developed.
• Back-compatibility and space for future
  development were considered important
  goals to meet.
    CP/CMS design goals             …contd

• Virtual machines - cannot be
  compromised, new functionalities can be
  easily added. Modularity was an important
  design principle.
• Flexibility is easily obtained on virtual
  machines. Specific features can be added
  or removed from virtual domain with
  relative ease.
       The Control Program
• CP is an operating system which interprets
  the instructions specified by the virtual
• CP - 1. Interface to virtual machines.
        2. Support allocation and management
           of rest of machine.
• Control of I/O channels, memory and CPU
  require “sophisticated” methods.
       The Control Program           …contd

• Any virtual machine can be activated using
  keyboard and terminal. CP can be controlled
  to create/delete hardware components and
  change machine configuration. Terminals
  can be associated with specific virtual
• All connections between virtual machines
  are explicitly through CP either via shared
  memory or through I/O channels.
Conversational Monitor System
• Normal OS to support personal use of dedicated
• Main functionality of CMS is to provide the file-
  system to manage permanent in information
  stored on disk.
• Data sharing between users is through
  connections established by CP.
• User programs can modify the system and use
  privileged instructions. “It was designed to
  support its own development and maintenance”.
• RSCS is interrupt-driven, multi-tasking system
  used for data transfer among multiple
• It uses the communication links to send and
  receive files in “store-and-forward fashion”
  between real machines, virtual machines and
  remote work-stations.
• Each virtual machine is identified by unique
  names defined within CP directory. CP appears
  as central node in star network with a virtual
  machine at each point.
                 RSCS              …contd

• This method employed by VM/370 is
  useful within single machine.
• RSCS operated within a virtual machine
  with attached communication links. Using
  a two-tier address structure, unique
  identifier for each connected system as
  well, it transmits files among multiple
  connected computers.
• VM/370 can be considered as a big step in
  today’s world where virtualizing every part
  of system is given importance.

• Virtual machine research is leading to a
  point where test and production systems
  coexist leading to smooth transition for a
  new release.

To top