An Experimental Time-Sharing System
Total Page:16
File Type:pdf, Size:1020Kb
335 AN EXPERIMENTAL TIME-SHARING SYSTEM Fernando J. Corbato, Marjorie Merwin-Daggett, Robert C. Daley Computer Center, Massachusetts Institute of Technology Cambridge, Massachusetts summary It is the purpose of this paper to discuss The motivation for time-shared computer briefly the need for time-sharing, some of the usage arises out of the slow man-computer inter- implementation problems, an experimental time- action rate presently possible with the bigger, sharing system which has been developed for the more advanced computers. This rate has changed contemporary IBM 7090, and finally a scheduling little (and has become worse in some cases) in algorithm of one of us (FJC) that illustrates the last decade of widespread computer use. lO some of the techniques which may be employed to enhance and be analyzed for the performance In part, this effect has been due to the limits of such a time-sharing system. fact that as elementary problems become mast- ered on the computer, more complex problems immediately become of interest. As a result, Introduction larger and more complicated programs are written to take advantage of larger and faster computers. The last dozen years of computer usage have This process inevitably leads to more programm- seen great strides. In the early 1950's, the ing errors and a longer period of time required problems solved were largely in the construction for debugging. Using current batch monitor and maintenance of hardware; in the mid-1950's, techniques, as is done on most large computers, the usage languages were greatly improved with each program bug usually requires several hours the advent of compilers; now in the early 1960's, to eliminate, if not a complete day. The only we are in the midst of a third major modifi- alternative presently available is for the cation to computer usage: the improvement of programmer to attempt to debug directly at the man-machine interaction by a process called computer, a process which is grossly wasteful time-sharing. of computer time and hampered seriously by the poor console communication usually available. Much of the time-sharing philosophy, Even if a typewriter is the console, there are expressed in this paper, has been developed in usually lacking the sophisticated query and conjunction wi th the work of an MIT preliminary response programs which are vitally necessary study committee, chaired by H. Teager, which to allow effective interaction. Thus, what is examined the long range computational needs of desired is to drastically increase the rate of the Institute, and a subsequent MIT computer interaction between the programmer and the working committee, chaired by J. McCarthy. computer without large economic loss and also However, the views and conclusions expressed to make each interaction more meaningful by in this paper should be taken as solely those extensive and complex system programming to of the present authors. assist in the man-computer communication. Before proceeding further, it is best to To solve these interaction problems we give a more precise interpretation to time- would like to have a computer made simultaneously sharing. One can mean using different parts of available to many users in a manner somewhat the hardware at the same time for different like a telephone exchange. Each user would be tasks, or one can mean several persons making able to use a console at his own pace and with- use of the computer at the same time. The first out concern for the activity of others using the ___ Tn,,' +; n('l' ; c:: Q'l:Tc+om meAning, VoL,",,"","'''' "'-.......... '"" .... _- .... -l""' .. -b .. - .. • ... ·_ ..... b' -- -,J - -_ ........ This console could as a be oriented towards hardware efficiency in the merely a typewriter but more ideally would sense of attempting to §omplete utili- contain an incrementally modifiable self- zation of all components ' , J • The second sustaining display. In any case, data trans- meaning of time-sharing, which is meant here, mission requirements should be such that it would is primarily concerned with the efficiency of be no major obstacle to have remote installation persons trying to use a computerl ,2,3,4. from the computer proper. Computer efficiency should still be considered but only in the perspective of the total system utili ty. 336 AND CODING The basic technique for a time-sharing system Implementation Problems is to have many persons simultaneously using the computer through typewriter consoles with a As indicated, a straightforward plan for time-sharing supervisor program sequentially time-sharing is to execute user programs for running each user program in a short burst or small quantums of computation without priority quantum of computation. This sequence, which in in a simple round-robin; the strategy of time- the most straightforward case is a simple round- sharing can be more complex as will be shown robin, should occur often enough so that each later, but the above simple scheme is an user program which is kept in the high-speed adequate solution. There are still many memory is run for a quantum at least once during problems, however, some best solved by hard- each approximate human reaction time ware, others affecting the programming conven- seconds). In this way, each user sees a computer tions and practices. A few of the more fully responsive to even single key strokes each obvious problems are summarized: of which may require only trivial computation; in the non-trivial cases, the user sees a Hardware Problems: gradual reduction of the response time which is proportional to the complexity of the response 1. Different user programs if simultan- calculation, the slowness of the computer, and eously in core memory may interfere with each the total number of active users. It should be other or the supervisor program so some form of clear, however, that if there are n users memory protection mode should be available when actively requesting service at one time: each operating user programs. user will only see on the average lin of the effective computer speed. During the period of 2. The time-sharing supervisor may need high interaction rates while debugging programs, at different times to run a particular program this should not be a hindrance since ordinarily from several locations. (Loading relocation the required amount of computation needed for bits are no help since the supervisor does not each debugging computer response is small know how to relocate the accumulator, etc.) compared to the ultimate production need. Dynamic relocation of all memory accesses that pick up instructions or-data words is one Not only would such a time-sharing system effective solution. improve the ability to program in the conventional manner by one or two orders of magnitude, but 3. Input-output equipment may be initiated there would be opened up several new forms of by a user and read words in on another user computer usage. There would be a gradual program. A way to avoid this is to trap all reformulation of many scientific and engineering input-output instructions issued by a user's applications so that programs containing decision program when operated in the memory protection trees which currently must be specified in mode. advance would be eliminated and instead the particular decision branches would be specified 4. A large random-access back-up storage only as needed. Another important area is that is desirable for general program storage files of teaching machines which, although frequently for all users. Present large capacity disc trivial computationally, could naturally units appear to be adequate. exploit the consoles of a time-sharing system with the additional bonus that more elaborate 5. The time-sharing supervisor must be and adaptive teaching programs could be used. able to interrupt a user's program after a Finally; as attested hy the many small business quantum of computation. A program-initiated one- computers, there are numerous applications in shot multivibrator which generates an interrupt busine$ and in industry where it would be a fixed time later is adequate. advantageous to have powerful computing facilities available at isolated locations with only the 6. Large core memories (e.g. a million incremental capital investment of each console. words) would ease the system programming compli- But it is important to realize that even \rithout cations immensely since the different active the above and other new applications, the major user programs as well as the frequently used advance in programming intimacy available from system programs such as compilers, query programs, time-sharing would be of immediate value to etc. could remain in core memory at all times. computer installations in universities, research laboratories, and engineering firms where programming Problems: program debugging is a major problem. 1. The supervisor program must do auto- matic user usage charge accounting. In general, AN EXPERIMENTAL TIME-SHARING SYSTEM 337 the user should be charged on the basis of a The 7090 of the MIT Computation Center has, system usage formula or algorithm which should in addition to three channels with 19 tape units, include such factors as computation time, amount a fourth channel with the standard Direct Data of high-speed memory required, rent of secondary Connection. Attached to the Direct Data Connec- memory storage, etc. tion is a real-time equipment buffer and control rack designed and built* under the direction of 2. The supervisor program should coordinate H. Teager and his group. This rack has a variety all user input-output since it is not desirable of devices attached but the only ones required to require a user program to remain constantly by the present systems are three flexowriter in memory during limited operations. typewriters. Also installed on the 7090 are two In addition, the supervisor must coordinate all special modifications (i.e.