|Company / developer||Digital Equipment Corporation|
|Programmed in||MACRO-10, BLISS|
|OS family||DEC OS family|
|Latest stable release||7.04 / July 1988|
|Available programming languages(s)||APL, ALGOL, BASIC, BLISS, COBOL, Fortran, MACRO-10|
|Default user interface||Command line interface|
Free for personal use
The TOPS-10 System (Timesharing / Total OPerating System) was a computer operating system from Digital Equipment Corporation (DEC) for the PDP-10 (or DECsystem-10) mainframe computer launched in 1967. TOPS-10 evolved from the earlier "Monitor" software for the PDP-6 and -10 computers; this was renamed TOPS-10 in 1970.
TOPS-10 supported shared memory and allowed the development of one of the first true multiplayer computer games. The game, called DECWAR, was a text-oriented Star Trek type game. Users at terminals typed in commands and fought each other in real time.
Another groundbreaking application was called FORUM. This application was perhaps the first so-called CB Simulator that allowed users to converse with one another in what is now known as a chat room. This application showed the potential of multiuser communication and led to the development of CompuServe's chat application.
TOPS-10 had a very robust application programming interface (API) that used a mechanism called a UUO or Unimplemented User Operation. UUOs implemented operating system calls in a way that made them look like machine instructions. The Monitor Call API was very much ahead of its time, like most of the operating system, and made system programming on DECsystem-10s simple and powerful.
The TOPS-10 scheduler supported many run queues, and inserted processes into the queue depending on process priority. The system also included User file and Device independence.
The first release of the PDP-6 Monitor software was in 1964. Support for the PDP-10's KA10 processor was added to the Monitor in release 2.18 in 1967. The TOPS-10 name was first used in 1970 for release 5.01. Release 6.01 (May 1974) was the first TOPS-10 to implement Virtual Memory (demand paging) enabling programs larger than physical memory to be run. From release 7.00 onwards symmetrical multiprocessing was available (as opposed to the master - slave concept used before). The final release of TOPS-10 was 7.04 in 1988.
Hobbyists are now entitled to set up and use TOPS-10 under a Hobbyist's License.
The easiest way for the hobbyist to run TOPS-10 is to acquire a suitable emulator and an operating system image. TOPS-10 may also be generated from archived original distribution "tapes". 
Implemented programming languages
The TOPS-10 assembler, MACRO-10, was bundled with the TOPS-10 distribution.
The following programming languages were implemented on TOPS-10 as layered products:
- ALGOL, as ALGOL-10 v10B, a compiler used for general computing
- APL, as APL-SF V2, an interpreter used for mathematical modelling
- BASIC, as BASIC-10 v17F, an interpreter used for general computing
- BLISS, as BLISS-10 and BLISS-36, compilers used for systems programming
- COBOL, as COBOL-68 and COBOL-74, compilers used for business computing
- Fortran, as FORTRAN-10 v11, a compiler used for numerical computing
The following programming languages were implemented on TOPS-10 as contributions from DECUS members:
- FOCAL, as FOCAL-10
- Forth, a threaded interpreted language
- Lisp, an interpreter used for AI programming
- Pascal, a compiler used for computing education
- Simula, a compiler used for modeling
- SNOBOL, an interpreter used for string processing
Implemented user utilities
The following major user utilities were implemented on TOPS-10:
Notable games implemented on TOPS-10
- DECWAR, as noted above
- FORUM, as noted above
- HAUNT, an early role-playing game
- Mac Hack, a chess program by Richard Greenblatt
- "TOPS-10 Release History". Retrieved 10 January 2014.
- http://hsnewman.freeshell.org/decwar.htm The Decwar Page
- Home hobbyist license for Digital's 36b software
- The Computer History Simulation Project
- KLH10 PDP-10 Emulator
- TOPS-10 pre-built image
- PDP-10 software archive
- Notes on DEC PDP-10 Emulation
- CLASSIC COMPUTING