# TOPS-10

TOPS-10 (Timesharing / Total Operating System-10) was een besturingssysteem van Digital Equipment Corporation (DEC) voor hun lijn van mainframe-computers. Het systeem is voortgekomen uit de eerdere Monitor-software voor de PDP-6 en PDP-10 en werd in 1970 omgedoopt tot TOPS-10.

## Geschiedenis

De PDP-6 Monitor-software werd voor het eerst uitgebracht in 1964. Ondersteuning voor de KA10-processor van de PDP-10 werd in 1967 aan de Monitor-software toegevoegd in versie 2.18. De naam TOPS-10 werd voor het eerst gebruikt in 1970 voor versie 5.01.
TOPS-10 versie 6.01 uit mei 1974 was de eerste versie die virtueel geheugen implementeerde (demand paging), waardoor programma's groter dan het fysiek geheugen konden worden uitgevoerd.
Vanaf versie 7.00 uit 1972 was symmetric multiprocessing beschikbaar (in tegenstelling tot de eerder gebruikte master/slave-opstelling). Hierdoor konden verschillende PDP-10-computers gecombineerd worden tot een symmetrisch multiprocessorsysteem van maximaal 8 computers dat een ononderbroken werking garandeerde ondanks mogelijke hardware- of softwarefouten.
De laatste versie van TOPS-10 was versie 7.04 uit 1988.

## Kenmerken

TOPS-10 ondersteunt gedeeld geheugen en maakte de ontwikkeling mogelijk van een van de eerste echte multiplayer-computerspellen: DECWAR. Dit was een Star Trektekstspel waarbij gebruikers elkaar in realtime bevochten door opdrachten op terminals in te typen. TOPS-10 lag ook aan de basis van de originele Multi-User Dungeon MUD, de voorloper van de huidige MMORPG's.
Een andere baanbrekende applicatie heette FORUM, een voorloper van de latere chatrooms. Deze applicatie toonde het potentieel van communicatie tussen meerdere gebruikers en leidde tot de ontwikkeling van de chatapplicatie van CompuServe.
TOPS-10 heeft een zeer robuuste application programming interface (API) die gebruik maakt van een mechanisme dat UUO of Unimplemented User Operation wordt genoemd. UUO's implementeren oproepen van het besturingssysteem op een manier waardoor ze op machine-instructies lijken. De Monitor Call API was zijn tijd ver vooruit, zoals het grootste deel van het besturingssysteem, en maakte systeemprogrammering op DECsystem-10-systemen eenvoudig en krachtig.
De TOPS-10-scheduler ondersteunt prioriteitenwachtrijen en voegt elk proces toe aan de juiste wachtrij, afhankelijk van de prioriteit.

### Commando's

De volgende lijst van commando's wordt ondersteund door TOPS-10:
* ACCOUNT
* ALLOCATE
* ASSIGN
* ATTACH
* BACKSPACE
* BACKUP
* CANCEL
* CCONTINUE
* COMPILE
* CONTEXT
* CONTINUE
* COPY
* CORE
* CPUNCH
* CREATE
* CREDIR
* CREF
* CSTART
* D(eposit)
* DAYTIME
* DCORE
* DDT
* DEALLOCATE
* DEASSIGN
* DEBUG
* DECLARE
* DELETE
* DEPOSIT
* DETACH
* DIRECTORY
* DISABLE
* DISMOUNT
* DSK
* DUMP
* E(xamine)
* EDIT
* ENABLE
* EOF
* EXAMINE
* EXECUTE
* FILCOM
* FILE
* FINISH
* FUDGE
* GET
* GLOB
* HALT
* HELP
* INITIA
* JCONTINUE
* KJOB
* LABEL
* LIST
* LOAD
* LOCATE
* LOGIN
* MAIL
* MAKE
* MERGE
* MIC
* MOUNT
* NETWORK
* NODE
* NSAVE
* NSSAVE
* OPSER
* PASSWORD
* PJOB
* PLEASE
* PLOT
* POP
* PRESERVE
* PRINT
* PROTECT
* PUNCH
* PUSH
* QUEUE
* QUOLST
* R
* REASSIGN
* REATTACH
* REENTER
* RENAME
* RESOURCES
* REWIND
* RUN
* SAVE
* SSAVE
* SCHED
* SEND
* SESSION
* SET
* SHOW
* SKIP
* START
* SUBMIT
* SYSTAT
* TECO
* TIME
* TPUNCH
* TYPE
* UNLOAD
* USESTAT
* VERSION
* WHERE
* ZERO

### Software

De TOPS-10 assembler, MACRO-10, maakte deel uit van de TOPS-10-distributie.
De volgende programmeertalen werden als aparte producten aangeboden:
* ALGOL, als ALGOL-10 v10B, een compiler voor algemene toepassingen
* APL, als APL-SF V2, een interpreter voor wiskundige modellering
* BASIC, als BASIC-10 v17F, een interpreter voor algemene toepassingen
* BLISS, als BLISS-10 en BLISS-36, compilers voor het programmeren van systeemsoftware
* COBOL, als COBOL-68 en COBOL-74, compilers voor het programmeren van zakelijke toepassingen
* Fortran, als FORTRAN-10 v11, een compiler voor het programmeren van rekenkundige toepassingen
Daarnaast waren er nog een aantal bijkomende programmeertalen die door derden aangeboden werden, waaronder Forth, Lisp, Pascal, Simula, SNOBOL en BCPL.

## Nalatenschap

MS-DOS werd sterk beïnvloed door TOPS-10. Identieke elementen zijn onder meer bestandsextensies van drie tekens, verschillende standaardextensies (zoals .EXE en .TXT), de asterisk (*) als wildcard in zoekopdrachten, het gebruik van de schuine streep (/) om commando-opties aan te geven, enz.