TOPS-10

From Wikipedia, the free encyclopedia
Jump to: navigation, search
TOPS-10
Company / developer Digital Equipment Corporation
Written in MACRO-10, BLISS
OS family DEC OS family
Working state Discontinued
Latest release 7.04[1] / July 1988
Available in ?
Platforms PDP-10
Default user interface Command line interface
License Proprietary
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.

Overview[edit]

TOPS-10 supported shared memory and allowed the development of one of the first true multiplayer computer games. The game, called DECWAR,[2] 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.

Release history[edit]

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[1] in 1988.

TOPS-10 today[edit]

Hobbyists are now entitled to set up and use TOPS-10 under a Hobbyist's License.[3]

The easiest way for the hobbyist to run TOPS-10 is to acquire a suitable emulator[4][5] and an operating system image.[6] TOPS-10 may also be generated from archived original distribution "tapes".[7] [8]

Paul Allen maintains several publicly accessible historic computer systems, including a DECsystem-2065 running TOPS-10.[9]

Implemented programming languages[edit]

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
  • IMP72
  • Lisp, an interpreter used for AI programming
  • Pascal, a compiler used for computing education
  • PILOT
  • SAM76
  • Simula, a compiler used for modeling
  • SNOBOL, an interpreter used for string processing

Implemented user utilities[edit]

The following major user utilities were implemented on TOPS-10:

  • RMS (Records Management Services)
  • IQL (Interactive Query language)

Notable games implemented on TOPS-10[edit]

References[edit]