The supervisor program must do automatic user usage charge accounting. In general, the user should be charged on the basis of a system usage formula or algorithm which should include such factors as computation time, amount of high-speed memory required, rent of secondary memory storage, etc. The supervisor program should coordinate all user input-output since it is not desirable to require a user program to remain constantly in memory during input-output limited operations. In addition, the supervisor must coordinate all usage of the central, shared high-speed input-output units serving all users as well as the clocks, disc units, etc.
The system programs available must be potent enough so that the user can think about his problem and not be hampered by coding details or typographical mistakes. Thus, compilers, query programs, post-mortem programs, loaders, and good editing programs are essential. As much as possible, the users should be allowed the maximum programming flexibility both in choices of language and in the absence of restrictions. Too large a computation or excessive typewriter output may be inadvertently requested so that a special termination signal should be available to the user.
Since real-time is not computer usage-time, the supervisor must keep each user informed so that he can use his judgment regarding loops, etc. Computer processor, memory and tape malfunctions must be expected. Basic operational questions such as "Which program is running? Having briefly stated a desirable time-sharing performance, it is pertinent to ask what level of performance can be achieved with existent equipment.
To begin to answer this question and to explore all the programming and operational aspects, an experimental time-sharing system has been developed. This system was originally written for the IBM but has since been converted for use with the computer. The of the MIT Computation Center has, in addition to three channels with 19 tape units, a fourth channel with the standard Direct Data Connection.
Attached to the Direct Data Connection is a real-time equipment buffer and control rack designed and built under the direction of H. Teager and his group. Also installed on the are two special modifications i. RPQ's : a standard 60 cycle accounting and interrupt clock, and a special mode which allows memory protection, dynamic relocation and trapping of all user attempts to initiate input-output instructions. In the present system the time-sharing occurs between four users, three of whom are on-line each at a typewriter in a foreground system, and a fourth passive user of the back-ground Fap-Mad-Madtran-BSS Monitor system similar to the Fortran-Fap-BSS Monitor System FMS used by most of the Center programmers and by many other installations.
- System Design of a Computer for Time Sharing Applications.
- time sharing.
- Time Share?
Core storage is allocated such that all users operate in the upper 27, words with the time-sharing supervisor TSS permanently in the lower 5, words. To avoid memory allocation clashes, protect users from one another, and simplify the initial system organization, only one user was kept in core memory at a time.
However, with the special memory protection and relocation feature of the , more sophisticated storage allocation procedures are being implemented. In any case, user swaps are minimized by using 2-channel overlapped magnetic tape reading and writing of the pertinent locations in the two user programs. The foreground system is organized around commands that each user can give on his typewriter and the user's private program files which presently for want of a disc unit are kept on a separate magnetic tape for each user. For convenience the format of the private tape files is such that they are card images, have title cards with name and class designators and can be written or punched using the off-line equipment.
The latter feature also offers a crude form of large-scale input-output. The magnetic tape requirements of the system are the seven tapes required for the normal functions of the background system, a system tape for the time-sharing supervisor that contains most of the command programs, and a private file tape and dump tape for each of the three foreground users. The commands are typed by the user to the time-sharing supervisor not to his own program and thus can be initiated at any time regardless of the particular user program in memory.
For similar coordination reasons, the supervisor handles all input-output of the foreground system typewriters. Commands are composed of segments separated by vertical strokes; the first segment is the command name and the remaining segments are parameters pertinent to the command. Each segment consists of the last 6 characters typed starting with an implicit 6 blanks so that spacing is an easy way to correct a typing mistake. A carriage return is the signal which initiates action on the command. The computer responses are always in the opposite color from the user's typing.
While typing, an incomplete command line may be ignored by the "quit" sequence of a code delete signal followed by a carriage return. Similarly after a command is initiated, it may be abandoned if a "quit" sequence is given. In addition, during unwanted command typeouts, the command and output may be terminated by pushing a special "stop output" button.
The use of the foreground system is initiated whenever a typewriter user completes a command line and is placed in a waiting command queue. Upon completion of each quantum, the time-sharing supervisor gives top priority to initiating any waiting commands. The system programs corresponding to most of the commands are kept on the special supervisor command system tape so that to avoid waste of computer time, the supervisor continues to operate the last user program until the desired command program on tape is positioned for reading.
At this point, the last user is read out on his dump tape, the command program read in, placed in a working status and initiated as a new user program. However, before starting the new user for a quantum of computation, the supervisor again checks for any waiting command of another user and if necessary begins the look-ahead positioning of the command system tape while operating the new user. Whenever the waiting command queue is empty, the supervisor proceeds to execute a simple round-robin of those foreground user programs in the working status queue.
Finally, if both these queues are empty, the background user program is brought in and run a quantum at a time until further foreground system actively develops. Foreground user programs leave the working status queue by two means. If the program proceeds to completion, it can reenter the supervisor in a way which eliminates itself and places the user in dead status; alternatively, by a different entry the program can be placed in a dormant status or be manually placed by the user executing a quit sequence.
Reminiscences on the Theory of Time-Sharing
The dormant status differs from the dead status in that the user may still restart or examine his program. User input-output is through each typewriter, and even though the supervisor has a few lines of buffer space available, it is possible to become input-output limited. Consequently, there is an additional input-output wait status, similar to the dormant, which the user is automatically placed in by the supervisor program whenever input-output delays develop.
When buffers become near empty on output or near full on input, the user program is automatically returned to the working status; thus waste of computer time is avoided. To clarify the scope of the foreground system and to indicate the basic tools avail-able to the user, a list of the important commands follows along with brief summaries of their operations:. Should be given at beginning of each user's session.
Rewinds user's private file tape; clears time accounting records. Should be given at end of each user's session. Rewinds user's private file tape; punches on-line time accounting cards.
Sets user in input mode and initiates automatic generation of line numbers. The user types a card image per line according to a format appropriate for the programming language. The supervisor collects these card images at the end of the user's private file tape.
When in the automatic input mode, the manual mode may be entered by giving an initial carriage return and typing the appropriate line number followed by and line for as many lines as desired. To reenter the automatic mode, an initial carriage return is given. The manual mode allows the user to overwrite previous lines and to insert lines. File Command. The user is set in the automatic input mode with the designated file treated as initial input lines. The same conventions apply as to the input command.
The created file will consist of the numbered input lines i. The line numbers will be written as sequence numbers in the corresponding card images of the file. To place a character in the continuation column: statement label, tab, backspace, character, statement. Causes the file designated as alpha,fap to be translated by the FAP translator assembler.
Files alpha,symtb and alpha,bss are added to the user's private file tape giving the symbol table and the relocatable binary BSS form of the file. Causes file alpha,mad to be translated by the MAD translator compiler. File alpha,bss is created. Causes file alpha,madtrn i. There can be further library files. This command is used whenever a load or previous use command notifies the user of an incomplete set of subprograms.
Same alpha-i conventions as for load. Starts the program setup by the load and use commands or a dormant program after first positioning the user private file tape in front of the title card for file alpha,beta. If beta is not given, a class of data is assumed; if both alpha and beta are not given, no tape movement occurs and the program is started. Produces post-mortem of user's dormant program according to request specified by alpha.
Used if a pm command is "quit" during output and the previous program interruption is to be restarted. Types out file alpha,beta starting at line number gamma. If gamma is omitted, the initial line is assumed. Creates file alpha,beta if beta omitted, xdump assumed on user's private file tape consisting of the complete state of the user's last dormant program.
Inverse of xdump command in that it resets file alpha,beta as the user's program, starting it where it last left off. Although experience with the system to date is quite limited, first indications are that programmers would readily use such a system if it were generally available, It is useful to ask, now that there is some operating experience with the system, what observations can be made.
Similarly, the requirement that a complete typewritten line rather than each character be the minimum unit of man-computer communication is an inhibiting factor in the sense that a press-to-talk radio-telephone conversation is more stilted than that of an ordinary telephone. Since maintaining a rapid computer response on a character by character basis requires at least a vestigial response program in core memory at all times, the straight-forward solution within the present system is to have more core memory available.
At the very least, an extra bank of memory for the time-sharing supervisor would ease compatibility problems with programs already written for 32, word 's. For reasons of expediency, the weakest portions of the present system are the conventions for input, editing of user files, and the degree of rapid interaction and intimacy possible while debugging. Since to a large extent these areas involve the taste, habits, and psychology of the users, it is felt that proper solutions will require considerable experimentation and pragmatic evaluation; it is also clear that these areas cannot be treated in the abstract for the programming languages used will influence greatly the appropriate techniques.
A greater use of symbolic referencing for locations, program names and variables is certainly desired; symbolic post-mortem programs, trace programs, and before-and-after differential dump programs should play useful roles in the debugging procedures. In the design of the present system, great care went into making each user independent of the other users.
However, it would be a useful extension of the system if this were not always the case. In particular, when several consoles are used in a computer controlled group such as in management or war games, in group behavior studies, or possibly in teaching machines, it would be desirable to have all the consoles communicating with a single program. Another area for further improvement within the present system is that of file maintenance, since the presently used tape units are a hindrance to the easy deletion of user program files.
Disc units will be of help in this area as well as with the problem of consolidating and scheduling large-scale central input-output generated by the many console users. Finally, it is felt that it would be desirable to have the distinction between the foreground and background systems eliminated.
The present-day computer operator would assume the role of a stand-in for the background users, using an operator console much like the other user consoles in the system, mounting and demounting magnetic tapes as requested by the supervisor, receiving instructions to read card decks into the central disc unit, etc. Similarly the foreground user, when satisfied with his program, would by means of his console and the supervisor program enter his program into the queue of production background work to be performed.
With these procedures implemented the distinction of whether one is time-sharing or not would vanish and the computer user would be free to choose in an interchangeable way that mode of operation which he found more suitable at a particular time. Regardless of whether one has a million word core memory or a 32, word memory as currently exists on the , one is inevitably faced with the problem of system saturation where the total size of active user programs exceeds that of the high-speed memory or there are too many active user programs to maintain an adequate response at each user console.
These conditions can easily arise with even a few users if some of the user programs are excessive in size or in time requirements. The predicament can be alleviated if it is assumed that a good design for the system is to have a saturation procedure which gives graceful degradation of the response time and effective real-time computation speed of the large and long-running users.
To show the general problem, Figure 1 qualitatively gives the user service as a function of n, the number of active users. Toggle navigation.
time-sharing - Computer Definition
Uh oh! You're not signed up. Close navigation. Popular Terms. General: Serial use of a facility , item, location , or property for two or more purposes or by two or more users.
Homepage - TimeSharing Today
Computing: Use of a computer's resources in a manner that several users access the system in a sequence but seem to be working simultaneously. Timesharing is common in larger mini, mainframe, or clustered systems since s and accommodates hundreds or even thousands of users. Real estate: Type of joint property ownership see joint tenancy often with equal but not concurrent right of possession exercisable at specified time intervals such as different days, weeks, or months.
You Also Might Like Leo Sun. How to Make Money with Facebook.