(revised
from a publication of the
COMPUTATION CENTER
DARTMOUTH COLLEGE
HANOVER N.H.
dated 19 October 1964)
THE
DARTMOUTH TIME SHARING SYSTEM
(*)
Introduction.
The
Dartmouth College Computation Center at Hanover, N.H. and the General
Electric Advanced Systems Lab at Phoenix, Arizona, each operate
Time-Sharing computer systems that can simultaneously service a large
number of remote consoles. The system at Dartmouth, where the original
development was done, is used both for teaching large numbers of
undergraduate students, and for faculty research purposes. It was designed
and the software constructed in a relatively short time by a small group
of faculty members ably assistedby a highly qualifiedand
enthusiastic group of undergraduates. The Dartmouth Time-Sharing
experience showstwo facts:
First, Time-Sharing should be considered not only for major research and
testing Centers but also for smaller and more conventional installations.
Second, the nature of the programming and system problems connected with
Time-sharing are now fairly well understood and present less difficulty
than was previously anticipated.
External
description.
The
Dartmouth Time-Sharing hardware complex contains two computers. One is the
General Electric Datanet-30, which is used both as the remote console
controller and also the site of the master executive program. It can
control, through interrupts, the other computer, a General Electric GE-235
, whose main functions is to compile programs and to perform
floating-point arithmetic. There is a direct line connecting these
computers which is used for control purposes. However, the main path of
data and information transfer in both directions is through a disc storage
unit which can be accessed by either computer. In addition to its role in
handling the information flow between the two computers, the disc provides
a storage for both active and saved programs.
The
multiple remote consoles are model 33/35 teletype machines. However, the
equipment can handle almost any type ofremote device employing standard codes transmitted at relatively
slow rates.
The
computer complex also includes conventional tape drives, card reader, card
punch, and high-speed printer. However, those devices paly only an
ancillary role in the Time-Sharing System.
Users
Description.
The
user introduces himself (1) to the system by typing the
word HELLO. This initiates a short series of questions and answers which
serve to further identify the user and his problem. Specifically, the user
supplies his user number, the name of the systemwith which he intends to operate, specifies whether the problem he
is about to name is new or old, and gives the problem name. If it is an
old problem, the system retrieves it from the saved program storage area
on the disc. The user may then add to the program or modify it in any way.
If it is a new problem, the user is presented with a clean slate, and he
composes his program from scratch.
The
statements of the program start with a line number, which distinguishes
them from the commands to the system. Having the user typing his own line
numbers permits him to correct lines in the program simply by retyping
them, to insert new lines in the program, or to delete unneeded lines.
When he has finishing composing his program, he then types RUN without a
line number. This command causes the system to deliver his source program
to a translator, after which it is run. The answer will be typed out on
the teletype machine.
Other
commands are available to the user. By typing SAVE the user can store away
for future reference his program as it exists at that moment and under the
problem namehe is currently
using. Such saved programs can be later retrieved by typing OLD. If the
user isfinished with his
saved program, he should type UNSAVE, which makesavailable that particular storage space for some other program. At
any point he may type LIST, which list his entire active program, or LIST-XXXX,
which will list his program starting with line number XXXX. At any time in
the proceedings the user may type STOP. Even if the system is printing (2)
out answersor listing a
program, it will immediately stop and wait further commands. The combined
use of the selective LIST and the STOP commands permits the user to list
easily lines in the middle of his program.
A user may obtain a complete listing of all programs saved under
his user number by typing CATALOG. Such a listing is useful not only for
users having a large library of saved programs, but also for users who may
forget the exact spelling of their problem names
Currently under development are two new commands
RENUMBER and MERGE. MERGE will permit a user to retrieve two or more saved
programs to create a larger composite program. RENUMBER will permit the
user to renumber the lines in any program to permit later merging with
programs having similar line numbers (3).
Programming
Languages
Two
algebraic languages, BASIC and ALGOL, are available, with FORTRAN planned
for September 1965. These one-pass compilers are rather fast, requiring
usually 1 to 4 seconds per compilation. Because of their speed, it is
economical always to recompile upon each RUN; thus symbolic debugging is
quite straightforward.
Program
libraries
The disc file at Dartmouth contains a large number
of programs in symbolic (4) form. These are available
to every user by typing in OLD and the library program name followed by
***: he may then rename, save, modify, etc. just if he had originated the
program. Thus the user has at his fingertips an extensive library
available within seconds
Internal description.
The system may be divided logically into three
parts. The Datanet-30 computer acts as remote console controller but more
importantly contains the master executive program (5) .
The GE-235 performs all translations and executions, and certain
bookkeeping operations as well. The disc storage unit acts as the buffer
area for currently active programs, the buffer area for information being
outputted from the GE-235, and a storage unit for saved programs. It also
serves as the storage unit for the various systems used by the GE-235.
Inside the Datanet-30 are input-output buffer
areas associated with each teletype station. There are operated in a
flip-flop fashion so that input or output typing may continue in one part
of the buffer while the other is "connected" to the disc unit.
The program in the Datanet-30 is divided into two parts, a real-time part
and a spare-time part. The real-time is entered via clock controlled
interrupt 110 times per second in order to scan the teletype lines. As
characters are completed, the real-time part collects them into messages
and, when a "return" character is encountered, interprets the
message. If it is a line in the program, nothing is done. If the message
is a command, a spare-time task to start carrying out the command is set
up and inserted in the spare-time list. If there is not enough time to
complete this setting-up, the real-time part will complete the set-up
during the next real-time period.
The spare-time portion carries out the spare-time tasks, which include
mainly disc operations and certain teletype operations. Communication to
the GE-235 is carried out in real-time according to instructions generated
in spare-time.
In the GE-235 part there is resident compiler
system that acts as a translator, and a resident executive routine to
manage the disc input-output operations and to perform other functions.
The executive system permits simultaneous use of the card equipment , the
tape drives, and the high-speed printer during Time-sharing through
interrupt processing.
The disc unit is divided into three areas. First
is the current working area containing the program which the user is
either composing or has retrieved. It is this program that is delivered to
the GE-235 when a RUN request is made. The second area in the disc
includes the storage area for the saved programs. Depending on the size of
the program, somewhere between 2,000 and 7,000 programs may be saved. The
third area is a catalog for saved programs. The catalog is divided into
100 equivalent classes according to the third and second digits of the
user number. Each time a request for a SAVE, OLD or UNSAVE is made, the
catalog is scanned by the Datanet-30 for either the desired entry or a
space into which a catalog entry for the program to be placed.
Because the rate of information flow between the two computers is
disc-bound, the maximum utilization of the GE-235 cannot exceed
approximately 80 percent. Future plans call for a reallocation of the
areas on the disc to minimize the average arm movement time, and to
possibly cut down the disc overhead time by about 25 percent.
Comparisons
The Time-Sharing system is not compatible with the
monitor-controlled system (6) as operated at other
times during the day. In Time-Shoring, the user has a block of only 6,000
words at his disposal. However, it is planned to permit a user to compose
and debug a program during Time-Sharing, and then to create an equivalent
form for production running during monitor operation.
A certain amount of background usage of the system, such as assemblies,
card to tape, tape to printer, etc., is permitted when the number of users
is small. This type of usage is still in the experimental stage, but
appears practical.(7)
This system can be accurately described as a small
job processing system with fast turnaround. At the present time, Dartmouth
Time-Sharing does not have the capability for running large complex
programs under Time-Sharing. Furthermore, the design of the system as a
job processor does not permit it to be designated as a truly real-time
system. There can be fairly long waits of from 5 to 10 seconds as the
spare time tasks and run requests become stacked up. These stack ups and
delays are almost entirely a result of the central role played by the
relatively slow disc as an extension of memory. Future systems with large
memories need nit so encumbered. Furthermore, relatively simple
(8) changes in the master executive program will permit almost any
sort of communication with external devices, including the instantaneous
sort of response required by laboratory experiment being controlled by the
computer.
The
Dartmouth Time-Sharing system is, however, extremely effective as a small
job processor. The minimum amount of red tape required by the user, and
the simplicity of the BASIC language provide an accessibility equivalent
to that offered by a desk calculator. In fact, it is often easier to run a
trivial calculation through the Time-Sharing system than it is to use a
desk-calculator, and it is also easier to use the Time-Sharing system to
calculate some tabled quantity than to look up that quantity in the
handbook. While such usage may not be an effective use of the teletype
consoles, it costs virtually nothing in terms of machine time used; such
an equivalent table lookup can be made for less than one penny.
(*) This document is directly
reproduced from a GE internal document. The bulk of the text might have be
written by Dartmouth college people. It has been edited by the GE
evangelists seeking a way to justify and promote DTSS internally inside
GE, before it was offered to the public, through whar became GEISD.
Annotations are 2001 comments in
hypertext by Jean Bellec.
(5)DTSS is really a multi-computer system, the
Datanet is not only a front-end processor, but includes a key
portion of the operating system.
(6) the standard operating system of the GE-200
operating in batch mode from cards or tapes.
(7)The high cost of machines in the 1960s explains that it was
difficult to dedicate a system only to T-S system. At that time, it was
not envision as a service bureau business.
(8)the author might have underestimated
the problems of introducing specific equipment support in the real-time
portion of the OS
Everyday we rescue items you
see on these pages!
What do you have hiding in a closet or garage?
What could you add to the museum displays or the library?