The DTSS Time-Sharing System

DTSS was an operating system for the GE 635, Honeywell 6600, and DPS8 series of 36-bit mainframes. The system was originally developed at Dartmouth in the latter 1960s, and substantially modified through the 1970s. In the early 1980s the kernel (called the "Executive") was rewritten to take advantage of the Honeywell VM architecture.

DTSS was much influenced by Multics, developed at the same time on similar hardware (in fact, General Motors once ran DTSS on their Multics system). DTSS, however, remained a much simpler system, running on stock hardware, with a conventional file system and large amounts of assembly language in the OS. DTSS is also related to GE's large-scale time-sharing project, GEnie.

DTSS time-shared user processes (called "jobs") in protected address spaces controlled by a base-limit register. Inter-process communication in DTSS was through "communications files", via the usual file I/O calls. DTSS I/O calls were asynchronous, with the caller providing a location for status and a callback address. A number of system programs exploited this with multithreaded execution in user space. The command interpreters (called "Monitors"), for example, ran a single job shared among users. This enabled the GE635 to run over 200 users in a ~1 MIPS CPU with 1MB memory.

System calls were made by executing a MME (Master Mode Entry) instruction. In its first versions, DTSS had only 6 asynchronous MME calls: OPEN, CLOSE, SAVE, UNSAVE, COPY and EXECUTE. These were in addition to a small number of synchronous MMEs to read or write system status.

Core memory was a possible argument to COPY. COPY to and from core implemented file read and write. COPY could also do file-to-file transfers, allowing the job to be swapped out for the duration. Communication files between processes predate UNIX pipes, although the designs were independent and the implementations differ.

In typical mainframe fashion, users connected their terminals through a communications front-end minicomputer - originally a Datanet 30, later a Honeywell 716 (cousin to the Pr1me minicomputer line), later still a Honeywell Level 6/DPS6 or a New England Digital Able.

DTSS supported dual-processor systems, with Executive execution restricted to one processor (similar to the giant kernel lock). Both processors ran user jobs, but a job could only run on one processor at a time (N:1 threading).

DTSS was later renamed DCTS at Dartmouth to avoid trademark issues. The commercial release of DTSS was used some dozen commercial time-sharing vendors and corporate installations, as well as at educational institutions.

DTSS BASIC was compiled, rather than interpreted, using an extremely fast compiler. DTSS supported other languages such as Algol, FORTRAN, COBOL, SNOBOL, APL, and LISP. Traces of its command interpreter ("Monitor") are found in the commands of numerous BASIC systems, with NEW, OLD, LIST, and SAVE commands.

With the passing of the Age of Mainframes, DTSS development ceased, and its use was phased out. A system was left running at midnight 12/31/99, at which point the system date rolled over to 01/01/:0.

(The following synopsis is taken from the EXPLAIN HISTORY command on DCTS, and appears to date from the mid-1980s.)

History of Computing at Dartmouth

The first computer at Dartmouth College was an LGP-30 acquired in 1959. It could accommodate only one user at a time and was small and slow. The enthusiasm with which it was received, however, revealed a strong demand for a better mouse trap.

In September, 1963, under the direction of mathematics professors John G. Kemeny and Thomas E. Kurtz, a project to establish a time-sharing system at Dartmouth got under way. The fruits of this project were BASIC, a simplified programming language, and a time-sharing system -- using the GE-235 and Datanet-30 computers. This system began operations in May, 1964. In 1965, Dartmouth placed off-campus terminals in secondary schools in the area. At the same time, other computer installations began to use Dartmouth's system software.

A larger building was soon necessary. By 1966, the Kiewit Computation Center building -- a gift of Peter and Evelyn Kiewit -- housed a GE-635 system. A new operating system -- which later became known as the Dartmouth Time-Sharing System (DTSS) -- was written in 1966-1968 for the GE-635 system.

Ten years later, in January, 1976, a Honeywell 66/40 replaced the GE-635. The 66/40 was upgraded, made approximately twice as fast, in September 1978. It is now referred to as a 66/DPS-3. In 1978, the operating system was renamed Dartmouth College Time Sharing (DCTS) when the rights to the abbreviation DTSS were sold to the Metropolitan Life Insurance Company.

In 1982, we acquired a Honeywell DPS 8/44 computer to run a second DCTS system. This and other computers, which have been added since 1979, are connected through special communications cabling and machinery known as the Kiewit Network. The other computers currently on the network include a Prime 750 which runs the PRIMOS operating system, two Vax 11/750s running UNIX (a trademark of Bell Laboratories), and a Vax 11/780 running the VMS operating system. The College's library catalogs are being placed on-line using one of the Vax 11/750s.

Documentation

Bitsavers archives a trove of DTSS manuals, including a System Programming Reference, describing the operating system interface. It also has Gordon Bull's 1980 book, The Dartmouth Time-Sharing System, with an extensive overview.