Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
TOPS-20
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Operating system by Digital Equipment Corporation}} {{Infobox OS | name = TOPS-20 | logo = | screenshot = TOPS-20.png | caption = login | developer = [[Digital Equipment Corporation]] | source_model = | kernel_type = | supported_platforms = [[PDP-10]] | released = {{Start date and age|1976}} | latest_release_version = 7.1 | latest_release_date = {{Start date and age|1988|06}} | marketing_target = [[Mainframe computer]]s | programmed_in = [[Assembly language]] | language = [[English language|English]] | updatemodel = | package_manager = | working_state = Discontinued | ui = [[Command-line interface]] | license = [[Proprietary software|Proprietary]] | preceded by = [[TENEX (operating system)|TENEX]] | succeeded by = | website = | family = [[TENEX (operating system)|TENEX]] }} The '''TOPS-20''' [[operating system]] by [[Digital Equipment Corporation]] (DEC) was a proprietary<ref>{{cite web|url=https://www.gnu.org/philosophy/stallman-kth.html|title=RMS lecture at KTH (Sweden)|date=30 October 1986|author=Richard Stallman}}</ref> OS used on some of DEC's 36-bit [[mainframe computer]]s. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC [[PDP-10]] and the [[DECSYSTEM-20]]).<ref name=CMDref>{{cite web |url=https://livingcomputers.org/UI/UserDocs/TOPS-20-v7-1/2_TOPS-20_Commands_Reference_Manual.pdf |title=TOPS-20 Command manual |date=September 1985 |publisher=Digital Equipement Corporation}}</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 competed with TOPS-10, [[Incompatible Timesharing System|ITS]]<ref>{{cite web |url=https://dspace.mit.edu/bitstream/handle/1721.1/6165/AIM-161A.pdf |title=ITS reference manual }}</ref> and [[WAITS]]βall of which were [[Time-sharing#Notable time-sharing systems|notable time-sharing systems]] for the [[PDP-10]] during this timeframe. TOPS-20 is informally known as TWENEX.<ref>{{cite web|url=http://www.catb.org/jargon/html/T/TWENEX.html|title=TWENEX|website=The Jargon File}}</ref> ==TENEX== {{Main|TENEX (operating system)}} TOPS-20 was based upon the [[TENEX (operating system)|TENEX]] operating system, which had been created by [[BBN Technologies|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,<ref>{{cite web |url=http://www.abbreviations.com/term/223192 |title=What does UUO mean in Software? |website=abbreviations.com}}</ref> 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.<ref name=JSYS104>The 10/50 was the top-of-the-line KA machine at that time. {{cite web |url=http://tenex.opost.com/hbook.html |title=Origins and Development of TOPS-20 |author=Dan Murphy |date=1989}} The family continued with another KA, the 10/55, and then came KI, KL & KS.</ref> 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."<ref name=JSYS104 /> ==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<ref name=CMDref /> * JSYS (Jump to System) calls from MACro-language (.MAC) programs<ref>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</ref><ref>{{cite web| url=http://www.columbia.edu/kermit/ftp/dec20/assembler-guide.txt |title= DECSYSTEM-20 Assembly Language Guide |date=3 July 1980 |website=The Kermit Project}}</ref> 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-line completion|Command completion]]<ref name=TENXref /> * Dynamic help in the form of :*''noise-words'' - typing DIR and then pressing the ESCape key resulted in ::::DIRectory (of files) ::typing {{keypress|I}} and pressing the {{keypress|Esc}} key resulted in :::: Information (about) One could then type {{keypress|?}} to find out what operands were permitted/required. Pressing {{keypress|Ctrl|T}} displays [[Status key|status information]]. ===Commands=== The following list of [[command (computing)|commands]] are supported by the TOPS-20 Command Processor.<ref name=CMDref /> {{div col|colwidth=9em}} * ACCESS * ADVISE * [[append|APPEND]] * ARCHIVE * ASSIGN * ATTACH * BACKSPACE * BLANK * BREAK * BUILD * CANCEL * CLOSE * COMPILE * CONNECT * CONTINUE * [[copy (command)|COPY]] * CREATE * CREF * CSAVE * DAYTIME * [[Dynamic debugging technique|DDT]] * DEASSIGN * [[debug (command)|DEBUG]] * DEFINE * [[del (command)|DELETE]] * DEPOSIT * DETACH * [[dir (command)|DIRECTORY]] * DISABLE * DISCARD * DISMOUNT * EDIT * ENABLE * END-ACCESS * EOF * ERUN * EXAMINE * EXECUTE * EXPUNGE * FDIRECTORY * FORK * FREEZE * GET * [[help (command)|HELP]] * INFORMATION * KEEP * LOAD * [[Login|LOGIN]] * LOGOUT * MERGE * MODIFY * [[Mount (computing)|MOUNT]] * PERUSE * PLOT * POP * [[print (command)|PRINT]] * PUNCH * PUSH * RECEIVE * REENTER * REFUSE * [[Comment (computer programming)|REMARK]] * [[ren (command)|RENAME]] * RESET * RETRIEVE * REWIND * [[Run command|RUN]] * SAVE * SEND * SET * SET HOST * SKIP * [[start (command)|START]] * SUBMIT * SYSTAT * TAKE * TALK * TDIRECTORY * TERMINAL * TRANSLATE * [[TYPE (DOS command)|TYPE]] * UNATTACH * [[Undeletion|UNDELETE]] * UNKEEP * UNLOAD * VDIRECTORY {{div col end}} ===JSYS features=== JSYS stands for '''J'''ump to '''SYS'''tem.<ref>{{cite news |url=https://www.allacronyms.com/JSYS/Jump_to_System |title=JSYS means Jump to System |newspaper=All Acronyms}}</ref> 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."<ref name=CMDref /> 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.<ref name=PCLman>{{cite book |title=TOPS-20 Programmable Command Language / User's Guide and Reference Manual |publisher=Carnegie Mellon University Computation Center |year=1981}}</ref><ref>{{cite web |url=http://fileformats.archiveteam.org/wiki/Programmable_Command_Language |title=Programmable Command Language |website=fileformats.archiveteam.org |date=March 11, 2016}}</ref><ref>{{cite web |url=http://reports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-88-139.pdf |title=Programmable Command Languages for Window System |author=R. J. Cohn |year=1988 |archive-url=https://web.archive.org/web/20030926230320/http://reports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-88-139.pdf |archive-date=2003-09-26}}</ref><ref>{{cite web |url=http://www.math.utah.edu/~bowman/pcl.txt |title=TOPS-20 Programmable Command Language |author=Ray Scott |date=12 January 1983 |archive-url=https://web.archive.org/web/20081007044359/http://www.math.utah.edu/~bowman/pcl.txt |archive-date=2008-10-07}}</ref> ===PCL language features=== PCL includes:<ref name=PCLman/> * 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== * [[Time-sharing system evolution]] ==References== {{Reflist}} ==Further reading== * ''[http://tenex.opost.com/fjcc72/ 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. * "[http://tilt.twenex.org TOPS-20 User's Guide] {{Webarchive|url=https://web.archive.org/web/20140107050623/http://tilt.twenex.org/ |date=2014-01-07 }}." 1988. * "[http://www.columbia.edu/kermit/ftp/dec20/assembler-guide.txt DECSYSTEM-20 Assembly Language Guide]." Frank da Cruz and Chris Ryland, 1980. * "[http://gunkies.org/wiki/Running_TOPS-20_V4.1_under_SIMH Running TOPS-20 V4.1 under the SIMH Emulator]." ==External links== * [http://www.vt100.net/timeline/1976.html DIGITAL Computing Timeline] * [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://www.twenex.org SDF Public Access TWENEX]. * [http://simh.trailing-edge.com SIMH Simulator] capable of simulating the PDP-10 and running TOPS-20. * [http://www.36bit.org/dec/manual/ Manuals for DEC 36-bit computers] {{Webarchive|url=https://web.archive.org/web/20140302093233/http://www.36bit.org/dec/manual/ |date=2014-03-02 }}. * [http://pdp-10.trailing-edge.com PDP-10 Software Archive]. * [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. {{Digital Equipment Corporation}} {{Time-sharing operating systems}} [[Category:DEC operating systems]] [[Category:Time-sharing operating systems]] [[Category:1969 software]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Cite book
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Digital Equipment Corporation
(
edit
)
Template:Div col
(
edit
)
Template:Div col end
(
edit
)
Template:Infobox OS
(
edit
)
Template:Keypress
(
edit
)
Template:Main
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Time-sharing operating systems
(
edit
)
Template:Webarchive
(
edit
)
Search
Search
Editing
TOPS-20
Add topic