The Origin of the VM/370 Time-Sharing System
Total Page:16
File Type:pdf, Size:1020Kb
R. J. Creasy The Origin of the VM/370 Time-sharing System VM1370 is an operating system which provides its multiple users with seemingly separate and independent IBM System1 370 computing systems. These virtual machines are simulated using IBM System1370 hardware and have its same architecture. In addition, VM1370 provides a single-user interactive system for personal computing and a computer network system for information interchange among interconnected machines. VMl370 evolved from an experimental operating system designed and built over fifteen years ago. This paper reviews the historical environment, design influences, and goals which shaped the original system. Introduction The Virtual Machine Facilityl370, VM1370 for short, is a In the spirit of reviewing the twenty-five years spanned convenient name for three different operating systems: by the IBM Journal of Research and Development, we the Control Program (CP), the Conversational Monitor take a moment to discuss the historical environment, System (CMS), and the Remote Spooling and Communi- design influences, and goals whichformed the first ances- cations Subsystem (RSCS). Together they form a general tor of VM1370. The paper is historical and is not intended purpose tool for the delivery of the computing resources to be a critical look at operating system design. (That of the IBM Systed370 machines to a wide variety of subject scarcely lacks coverage; see, for example, [I].) A people and computers. The CP andCMS components few aspects of the CPICMS design meritspecial attention, evolved directly from an experimental operating system but mostly itis the particular selection, combination, and designed and builtby the author and his groupat the IBM implementation of features which have proved useful. Systems Research and Development Center in the mid- This retrospective look may provide some insightinto the 1960s. This center, now called the IBM Scientific Center, personality, capability, and potential of the VW370 is located in Cambridge, Massachusetts. design. CPis an operating system that uses a computing Information can be found elsewhere to describe the machine to simulate multiple copiesof the machine itself. current incarnation of VMl370 and related subjects. The These copies, or virtual machines, are each controlled manuals [2] provided for this IBM product cover con- like the real machine by their own operating systems. cepts, user commands, andsystem information. More CMS is an operating system that supports the interactive generally, virtual memory concepts [3], virtual machine use of a computing machine by one person. It is the concepts [4], and the virtual machine environment of VM/ typical operating system usedwithin each virtual ma- 370 [5] have been discussed at length. The bibliographies chine. RSCS is the operating system used to provide of these references are very good. information transfer among machines linked with commu- nications facilities. These three systems, used together, An historical perspective produce a general purpose multiple access facility. Other The roots of VM1370 are most deeply entwined with the operating systems can be used oneach virtual machine as style of use of the computing machines of the 1950s by well and mightbe selected for batched job processing, for scientists and engineers. In those days, the machines compatible interchange with other systems, or for other were used as personal tools, much like their predecessors purposes. which had been designed and dedicated to specific appli- Copyright 1981 by International Business Machines Corporation. Copying is permitted without payment of royalty provided that (1) each reproduction is done without alteration and (2) the Journal reference and IBM copyright notice are included on the first page. The title and abstract may be used without further permission in computer-based and other information-service systems. Permission to republish other excerpts should be obtained from the Editor. 483 IBM J. RES. DEVELOP. VOL. 2!5 0 NO. 5 SEPTEMBER 1981 R. J. CREASY cations. Unlike the earlier machines, however, they did Batched job systems remained the main mode of com- not sit idle whena problem was solved; their architecture puter operation and continued in their evolution. They was more general, with easily changed stored programs could overlap the termination, operation, and setup of directing their actions on a variety of problems. These sequential jobs. Later, morecomplex systems would programs, handcrafted for the slow and costlyhardware, multiplex theexecution of several programs in an effort to required the entire machine. The users were normally reduce the idle time of individual machine components. present to make sure things were going well and, if not, For all but the mostspecialized of uses, likeairline reacted in real timeto correct things orto collect informa- scheduling or real-time control, these sophisticated tion useful for diagnosis. The running time of a program batched job operating systemsmanaged the machine was quite long comparedto these user actions and to the well. time requiredto set up the machine for the next problem. During this same period, time-sharing systems were Asmachines became faster andprogram execution designed to solve similar problems;these solutions recog- times shortened, the overhead of human operation be- nized the on-line user as an important new factor. In came more significant. Simplejob monitor systems were addition, user interfaces, tools, and application programs introduced to reduce the cost of the idle time between were developed uniquelyfor interactive use. Techniques execution of different programs. Thesesystems terminat- to support dynamic allocationof the machine and demand ed a program in a preselected way, prepared the machine, scheduling became more efficient and predictable. Most and began execution of the next job. Machines continued importantly, themachine and people costs steadily to grow in capability and speed andto decline in cost per moved to favor interactive systems. Today’s batch oper- computing unit. With larger memories and independent atingsystems include modificationsand extensions to I/O operation came the possibility of more efficient ma- support interactive use, although the style and capability chineutilization. A portion of themachine could be presented to the user tend to reflect the heritage of the dedicated to the programs which assisted inmachine underlying system. operation, the operating system. As a result, overall productivity of the system increased. Peripheral comput- The future promisesinexpensive and powerful ma- ers wereused to prepare job streams for the main chines that can individually serve each of us as assistants computer; they printed and punched batched output as as a machine now stores, modifies, and formats this text well. The turnaround time of a job from submission to under my command. A pattern of use, similar to that completion was measuredin hours, sometimes days. The decades ago, is emerging with the use of personal com- prescheduling of jobs resulted in more efficient machine puters as machines dedicatedto a single user. The cost of utilization, but the users were more isolated from the these modem machines is so incredibly low compared machine. Developing and testing programs wasa frustrat- with their progenitors that the idle time caused by human ing experience. interaction or lack of work is not significant. But these Thus the stage was set for the direct interactive use of machines will not be isolatedin laboratories. They will be machines by some users. The machines, occupied gain- interconnected in manyways as the emphasismoves fully by the steady stream of batched work, could be from computing convenienceto information access. interrupted now and then by people demanding a small amount of computer time. It was thought that the costs of Computing use has come full circleto repeat history in such time-shared use couldbe reduced to the point where a variety of ways. The ingredients of dedicated machine people, usingtypewriter-like equipment, couldagain use and interactive support, occurring separately in the command the machine to do their bidding. The pioneering past for most people, willcombine with machine to work in such a general purpose time-sharing system was machine communication to characterize these new sys- done at M.I.T. in the early 1960s [6]. With this system, tems. It is precisely because these features also charac- called the Compatible Time-sharing System (CTSS), a terize VMl370 to its users that this system design should normal batched job stream was run as background to be viewedin the modem context. VM/370,with its keep the computer busy. At the same time, several users collection of interconnected, independent machines each could enter commands to prepare, execute, and terminate serving one user, can provide architectural compatibility their programs. The machine directly responded to each with the future’s networks of personal computers. of them in real-time. Programs,data, and textual material were created, modified, executed, formatted, and the like Design influences and goals in a style similar to that produced today by VMl370, a The CP/CMS system was conceived in 1964 as a second- style which is now common to many personal computers generation time-sharing systemfor the newly announced 484 as well. IBM Systeml360. It began as an experimental software R. 1. CREASY IBM I. RES. DEVELOP. VOL. 25 NO. 5 SEPTEMBER 1981 project [7, 81 designed to