Software:TOPS-20

From HandWiki
TOPS-20
TOPS-20.png
login
DeveloperDigital Equipment Corporation
Written inAssembly language
OS familyTENEX
Working stateDiscontinued
Initial release1976; 48 years ago (1976)
|Final release|Latest release}}7.1 / June 1988; 36 years ago (1988-06)
Marketing targetMainframe computers
Available inEnglish
PlatformsPDP-10
Default user interfaceCommand-line interface
LicenseProprietary
Preceded byTENEX

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.

TENEX

Main page: Software:TENEX (operating system)

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,[5] 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.[6]

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."[6]

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[7][8]

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:

  • noise-words - typing DIR and then pressing the ESCape key resulted in
DIRectory (of files)
typing and pressing the key resulted in
Information (about)

One could then type to find out what operands were permitted/required. Pressing displays status information.

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
  • PRINT
  • PUNCH
  • PUSH
  • R
  • 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.[9] 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.[10][11][12][13]

PCL language features

PCL includes:[10]

  • 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

  1. Richard Stallman (30 October 1986). "RMS lecture at KTH (Sweden)". https://www.gnu.org/philosophy/stallman-kth.html. 
  2. 2.0 2.1 2.2 2.3 "TOPS-20 Command manual". http://www.textfiles.com/bitsavers/pdf/dec/pdp10/TOPS20/V6.1/AA-FP65A-TM_tops20CmdsRef.pdf. 
  3. 3.0 3.1 "Origins and Development of TOPS-20". http://tenex.opost.com/hbook.html. 
  4. "ITS reference manual". https://dspace.mit.edu/bitstream/handle/1721.1/6165/AIM-161A.pdf. 
  5. "What does UUO mean in Software?". http://www.abbreviations.com/term/223192. 
  6. 6.0 6.1 The 10/50 was the top-of-the-line KA machine at that time. Dan Murphy (1989). "Origins and Development of TOPS-20". http://tenex.opost.com/hbook.html.  The family continued with another KA, the 10/55, and then came KI, KL & KS.
  7. 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
  8. "DECSYSTEM-20 Assembly Language Guide". 3 July 1980. http://www.columbia.edu/kermit/ftp/dec20/assembler-guide.txt. 
  9. "JSYS means Jump to System". https://www.allacronyms.com/JSYS/Jump_to_System. 
  10. 10.0 10.1 TOPS-20 Programmable Command Language / User's Guide and Reference Manual. Carnegie Mellon University Computation Center. 1981. 
  11. "Programmable Command Language". March 11, 2016. http://fileformats.archiveteam.org/wiki/Programmable_Command_Language. 
  12. R. J. Cohn (1988). "Programmable Command Languages for Window System". http://reports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-88-139.pdf. 
  13. "TOPS-20 Programmable Command Language". http://www.math.utah.edu/~bowman/pcl.txt. 

Further reading

External links