TSS/8

TSS/8 is a discontinued time-sharing operating system co-written by Don Witcraft and John Everett at Digital Equipment Corporation in 1967. DEC also referred to it as Timeshared-8 and later the EduSystem 50.

The operating system runs on the 12-bit PDP-8 computer starting with the PDP-8I model and was released in 1968.

Authorship
TSS/8 was designed at Carnegie Mellon University with graduate student Adrian van de Goor, in reaction to the cost, performance, reliability, and complexity of IBM's TSS/360 (for their Model 67).

Don Witcraft wrote the TSS/8 scheduler, command decoder and UUO (Unimplemented User Operations) handler. John Everett wrote the disk handler, file system, TTY (teletypewriter) handler and 680-I service routine for TSS/8.

Roger Pyle and John Everett wrote the PDP-8 Disk Monitor System, and John Everett adapted PAL-III to make PAL-D for DMS. Bob Bowering, author of MACRO for the PDP-6 and PDP-10, wrote an expanded version, PAL-X, for TSS/8.

Architecture
This timesharing system is based on a protection architecture proposed by Adrian Van Der Goor, a grad student of Gordon Bell's at Carnegie-Mellon. It requires a minimum of 12K words of memory (8K for the operating system and 4K for the user swap area) and a swapping device; The standard swapping device, called a drum, was a disk drive with a head assigned to each track so there was no delay waiting for a read/write head to be repositioned on the drive. On a 24K word machine, it can give good support for its maximum of 16 users.

Each user gets a virtual 4K PDP-8; many of the utilities users run on these virtual machines are modified versions of utilities from the Disk Monitor System or paper-tape environments. Internally, TSS/8 consists of RMON, the resident monitor, DMON, the disk monitor (file system), and KMON, the keyboard monitor (command shell). BASIC is well supported, while restricted (4K) versions of FORTRAN D and Algol are available.

Like IBM's CALL/OS, it implements language variants:
 * FORTRAN-D can only access 2 data files at a time, and the entire program is MAIN: no subroutines.
 * BASIC-8 programs are limited to 350 lines, but "chaining" allows "programs of virtually any length." BASIC-8 is based on Dartmouth BASIC but lacks matrix operations, implicit declaration of small arrays, strings, ON-GOTO/GOSUB, TAB, and multiline DEF FN statements.
 * PAL-D (Program Assembly Language/Disk) allows the "full standard" but, like all TSS/8 programs, is restricted to 4K. Many programs designed to work on a stand-alone machine and manipulate hardware directly would still work on TSS-8 as it emulated many I/O requests internally.
 * ALGOL is implemented as a known standard subset, "IFIP Subset ALGOL 60."

It also supports DEC's FOCAL-8, which has been available from earlier PDP/8 models and it provides an algebraic language as well as a desk calculator mode.

Legacy
TSS/8 sold more than 100 copies.

Operating costs were about 1/20 of TSS/360. TSS/8 is also designed to be more cost-effective than the PDP-10 "for jobs with low computational requirements (like editing)".

The RSTS-11 operating system is a descendant of TSS/8.