Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

RSTS/E

From Wikipedia, the free encyclopedia
Computer operating system
Operating system
RSTS
RSTS/E 10.1, running the DCL CLI
DeveloperDigital Equipment Corporation, laterMentec
Written inMACRO-11assembly language,BASIC-PLUS-2,DCL
Working stateNo development, still available
Source modelClosed source[1]
Initial release1970; 55 years ago (1970)
Latest releaseRSTS V10.1 / 1992; 33 years ago (1992)[2]
Available inEnglish
Update methodBinary patches, complete binaries
Package managerBACKUP
PlatformsPDP-11
Kernel typeTime-sharingoperating systems
Default
user interface
Command-line interface:DCL (Digital Command Language)
LicenseProprietary
Preceded byTSS/8

RSTS (/ˈrɪstɪs/) is amulti-usertime-sharingoperating system developed byDigital Equipment Corporation (DEC, now part ofHewlett-Packard) for thePDP-11 series of16-bitminicomputers. The first version of RSTS (RSTS-11,Version 1) was implemented in 1970 by DECsoftware engineers that developed theTSS-8 time-sharing operating system for thePDP-8. The last version of RSTS (RSTS/E,Version 10.1) was released in September 1992. RSTS-11 and RSTS/E are usually referred to just as "RSTS" and this article will generally use the shorter form. RSTS-11 supports the BASIC programming language, an extended version called BASIC-PLUS, developed under contract byEvans Griffiths & Hart of Boston.[3][4] Starting with RSTS/E version 5B, DEC added support for additional programming languages by emulating the execution environment of theRT-11 andRSX-11 operating systems.

Acronyms and abbreviations

[edit]
  • BTSS (Basic Time Sharing System – never marketed) – The first name for RSTS.[5]
  • CCL (Concise Command Language) – equivalent to a command to run a program kept in theCommand Line Interpreter.
  • CIL (Core Image Library) – A container file format used to hold one or more standalone (bootable) programs and operating systems, such as RSTS through version 6A.
  • CILUS (Core Image Library Update and Save) –DOS-11 program to manipulate a CIL file.[6]
  • CLI (Command Line Interpreter) – SeeCommand-line interface.
  • CUSPs (Commonly Used System Programs) – System management applications likeTask Manager orRegistry Editor onMicrosoft Windows.[7] On RSTS-11, CUSPs were written in BASIC-Plus just like user programs.
  • DCL (Digital Command Language) – SeeDIGITAL Command Language.
  • DTR (DATATRIEVE) – programming language
  • FIP (File Information Processing) – resident area for issuing file requests
  • FIRQB (File Information Request Queue Block) – A data structure containing information about file requests.[8]
  • KBM (Keyboard Monitor) – Analogous to Command Line Interpreter.
  • LAT (Local Area Transport) – Digital's predecessor toTCP/IP
  • MFD (Master File Directory) –Root directory of file system.[9]
  • PBS (Print Batch Services)
  • PIP (Peripheral Interchange Program)
  • PPN (Project Programmer Number) – Analogous toGID andUID in Unix.
  • RDC (Remote Diagnostics Console) – A replacement front panel for a PDP-11 which used a serial connection to the console terminal or a modem instead of lights and toggle switches to control the CPU.
  • RSTS-11 (Resource Sharing Time Sharing System) – The first commercial product name for RSTS
  • RSTS/E (Resource Sharing Timesharing System Extended) – The current implementation of RSTS.
  • RTS (Run Time System) – Read only segment of code provided by the supplier which would be mapped into the high end of a 32K, 16-bitword address space that a user program would use to interface with the operating system. Only one copy of an RTS would be loaded into RAM, but would be mapped into the address space of any user program that required it. In essence, shared, re-entrant code, to reduce RAM requirements, by sharing the code between any programs that required it.
  • RTSS (Resource Time Sharing System – never marketed) – The second name for RSTS
  • SATT (Storage Allocation Truth Table) a series of 512KB blocks on every disk that indicated if the block, or cluster, on the whole disk was allocated on the disk. Bitwise, a 1 indicated a cluster was in use; a 0 indicated it was not in use.
  • SIL (Save Image Library) – The OS container file format after the RSTS system generation procedure was switched from one using DOS-11 to one running natively on RSTS/E, called that by analogy to the CIL it replaced.
  • SILUS (Save Image Library Update and Save) – The program to create SIL files, called that by analogy to the (unrelated) DOS-11 CILUS program it replaced.
  • UFD (User File Directory) – A user'shome directory. Root directory of a file system.[9]
  • XRB (Transfer Request Block) – A data structure containing information about other types of system requests that do not use FIRQBs to convey the information

Development

[edit]

1970s

[edit]

Thekernel of RSTS wasprogrammed in theassembly languageMACRO-11,compiled andinstalled to adisk using theCILUSprogram, running on aDOS-11 operating system. RSTSbooted into an extended version of theBASIC programming language which DEC called "BASIC-PLUS". All of thesystem softwareCUSPS for the operating system, including the programs for resource accounting,login, logout, and managing the system, were written in BASIC-PLUS. From 1970 to 1973, RSTS ran in only56K bytes ofmagnetic core memory (64 kilobytes including thememory-mapped I/O space). This would allow a system to have up to 16terminals with a maximum of 17jobs. The maximum program size was 16K bytes.[10] By the end of 1973 DEC estimated there were 150licensed systems running RSTS.[11]

In 1973,memory management support was included in RSTS (now RSTS/E) for the newer DECPDP-11/40 andPDP-11/45 minicomputers (thePDP-11/20 was only supported under RSTS-11). The introduction of memory management in the newer PDP-11 computers not only meant these machines were able to address four times the amount of memory (18-bitaddressing, 256K bytes), it also paved the way for the developers to separateuser mode processes from the core of the kernel.

In 1975, memory management support was again updated for the newer 22-bit addressablePDP-11/70. RSTS systems could now be expanded to use as much as twomegabytes of memory running up to 63 jobs. TheRTS andCCL concepts were introduced although they had to be compiled in during "SYSGEN". Multi-terminal service was introduced which would allow a single job the ability to control multiple terminals (128 total). Large-message send/receive and interprocess communication became very sophisticated and efficient. By August there are 1,200 licensed systems.[11]

In 1977, the installation process for RSTS was no longer dependent on DOS-11. The RSTS kernel could now be compiled under theRT-11RTS, formatted as a kernel file with RT-11SILUS, andcopied to the system or other disks, while thecomputer was time-sharing. The BASIC-PLUSRTS (as well as RT-11,RSX-11,TECO and third partyRTSs) all ran as user mode processes, independent of the RSTS kernel. Asystems manager could now decide during the bootstrap phase whichRTS to run as the systems default Keyboard Monitor (KBM). By now, there were some 3,100 licensed systems.[11]

In 1978, the final memory management update was included for all machines that could support 22-bit addressing. RSTS could now use the maximum amount of memory available to a PDP-11 (4 megabytes). Support was also included for SUPERVISORY mode which made RSTS the first DEC operating system with this capability.DECnet was also supported as well as remote diagnostics from field service technicians at theRDC inColorado Springs, Colorado (a DEC subscription service). By the end of thedecade, there are over 5,000 licensed systems.[11]

1980s

[edit]

In 1981, support for separate instruction and data space for users withUnibus machines (PDP-11/44, PDP-11/45, PDP-11/55 and PDP-11/70) provided an extension to the memory constraints of an individual program. Compiling programs to use separate instruction and data space would soon give a program up to 64 KB for instructions, and up to 64 KB for buffering data. TheDCL RTS was included as well as support for the newer revision of DECnet III.

By 1983, with an estimated 15,000 DEC machines running RSTS/E,[3] V8.0-06 included support for the smallest 18-bit PDP-11 sold by DEC (the MicroPDP-11). A pre-generated kernel andCUSPS were included in this distribution to make installation on the MicroPDP-11 easier. DEC sold the pre-generated version on the MicroPDP-11 as MicroRSTS at a reduced price, however users needed to purchase the full version if they had a need to generate their own kernel. The file system was upgraded and given the designation RSTS Directory Structure 1 (RDS1).[12] All previous versions of the RSTS file system are given the designation RDS0.[13] The newer file system was designed to support more than 1700 user accounts.[14] "It is now thought that there are well over 10,000 licensed users and at least an equal number of unlicensed users!".[11]

From 1985 to 1989, RSTS became a mature product in theVersion 9 revisions.DCL was installed as the primaryRTS and the file system was again upgraded (now RDS1.2) to support new user account features. Passwords were encrypted using a modified DESalgorithm instead of limited to six (6) characters stored inDEC Radix-50 format. Before Version 9, there was a non-user system account in the project (group) zero (the designation is [0,1]), and all accounts in project number 1 were privileged (not unlike theroot account onUnix systems). With the release of Version 9, additional accounts could be created for project zero, and multiple privileges could be individually set for any account. Support for theLAT protocol was included, as well as the ability to run the newest version of DECnet IV. These network enhancements give any user connected to a terminal through aDECserver the ability to communicate with a RSTS machine, just as easily as with aVAX runningVMS. TheDCL command structure between DEC operating systems also contributed to the familiar look and feel:

This is not just another pseudo command file processor; it is based on VMS features. The DCL command file processor is fully supported and integrated in RSTS through extensive changes to DCL and the monitor. DCL executes command files as part of your job; therefore, no pseudo keyboard or forcing of commands to your keyboard is necessary (as with ATPK).[15]

1990s

[edit]

In 1994, DEC sold most of its PDP-11 software business toMentec.[16] Digital continued to support its own PDP-11 customers for a short period after with the assistance of Mentec staff.

In 1997, Digital and Mentec granted anyone wishing to use RSTS 9.6 or earlier for non-commercial, hobby purposes no-cost license. The license is only valid on theSIMH PDP-11 emulator. The license also covers some other Digital operating systems. Copies of the license are included in an authorized software kit available for download on the official website of theSIMH emulator.[17]

Documentation

[edit]

The standard complement of documentation manuals that accompanies a RSTS distribution consists of at least 11 large three-ring binders (collectively known as "The orange wall"), one small three-ring binder containing the RSTS/E Quick Reference Guide and a paperback copy ofIntroduction to BASIC AA-0155B-TK. Each of the 11 three-ring binders contains:

Example of a RSTS/E document shelf

Volume 1: General Information and Installation

  • Documentation Directory
  • Release Notes
  • Maintenance Notebook
  • System Installation and Update Guide

Volume 2: System Management

  • System Manager's Guide

Volume 3: System Usage

  • System User's Guide
  • Guide to Writing Command Procedures

Volume 4: Utilities

  • Utilities Reference Manual
  • Introduction to the EDT Editor
  • SORT/MERGE User's Guide
  • RUNOFF User's Guide

Volume 4A: Utilities

  • EDT Editor Manual

Volume 4B: Utilities

  • Task Builder Reference Manual
  • Programmer's Utilities Manual
  • RT11 Utilities Manual
  • TECO User's Guide

Volume 5: BASIC-PLUS

  • BASIC-PLUS Language Manual

Volume 6: System Programming

  • Programming Manual

Volume 7: MACRO Programming

  • System Directives Manual
  • ODT Reference Manual

Volume 7A: MACRO Programming

  • MACRO-11 Language Manual
  • RMS-11 MACRO Programmer's Guide

Volume 8: RMS [Record Management Services]

  • RMS-11: An Introduction
  • RMS11 User's Guide
  • RMS-11 Utilities

Operation

[edit]

Communication

[edit]

RSTS uses aserial communication connection to interact with the operator. The connection might be a localcomputer terminal with a 20 mAcurrent loop interface, anRS-232 interface (either localserial port or remote connection viamodem), or by anEthernet connection using DECnet or LAT. As many as 128 terminals (using multi-terminal service) can connect to a RSTS system, running a maximum of 63 jobs (depending on theprocessor being used, the amount of memory and disk space, and thesystem load). Most RSTS systems had far fewer terminals. Users can also submit jobs to be run inbatch mode. There is also a batch program called "ATPK" that allows users to run a series of commands on an imaginary terminal (pseudo-terminal) in semi-interactive mode similar to batch commands inMS-DOS.

Login [Project, Programmer]

[edit]

Users connect to the system by typing theLOGIN command (or HELLO) at a logged-out terminal and pressing return. Typing any command at a logged-out terminal starts the LOGIN program which then interprets the command. If it is one of the commands which were allowed to be used by a user that is not yet logged in ("Logged Out"), then the associated program for that command is CHAINed, otherwise the message "Please say HELLO" is printed on the terminal. Prior to Version 9, a user can also initiate a 1 line login, however this leaves the user's password on the screen for anyone else in the room to view (examples follow):

RSTS/E login and logout with BASIC as default RTS
ByeHELLO 1,1;SECRETReady

or

I 1,1;SECRETReady

or

LOGIN 1,1;SECRETReady

The status of a terminal can be determined from the command responses, printed by the command interpreter. A logged-in user communicating with the BASIC-PLUSKBM (key board monitor) is given the prompt "Ready" and a user who is logged out is given the prompt "Bye".

A user logs in by supplying theirPPN number and password. User numbers consist of a project number (equivalent to agroup number in Unix), a comma, and a programmer number. Both numbers are in the range of 0 to 254, with special exceptions. When specifying an account, the project and programmer number are enclosed in brackets. A typical user number can be [10,5] (project 10, programmer 5), [2,146], [254,31], or [200,220], etc. When a user is running a system program while logged out (because the system manager has enabled it) theirPPN number is [0,0], and appears in the SYSTATCUSP as **,**. Thus that is not a valid account number. If the user specifies a slash (/) instead of a comma between the project number and programmer number, a system wide message stored in [1,2]NOTICE.TXT (equivalent to the Unixmotd) will not be displayed at login.

System and user accounts

[edit]

In every project, the programmer number 0 is usually reserved to as a group account, as it can be referenced by the special symbol #. If one's user number is [20,103], a reference to a file name beginning with "#" refers to a file stored in the account of the user number [20,0]. This feature is useful in educational environments, as programmer number 0 can be issued to the instructor of a class, and the individual students given accounts with the same project number, and the instructor can store in his account files marked as shared only for that project number (which would be students in that class only, and no other).

Two special classes of project numbers exist. The project number 0 is generally reserved for system software, and prior to Version 9 there is only 1 project 0 account (named [0,1]). Programmers in the project number 1 are privileged accounts, equivalent to the single account "root" on Unix systems, except that the account numbers [1,0] through [1,254] are all privileged accounts. As of Version 9, any account can be granted specific privileges by the systems manager.

The account [0,1] is used to store the operating system file itself, all run-timelibrary systems, and certain system files relating to booting the system (author's comments appear on the right in bold):

DIR [0,1] Name .Ext    Size   Prot    Date       SY:[0,1]BADB  .SYS       0P  < 63> 06-Jun-98List of bad blocksSATT  .SYS       3CP < 63> 06-Jun-98Bitmap of allocated disk storageINIT  .SYS     419P  < 40> 06-Jun-98Operating system loader programERR   .ERR      16CP < 40> 06-Jun-98System error messagesRSTS  .SIL     307CP < 60> 06-Jun-98Operating system itselfBASIC .RTS      73CP < 60> 06-Jun-98BASIC-PLUS run time systemRT11  .RTS      20C  < 60> 06-Jun-98RT-11 run time systemSWAP  .SYS    1024CP < 63> 06-Jun-98Systemswap fileCRASH .SYS      35CP < 63> 06-Jun-98System crash dumpRSX   .RTS      16C  < 60> 23-Sep-79RSX-11 run-time systemTECO  .RTS      39C  < 60> 24-Sep-79TECO text editorTotal of 1952 blocks in 11 files in SY:[0,1](Editor's note: This directory listing is prior to Version 9.)

TheDIR command is an installed CCL equivalent to a RUN command for the DIRECT program. [0,1] is the account number (and directory name) of the operating system storage account. It would be referred to as "project number 0, programmer number 1".

The numbers shown after each file represent its size in disk blocks, a block being 512bytes or 1/2 kilobyte (K). "C" indicates the file is contiguous (is stored as one file without being separated into pieces, similar to files on aMicrosoft Windows system after a drive has beendefragmented), while "P" indicates it is specially protected (cannot be deleted, even by a privileged user, unless the P bit is cleared by separate command). The numbers in brackets (like "< 40>") represent the protections for the file, which is always displayed in decimal. Protections indicate if the file may be seen by any other user, by other users with the same programmer number, if the file is read only or if it may be altered by another user, and whether the file may be executed by an ordinary user giving them additional privileges. These protection codes are very similar to ther, w and x protections inUnix and similar operating systems such asBSD andLinux. Code 60 is equivalent to a private file, code 63 is a private non-deletable file, and 40 is a public file.

Library files are kept in account [1,1] and it is usually referenced by the logical name LB:. The account [1,2] is the system startup account (much like a Unix system starting up under root), and contains the systemCUSPS that could be referenced by prefixing theCUSP name with a dollar sign ($). "!" is used for account [1,3], "%" for [1,4] and "&" for [1,5]. The account [1,1] also had the special privilege of being the only account where a user logged in under that account is permitted to execute thePOKE system call to put values into any memory in the system. Thus the account number [1,1] is the closest equivalent to "root" on Unix-based systems.

Run-time environments

[edit]

One of the features of RSTS is the means for the execution of programs and the environment used to run them. The various environments allowed for programming in BASIC-PLUS, the enhanced and hard compiled BASIC-Plus-2, and in more traditional programming languages such asCOBOL (eventually upgraded to COBOL-85) andFORTRAN IV (eventually upgraded to FORTRAN-77). Other languages were supported such asDIBOL andMUMPS. These environments were separate from each other such that one could start a program from one environment and the system would switch to a different environment while running a different program, and then return the user to the original environment they started with. These environments were referred to as a Runtime System (RTS). The term for thecommand line interface that most of these RTSs had was theKBM. Prior to Version 9, the systems manager needed to define which RTS the system would start under, and it had to be one that would execute compiled programs.

A systems manager may also install specialCCL (concise command language) commands, which take precedence over all KBM commands (with the exception ofDCL). A CCL is analogous to a shortcut to a program on a Windows system or asymbolic link on Unix-based systems. CCLs are installed as amemory-resident command either during startup, or dynamically while the system is running by a system's manager (i.e.: it is not permanent like a disk file).

When logged in, a user can "SWITCH" to any of these environments, type language statements in the BASIC-PLUS programming language, issue RUN commands to specific programs, or issue a special command called aCCL to execute a program with command options.

Most RSTS systems managers generated the kernel to include the "Control-T" one line status option which could tell the user what program they were running, under whatRTS the program was using, how much memory the program was taking, how much it could expand to, and how much memory theRTS was using.

BASIC-PLUS

[edit]

Programs written inBASIC-PLUS ran under the BASICRTS, which allowed them up to 32K bytes of memory (out of 64K total). The language was interpreted, each different keyword being internally converted to a uniquebyte code and the variables and data being indexed and stored separately within the memory space. The internal byte-code format was known as PCODE. When the interactive SAVE command was issued, the BASIC PlusRTS simply saved the working memory area to a disk file with a ".BAC" extension. Although this format was undocumented, two Electronic Engineering undergraduates fromSouthampton University in the UK (Nick de Smith and David Garrod) developed adecompiler that couldreverse engineer BAC files into their original BASIC-Plus source, complete with original line numbers and variable names (both subsequently worked for DEC). The rest of the memory was used by the BASICRTS itself. If one wrote programs in a language that permitted true binary executables such as BASIC-Plus-2, FORTRAN-IV, or Macro Assembler, then the amount of memory available would be 56K (8K allocated to theRTS). The standard BASIC-PLUS prompt is the "Ready" response, pressingControl-T displays status (example):

newNew file name--HWORLDReady10Print"Hello World"20Input"Press Control-T for 1 line status: ";a$30EndrunHWORLD  10:17 PM        01-Jan-08Hello WorldPress Control-T for 1 line status: ?1       KB0     HWORLD+BASIC    KB(0R)  2(16)K+14K      0.2(+0.0) +0ReadysaveReadycompileReadyDIR HWORLD.*/na/ex/si/prSY:[1,2]HWORLD.BAS       1   < 60>HWORLD.BAC       7C  <124>Total of 8 blocks in 2 files in SY:[1,2]Ready

DCL (Digital Command Language)

[edit]

Starting with Version 9,DCL became the primary startupRTS even though it does not have the ability to execute binary programs. This became possible with the advent of the disappearing RSXRTS (see below).DCL was incorporated into all of the recent versions of DEC's operating systems (RSX-11, RT-11,VMS, and laterOpenVMS) for compatibility. The standardDCL prompt is the dollar "$" sign (example):

$write0"Hello World, it is "+F$TIME()Hello World, it is 01-Jan-08 10:20 PM$inquirep1"Press Control-T for 1 line status:"Press Control-T for 1 line status:1       KB0      DCL+DCL       KB(0R)       4(8)K+24K       0.1(+0.1) -8$setverify/debug/watch$showmemory(show memory)(SYSTAT/C)Memory allocation table: Start   End  Length  Permanent   Temporary   0K -   85K (  86K) MONITOR  86K - 1737K (1652K)   (User)1738K - 1747K (  10K)   (User)    DAPRES LIB1748K - 1751K (   4K)   (User)    RMSRES LIB1752K - 2043K ( 292K) ** XBUF **2044K -  *** END ***$

RSX (Realtime System eXecutive)

[edit]

Programs that were written for the RSXRTS such as COBOL, Macro Assembler, or later releases of BASIC-Plus-2, could use the maximum amount of memory available for a binary program (56K due to the requirements of anRTS needing the top 8K to use for itself). RSTS Version 7 and later allowed the RSXRTS to be included in the kernel, making it completely "disappear" from the user address space, thus allowing 64K bytes of memory for user programs.

Programs got around the limitations of the amount of available memory by using libraries (when permissible), by complicated overlay strategies, or by calling other programs ("Chaining") and passing them commands and data in a shared memory area called "Core Common," among other practices.

When RSX is the defaultKBM, the standard RSX prompt (both logged in and logged out) is the ">" (or MCR "Monitor Console Routine") sign (example):

>runPlease type HELLO>HELLO 1,1;SECRET>run?What?>helpValid keyboard commands are:ASSIGN    DISMOUNT  HELP      RUN     UNSAVEBYE       EXIT      MOUNT     SHUTUPDEASSIGN  HELLO     REASSIGN  SWITCH>run CSPCOMCSP>HWORLD=HWORLDCSP>^Z>RUN TKBTKB>HWORLD=HWORLD,LB:CSPCOM.OLB/LBTKB>//>run HWORLD.TSKHello WorldPress Control-T for 1 line status: ?1       KB0     HWORLD+...RSX   KB(0R)  7(32)K+0K       0.8(+0.2) +0>DIR HWORLD.*/na/ex/si/prSY:[1,2]HWORLD.BAS       1   < 60>HWORLD.BAC       7C  <124>HWORLD.OBJ       2   < 60>HWORLD.TSK      25C  <124>Total of 35 blocks in 4 files in SY:[1,2]>

RT-11

[edit]

The RT-11RTS emulated the Single Job version of the RT-11 distribution. Like the RSX emulation, RT-11 occupied the top 8K of memory, leaving the bottom 56K forCUSPS, programs written in FORTRAN-IV or Macro Assembler. When RT-11 is the defaultKBM, the standard RT-11 prompt (both logged in and logged out) is the "." sign (example):

.VERSIONPlease type HELLO.HELLO1,1;SECRET.VERSIONRT-11SJ V3-03; RSTS/E V8.0.RPIP*HWORLD.MAC=KB:        .MCALL .TTYIN,.PRINT,.EXITHWORLD: .ASCII /Hello World/<15><12>        .ASCIZ /Press Control-T for 1 line status:/        .EVENStart:  .PRINT #HWORLD        .TTYIN        .EXIT        .END    START^Z*^Z.RMACROHWORLD=HWORLD*^Z.RLINK*HWORLD=HWORLD*^Z.RHWORLD.SAVHello WorldPress Control-T for 1 line status:1       KB0     HWORLD+RT11     KB(0R)  2(28)K+4K       0.6(+0.2) +0..DIRHWORLD.*/na/ex/si/prSY:[1,2]HWORLD.BAS       1   < 60>HWORLD.BAC       7C  <124>HWORLD.TSK      25C  <124>HWORLD.MAC       1   < 60>HWORLD.OBJ       1   < 60>HWORLD.SAV       2C  <124>Total of 37 blocks in 6 files in SY:[1,2].

TECO (Text Editor and COrrector)

[edit]

TheTECO editor was itself implemented as an RTS to maximize the amount of memory available for the editing buffer, and also because it was first implemented in RSTS V5B, before the release of the general purpose runtime systems (RSX and RT11). TECO was the only RTS distributed with RSTS that did not contain a built-in KBM. The user would start up TECO (like any other program) by running a TECO program (TECO.TEC). TECO and the affine QEDIT were the direct ancestors of the first UNIX-based text editor, ED. Most RSTS systems used CCL's to create a file (MAKE filespec), edit a file (TECO filespec), or run a TECO program (MUNG filespec, data). The following program is an example of how TECO could be used to calculatepi (currently set to 20 digits):[18]

Readyrun TECO*GZ0J\UNQN"E 20UN 'BUH BUV HKQN< J BUQ QN*10/3UIQI< \ +2*10+(QQ*QI)UAB L K QI*2-1UJ QA/QJUQQA-(QQ*QJ)-2\ 10@I// -1%I >QQ/10UT QH+QT+48UW QW-58"E 48UW %V ' QV"N QV^T 'QWUV QQ-(QT*10)UH >QV^T @^A//HKEX$$31415926535897932384Ready

RSTS easter eggs

[edit]

System start-up (INIT.SYS)

[edit]

If a user typed an unrecognized command at system boot to the "Option:" prompt of INIT.SYS, the startup utility, the message "Type 'HELP' for help" was displayed. If the user subsequently typed 'HELP' (including the quotes) to the prompt, the response was "How amusing, anyway..." followed by the actual help message.

PDP-11 console lights

[edit]

A system manager could compile into the kernel a rotating display pattern that gave the illusion of two snakes chasing each other around the console lights. The normal kernel would give the illusion of one snake moving from right to left in the data lights across the bottom. If the system manager also compiled the "lights" object module the user would see an additional snake moving from left to right in the address lights across the top. This was accomplished by using supervisory mode in the versions prior to 9.0. RSX also had a similar display pattern that would appear as if two snakes were playing chicken and would run into each other in the center of the console.

Teco easter egg

[edit]

The command 'make' allowed a user to make a text file and automatically enter the TECO text editor. If a user typed 'make love', the system created a file called 'love' and typed back, 'Not War?'

Open Files List

[edit]

Kevin Herbert, later working for DEC, added an undocumented feature in the 90's to allow a user to enter^F to see a list of open files the user process had, complete with blocks in use and file sizes.

Stardate

[edit]

Beginning with version 9.0, anundocumented feature would allow the system manager to change the display of the system date. RSTS became the first operating system that would display the system date as a set of numbers representing astardate as commonly known from the TV seriesStar Trek.

Add-ons by other companies

[edit]

System Industries bought the only source license for RSTS to implement an enhancement calledSIMACS (SImultaneous Machine ACceSs), which allowed their special disk controller to set a semaphore flag for disk access, allowing multiple WRITES to the same files on a RSTS System where the disk is shared by multiple PDP-11 RSTS systems. This feature was implemented in System Industries controllers that were attached to many DEC computers and designed by Dr. Albert Chu while he worked at System Industries.

The main innovation was use of asemaphore, a flag to indicate which processor, by cooperative sharing, has exclusive write access.[19]

This required many changes to the way access to disks was accomplished by the RSTS operating system. The FIPS (File Information Processing System) system, that handled i/o access, was single-threaded in RSTS. To allow a disk access to stall while another machine had active access to a block, required that the FIPS could timeout a request, go to the next request and 'come back' to the stalled one in around robin fashion. The code to allow this was written by Philip Hunt while working at System Industries, inMilpitas, California. He eventually worked for Digital Equipment in the New England area in the late 1980s and early 1990s.

SIMACS[20] was not limited to thePDP-11 product line;VAXen could also use it.[19]

RSTS emulations

[edit]

ROSS/V

[edit]

In 1981, Evans Griffiths & Hart marketed theROSS/V product.ROSS/V allowed all user mode processes of RSTS (CUSPS,RTSs and user programs) the ability to run unmodified under VMS on the VAX-11 machines. The code for this emulation handled all of the kernel processes that would normally be handled by a RSTS kernel running on a PDP-11. The original BASIC-PLUS language that has carried through all versions of RSTS was subcontracted by Evans Griffiths & Hart, Inc. for a fixed price of $10,500.[21]

Other PDP-11 emulators

[edit]

RSTS and its applications can run under a number of PDP-11 emulators such asSIMH andErsatz-11. For more information, seePDP-11.

RSTS mascot

[edit]

Spike and Albert

[edit]

Versions

[edit]

RSTS was originally calledBTSS (Basic Time Sharing System). Before shipment began, the name was changed from BTSS to RTSS because a product called BTSS was already being marketed byHoneywell. A simple typing mistake changed the name from RTSS to RSTS.[21]

VersionRelease dateNotes
1Never released
2A-191971Installed atCarleton College andSeattle Pacific College.
2BJune 1971Installed at the Delaware School Auxiliary Association.[22]
2COctober 1971Enhanced software support (record I/O)
3A-19January 1972
3BMay 1972
3CJune 1972Enhanced software support (UPDATE mode)
4A-12October 1972New hardware supported.
4BJuly 1975A patched version of V4A with no new features

The addition of new memory management support and the ability to install more memory in the PDP-11/40 and PDP-11/45 led to another name change: RSTS-11 now became RSTS/E.

VersionRelease dateNotes
5A-21July 1973Memory management extensions from 64KB to 256KB.
5B-24November 1974Multiple SWAP files, RTS and CCL introduced.
5C-01March 1975A patched version of V5B with no new features.
6A-02August 1975New hardware, 22 bit addressing (2 MB), 63 jobs.
6B-02February 1977New hardware, SYSGEN under RT-11, CCL at runtime.
6C-03February 1978DECnet Phase II, DTR, DIBOL supported. SUPERVISOR mode.
7.0August 1978New hardware, (4 MB), RDC support.
7.1February 1981Kernel mode Instruction & Data space support, DECnet Phase III.
7.2August 1982New hardware (UDA50 drives).
8.0-06April 1983New hardware (MicroPDP-11).
9.0-14May 1985New hardware, DCL default, PBS, multiple privs,hashed passwords, new Backup utility, and Stardate.
9.1-05October 1985Enhanced hardware support, multi-threaded FIP, LOAD INDEX.
9.2-10June 1986New hardware supported.
9.3-20January 1987Enhanced hardware support, DECnet Phase IV.
9.4July 1987New hardware, Scheduler and Terminal Service improvements.
9.5-08December 1987Clustersize increased to 64, BACKUP/DIR added.
9.6September 1988LAT support, HELP SPIKE.
9.7July 1989New hardware, DV0: at runtime, ANSI PDP-11C available.
10.0May 1990Command line history in TTDRV.
10.1September 1992Y2K fixes.

Clones in the USSR

[edit]

Applications

[edit]

Computerbureaus sometimes deployed User-11 for RSTS/E-baseddata management.[23]

See also

[edit]

References

[edit]
  1. ^"Index of /Bits/DEC/Pdp11/RSTS".
  2. ^"Mentec - RSTS/E Version 10.1 Internals and Data Structures Manual". RetrievedNovember 7, 2017.
  3. ^abFleig, Clare P. (March 1983). "Evans, Griffiths & Hart".Hardcopy. pp. 51–54.
  4. ^"EGH Company History".
  5. ^"RSTS 80th Birthday".
  6. ^RSTS-11 System Manager Guide. Maynard, MA: Digital Equipment Corporation. January 1973.
  7. ^ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V07.2/AA-5246E-TC_RSTS_E_V7.2_Release_Notes_Jun82.pdf
  8. ^ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V09/7_MACRO_Programming/AA-EZ10A-TC_RSTS_E_V9.0_System_Directives_Manual_Jun85.pdf
  9. ^abRSTS/E System Manager Guide(PDF). Maynard, MA: Digital Equipment Corportation. July 1989.
  10. ^Dick, P: "The History of RSTS: An Addendum", page 25. "The VAX/RSTS Professional Magazine" February 1, 1984, Vol 6, No 1, ISSN 0746-1909
  11. ^abcdeDick, P.: "The History of RSTS", pp. 24–26. "The RSTS Professional Magazine" June 1, 1983, Vol 5, No 3, ISSN 0745-2888
  12. ^Mayfield, M: "RSTS/E Monitor Internals", pages 1–9.
  13. ^Mayfield, M.: "RSTS/E Monitor Internals", pages 1–4.
  14. ^Marbach, C.: "RSTS and the Micro-11", p. 50. "The VAX/RSTS Professional Magazine" August 1, 1983, Vol 5, No 4, ISSN 0745-2888
  15. ^Romanello, G.: "A Preview of RSTS/E Version 9.0", p. 28. "The VAX/RSTS Professional Magazine" December 1, 1984, Vol 6, No 6, ISSN 0746-1909
  16. ^"PDP-11 RSX RT RSTS Emulator Osprey Charon".archive.org. August 13, 2006. Archived fromthe original on August 13, 2006. RetrievedDecember 26, 2016.
  17. ^See for example this image of RSTS/E 7.0 installation tapes:http://simh.trailing-edge.com/kits/rstsv7gen.tar.Z
  18. ^Greenspon, M.: "The RSTS Crystal Ball – Part 3", p. 12.The RSTS Professional Magazine, October 1, 1982, Vol 4, No 5
  19. ^abJoshi, Prem; Delacroix, Jacques (September 1984). "New Flexibility For Multiple VAX/VMS".HARDCOPY. pp. 64–68.
  20. ^"Burton Grad Associates"(PDF). March 27, 1986.SIMACS (System Industries Multiple Access Control System)
  21. ^ab"RSTS 80th Birthday".silverware.co.uk. RetrievedDecember 26, 2016.
  22. ^"Teresa Green's memoir of DELTA".
  23. ^"Productivity Aid Replaces Bureau's Cobol Code".Computerworld: 40. 1983-07-18. Retrieved2011-12-26.User-11 [...] a data management system for (DEC) PDP-11s running under the RSTS/E operating system [...]

External links

[edit]
Key people
Instruction set
architectures
,
processors
PDP-11
VAX
Alpha
Other
Computer
terminals
Operating
systems
Programming
languages
Character sets
Bus standards
Otherhardware
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=RSTS/E&oldid=1263767130"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp