DEC TOPS-10
For background information on the PDP-10, see the previous article.
TOPS-10 (standing for either Time-sharing or Total Operating System-10) was DEC's first operating system for the PDP-10 family of computers. It grew out of the original Monitor for the PDP-6 released in 1964, with the TOPS-10 name coming with the launch of the PDP-10 in 1970. It received many updates adding new functionality and support for newer hardware, with the final release coming in 1988.
TOPS-10 drew influences from CTSS, such as project/programmer numbers to identify users and the load/save model for program images. In turn it influenced many later operating systems, both from DEC and elsewhere - its use of three letter file extensions and the / to introduce command line switches will be familiar to MS-DOS users.
Detail from the cover of the PDP-10 Time-sharing Handbook 1970. Source: Bitsavers
Versions
Phil Budne's guide to TOPS-10 evolution provides an overview of release dates and features for each version. Richard Cornwell's list of software kits shows what's available.
In thus series of blog posts we're going to focus on version 6.03 from 1977, running on the PDP-10 KA processor. We'll use Richard Cornwell's pdp10-ka simh emulator to run this.
TOPS-10 features
TOPS-10 has a resident supervisor which has a dual role: firstly, providing access to machine resources and scheduling tasks, similar to a kernel on Unix based OSs. Its second role is to provide the main interface to user via the command control language - similar to a shell, but with code shared by users. Scheduling was done via priority queues, with support for real-time jobs.
The system can swap jobs in and out of disk and share code segments between programs. The particular version we are looking at did not support virtual memory and paging, however.
Users are identified by a project/programmer pair of numbers - eg [10, 11] - and access to the system is controlled by a password for each user.
The file system can span multiple disks. Each user gets their own directory to store files, and can share files by granting access to them. It's also possible for users to create sub-directories.
Peripheral devices such as printers, tapes or punched can either by shared by all users, with spoolers running to marshal access, or can be allocated to a specific user via a command.
The core system provides a set of utilities to manage files - both by individual commands such as RENAME and the powerful PIP (peripheral interchange program). Several editors were provided, from the simple SOS to the more complex TECO. Compilers and interpreters were available for BASIC, Fortran, COBOL and many other languages.
The system has a batch facility that allows jobs to be run at the same time as time-sharing users are logged in.
Topics
In this series of blog posts I plan to cover
- A quick start guide to getting TOPS-10 running under emulation.
- Files and directories
- Advanced use of TOPS-10 commands
- PIP
- Editors: SOS and TECO
- System users and creating new users
- Getting data into and out of the system.
- Batch commands
- The operator's console
- Installing TOPS-10 from scratch
- Programming under TOPS-10
- A look at each programming language supported.
- The DECUS software collections
Further information
Bitsavers has a wide collection of documentation: see the TOPS10 and TOPS10 Software Notebooks directories. Note that these cover different versions of the operating system, so not all features may work - check the date on each manual. A good place to start is 1974's Introduction to DECsystem-10 Software.
Questions, corrections, comments
I welcome any questions or comments, and also especially any corrections if I have got something wrong. Please email me at [email protected] and I will add it here and update the main text.