TOPS-20: Difference between revisions
imported>Jojhutton |
imported>Dujo Move external link to reference |
||
| Line 29: | Line 29: | ||
|title=TOPS-20 Command manual | |title=TOPS-20 Command manual | ||
|date=September 1985 | |date=September 1985 | ||
|publisher=Digital Equipement Corporation}}</ref> | |publisher=Digital Equipement Corporation | ||
|access-date=2024-02-10 | |||
|archive-date=2024-06-16 | |||
|archive-url=https://web.archive.org/web/20240616125757/https://livingcomputers.org/UI/UserDocs/TOPS-20-v7-1/2_TOPS-20_Commands_Reference_Manual.pdf | |||
|url-status=dead | |||
}}</ref> | |||
TOPS-20 began in 1969 as the [[TENEX (operating system)|TENEX]] operating system of [[Bolt, Beranek and Newman]] (BBN) and shipped as a product by DEC starting in 1976.<ref name=TENXref>{{cite web|url=http://tenex.opost.com/hbook.html|title=Origins and Development of TOPS-20}}</ref> TOPS-20 is almost entirely unrelated to the similarly named [[TOPS-10]], but it was shipped with the PA1050 TOPS-10 Monitor Calls emulation facility which allowed most, but not all, TOPS-10 executables to run unchanged. As a matter of policy, DEC did not update PA1050 to support later TOPS-10 additions except where required by DEC software. | TOPS-20 began in 1969 as the [[TENEX (operating system)|TENEX]] operating system of [[Bolt, Beranek and Newman]] (BBN) and shipped as a product by DEC starting in 1976.<ref name=TENXref>{{cite web|url=http://tenex.opost.com/hbook.html|title=Origins and Development of TOPS-20}}</ref> TOPS-20 is almost entirely unrelated to the similarly named [[TOPS-10]], but it was shipped with the PA1050 TOPS-10 Monitor Calls emulation facility which allowed most, but not all, TOPS-10 executables to run unchanged. As a matter of policy, DEC did not update PA1050 to support later TOPS-10 additions except where required by DEC software. | ||
| Line 68: | Line 73: | ||
One could then type {{keypress|?}} to find out what operands were permitted/required. Pressing {{keypress|Ctrl|T}} displays [[Status key|status information]]. | One could then type {{keypress|?}} to find out what operands were permitted/required. Pressing {{keypress|Ctrl|T}} displays [[Status key|status information]]. | ||
===Available programming languages=== | |||
Some available programming languages were [[FORTRAN]], [[COBOL]], [[BASIC]], [[ALGOL]], [[CPL_(programming_language)|CPL]], and [[APL_(programming_language)|APL]].<ref>{{Cite web|url=http://www.vt100.net/timeline/1976.html|title=DIGITAL Computing Timeline|website=vt100.net}}</ref> | |||
===Commands=== | ===Commands=== | ||
| Line 213: | Line 220: | ||
==External links== | ==External links== | ||
* [http://tenex.opost.com/hbook.html Origins and Development of TOPS-20] is an excellent longer history. | * [http://tenex.opost.com/hbook.html Origins and Development of TOPS-20] is an excellent longer history. | ||
* [http://panda.trailing-edge.com Panda TOPS-20 distribution]. | * [http://panda.trailing-edge.com Panda TOPS-20 distribution]. | ||
| Line 221: | Line 227: | ||
* [http://pdp-10.trailing-edge.com PDP-10 Software Archive]. | * [http://pdp-10.trailing-edge.com PDP-10 Software Archive]. | ||
* [http://www.inwap.com/pdp10/ 36-bits Forever]. | * [http://www.inwap.com/pdp10/ 36-bits Forever]. | ||
* [https://livingcomputers.org/Computer-Collection/Online-Systems/Request-A-Login.aspx Request a login] to [[Living Computers: Museum + Labs]] TOAD-2 running TOPS-20. | * [https://livingcomputers.org/Computer-Collection/Online-Systems/Request-A-Login.aspx Request a login] {{Webarchive|url=https://web.archive.org/web/20200528215220/https://www.livingcomputers.org/Computer-Collection/Online-Systems/Request-A-Login.aspx |date=2020-05-28 }} to [[Living Computers: Museum + Labs]] TOAD-2 running TOPS-20. | ||
{{Digital Equipment Corporation}} | {{Digital Equipment Corporation}} | ||
Latest revision as of 17:52, 14 August 2025
Template:Short description Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters". The TOPS-20 operating system by Digital Equipment Corporation (DEC) is a proprietary[1] OS used on some of DEC's 36-bit mainframe computers. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC PDP-10 and the DECSYSTEM-20).[2]
TOPS-20 began in 1969 as the TENEX operating system of Bolt, Beranek and Newman (BBN) and shipped as a product by DEC starting in 1976.[3] TOPS-20 is almost entirely unrelated to the similarly named TOPS-10, but it was shipped with the PA1050 TOPS-10 Monitor Calls emulation facility which allowed most, but not all, TOPS-10 executables to run unchanged. As a matter of policy, DEC did not update PA1050 to support later TOPS-10 additions except where required by DEC software.
TOPS-20 competed with TOPS-10, ITS[4] and WAITS—all of which were notable time-sharing systems for the PDP-10 during this timeframe. TOPS-20 is informally known as TWENEX.[5]
TENEX
Script error: No such module "Labelled list hatnote". TOPS-20 was based upon the TENEX operating system, which had been created by Bolt Beranek and Newman for Digital's PDP-10 computer. After Digital started development of the KI-10 version of the PDP-10, an issue arose: by this point TENEX was the most popular customer-written PDP-10 operating systems, but it would not run on the new, faster KI-10s. To correct this problem, the DEC PDP-10 sales manager purchased the rights to TENEX from BBN and set up a project to port it to the new machine. In the end, very little of the original TENEX code remained, and Digital ultimately named the resulting operating system TOPS-20.
PA1050
Some of what came with TOPS-20 was merely an emulation of the TOPS-10 Operating System's calls. These were known as UUO's, standing for Unimplemented User Operation,[6] and were needed both for compilers, which were not 20-specific, to run, as well as user-programs written in these languages. The package that was mapped into a user's address space was named PA1050: PA as in PAT as in compatibility; 10 as in DEC or PDP 10; 50 as in a PDP 10 Model 50, 10/50, 1050.[7]
Sometimes PA1050 was referred to as PAT, a name that was a good fit to the fact that PA1050, "was simply unprivileged user-mode code" that "performed the requested action, using JSYS calls where necessary."[7]
TOPS-20 capabilities
The major ways to get at TOPS-20 capabilities, and what made TOPS-20 important, were
- Commands entered via the command processor, EXEC.EXE[2]
- JSYS (Jump to System) calls from MACro-language (.MAC) programs[8][9]
The "EXEC" accomplished its work primarily using
- internal code, including calls via JSYS
- requesting services from "GALAXY" components (e.g. spoolers)
Command processor
Rather advanced for its day were some TOPS-20-specific features:
- Command completion[3]
- Dynamic help in the form of
- noise-words - typing DIR and then pressing the ESCape key resulted in
- DIRectory (of files)
- typing Template:Keypress and pressing the Template:Keypress key resulted in
- Information (about)
One could then type Template:Keypress to find out what operands were permitted/required. Pressing Template:Keypress displays status information.
Available programming languages
Some available programming languages were FORTRAN, COBOL, BASIC, ALGOL, CPL, and APL.[10]
Commands
The following list of commands are supported by the TOPS-20 Command Processor.[2]
- ACCESS
- ADVISE
- APPEND
- ARCHIVE
- ASSIGN
- ATTACH
- BACKSPACE
- BLANK
- BREAK
- BUILD
- CANCEL
- CLOSE
- COMPILE
- CONNECT
- CONTINUE
- COPY
- CREATE
- CREF
- CSAVE
- DAYTIME
- DDT
- DEASSIGN
- DEBUG
- DEFINE
- DELETE
- DEPOSIT
- DETACH
- DIRECTORY
- DISABLE
- DISCARD
- DISMOUNT
- EDIT
- ENABLE
- END-ACCESS
- EOF
- ERUN
- EXAMINE
- EXECUTE
- EXPUNGE
- FDIRECTORY
- FORK
- FREEZE
- GET
- HELP
- INFORMATION
- KEEP
- LOAD
- LOGIN
- LOGOUT
- MERGE
- MODIFY
- MOUNT
- PERUSE
- PLOT
- POP
- PUNCH
- PUSH
- RECEIVE
- REENTER
- REFUSE
- REMARK
- RENAME
- RESET
- RETRIEVE
- REWIND
- RUN
- SAVE
- SEND
- SET
- SET HOST
- SKIP
- START
- SUBMIT
- SYSTAT
- TAKE
- TALK
- TDIRECTORY
- TERMINAL
- TRANSLATE
- TYPE
- UNATTACH
- UNDELETE
- UNKEEP
- UNLOAD
- VDIRECTORY
JSYS features
JSYS stands for Jump to SYStem.[11] Operands were at times memory addresses. "TOPS-20 allows you to use 18-bit or 30-bit addresses. Some monitor calls require one kind, some the other; some calls accept either kind. Some monitor calls use only 18 bits to hold an address. These calls interpret 18-bit addresses as locations in the current section."[2]
Internally, files were first identified, using a GTJFN (Get Job File Number) JSYS, and then that JFN number was used to open (OPENF) and manipulate the file's contents.
PCL (Programmable Command Language)
PCL (Programmable Command Language) is a programming language that runs under TOPS-20. PCL source programs are, by default, stored with Filetype .PCL, and enable extending the TOPS-20 EXEC via a verb named DECLARE. Newly compiled commands then become functionally part of the EXEC.[12][13][14][15]
PCL language features
PCL includes:[12]
- flow control: DO While/Until, CASE/SELECT, IF-THEN-ELSE, GOTO
- character string operations (length, substring, concatenation)
- access to system information (date/time, file attributes, device characteristics)
TOPS-20 today
Paul Allen maintained several publicly accessible historic computer systems before his death, including an XKL TOAD-2 running TOPS-20.
See also SDF Public Access Unix System.
See also
References
Further reading
- Storage Organization and Management in TENEX. Daniel L. Murphy. AFIPS Proceedings, 1972 FJCC.
- Implementation of TENEX on the KI10. Daniel L. Murphy. TENEX Panel Session, NCC 1974.
- "TOPS-20 User's Guide Template:Webarchive." 1988.
- "DECSYSTEM-20 Assembly Language Guide." Frank da Cruz and Chris Ryland, 1980.
- "Running TOPS-20 V4.1 under the SIMH Emulator."
External links
- Origins and Development of TOPS-20 is an excellent longer history.
- Panda TOPS-20 distribution.
- SDF Public Access TWENEX.
- SIMH Simulator capable of simulating the PDP-10 and running TOPS-20.
- Manuals for DEC 36-bit computers Template:Webarchive.
- PDP-10 Software Archive.
- 36-bits Forever.
- Request a login Template:Webarchive to Living Computers: Museum + Labs TOAD-2 running TOPS-20.
Template:Digital Equipment Corporation Template:Time-sharing operating systems
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b The 10/50 was the top-of-the-line KA machine at that time. Script error: No such module "citation/CS1". The family continued with another KA, the 10/55, and then came KI, KL & KS.
- ↑ The JSYS was the counterpart for the 20 of what was done by TOPS-10 on a "10" and thus the emulator for a DEC PDP-10 Model 50 was what PA1050 was emulating. The 10's system calls were known as UUO's
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".