Dartmouth Time-sharing System: Architecture
As mentioned in the introduction, DTSS comprised of two computers, a GE-235 to run user programs and a DATANET-30 to talk to terminals and schedule tasks, both sharing a disk drive. Let's look at how this worked in more detail. This describes the system at around its launch in 1964; it was considerably expanded later.

Architecture diagram from "DTSS: A Brief Description", Computation Center, Dartmouth College, 1964. Source: bitsavers.
User interface
The user interface was much like we saw in the emulator quick tourm
with the addition of a HELLO
command for the user to identify
themselves via a numeric ID; there were no passwords.
The user can either be editing their program - indicated by a typing a
number at the start of a line - or submitting commands such as LIST
or RUN
. The commands are not tied to BASIC, so you could use them if
programming in ALGOL, for example.
The DATANET-30
The DATANET-30 was intended by GE to be a smart communication controller, capable of handling several terminal lines, buffering data and sending messages. It had 18-bit words and was relatively fast. It was interrupt driven and had a stored program facility which Dartmouth used to create an operating system. This was divided into real-time and spare-time tasks.
The real-time part was driven by an interrupt running 110 times per second. It would scan the lines for activity and store them in buffers. For commands, it would set up a job entry and store it in the spare-time queue.
The spare-time part ran every second and would examine its queue.
Programs being developed would be sent to the disk. Command such as
RUN
would cause the DN-30 to send a message to the GE-235 to do the
actual work of compiling and running the program.
The disk drive stored up to 16 million words of data and was connected to both the DN-30 and the GE-235.
The GE-235
The GE-235 was more powerful than the DN-30 for integer and floating point arithmetic. It had up to 16,000 words of core memory, each word having 20 data and 1 check bit.
During time-sharing, its operation was controlled by the DN-30. It held the compilers and execution services in memory. When it receives a message from the DN-30, it read the user program from the disk and starts compiling and executing it - so user programs were compiled every time they were run rather than saving object files. At run-time user programs had access to 6,000 words of memory.
As far as I can tell from the documentation, only one user program could be in memory at any time: the DN-30 could tell the GE-235 to write the contents of memory to disk in order to process another user program. The 1964 documentation states that the system was good at running a number of short jobs this way, but there could be waits of 5-10s for jobs to be executed. However, longer running jobs were not really suitable for this system.
Peripherals such as tapes and card readers were not used during time-sharing, but were used for system development purposes, presumably in a batch execution mode.
Further information
From bitsavers:
- The 1964 DTSS System Description from Dartmouth.
- The DATANET-30 and GE-225 programmer's reference manuals from GE.
- A book from 1980 covers later versions of the operating system.
Questions, corrections, comments
I welcome any questions or comments, and also especially any corrections if I have got something wrong. Please email me at rupert@timereshared.com and I will add it here and update the main text.