(The following is from Jean Bellec's Bull/GE History webpage,
Reprinted without permission. Annotations are property of Jean Bellec, 2001.)
26 March 1965
GENERAL ELECTRIC COMPUTER DEPT. LABORATORY
(revised from a publication of the
dated 19 October 1964)
THE DARTMOUTH TIME SHARING SYSTEM (*)
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 assisted by a highly
qualified and enthusiastic group of undergraduates. The Dartmouth Time-Sharing
experience shows two 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.
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 of remote 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.
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 system with 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 name he is currently using. Such saved programs can be later retrieved
by typing OLD. If the user is finished with his saved program, he should type
UNSAVE, which makes available 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 answers or 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).
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.
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
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.
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
(*) This document is directly reproduced from a GE internal document. The bulk of
the text might have been 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.
(1) Note the "user's" gender.
(2) In that time, batch processing meant often analyzing a big stack of papers
printed by a run-away program.
(3) While ALGOL was a programming language of DTSS, that "merging" of program is
a lot of miles away from "structured programming".
(4) Actually, "source" programs.
(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 why it was difficult to have
a dedicated T-S system. At that time, it was not envisioned as a service bureau
(8) The author might have underestimated the problems of introducing specific
equipment support in the real-time portion of the OS.