180 likes | 321 Views
The Origin of the VM/370 Time-sharing system. Presented by Niranjan Soundararajan. Abstract. 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
E N D
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan
Abstract • 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 exchange.
Introduction • Lots of similarity between present day virtual machine research and what VM/370 addresses. • 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 perspective • 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 operation.
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 goalsCP/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 machine. • 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 machines. • 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 computer. • 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 • RSCS is interrupt-driven, multi-tasking system used for data transfer among multiple computers. • 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.
Conclusion • 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.