RSTS/E

INTRODUCTION

RSTS/E (Resource Sharing Time Sharing Extended) was a multi-user, time-sharing operating system developed by Digital Equipment Corporation (DEC) for its 16-bit PDP-11 minicomputers in the 1970s and 1980s. RSTS/E was “born” on 11th June 1970 as shown when you enter DATE$(1%) with Star Date format selected. It was widely used by a diverse range of clients, primarily in commercial business, education, engineering, and government sectors. It was popular for general-purpose time-sharing and applications such as; accounting, order processing, and scientific computing. RSTS/E was a strong choice for businesses due to its support for commercial languages such as DIBOL, COBOL, and BASIC-PLUS-2. Early commercial users included: Prudential, Continental Can, Reynolds & Reynolds and Missouri Pacific Railway.

Design Characteristics

  • Multi-user and time-sharing: RSTS/E was designed to allow many users to work on the same computer simultaneously from different terminals. The system would "time-share" the central processor among multiple jobs, giving each user the illusion of dedicated computing resources.
  • Target hardware: The operating system ran on DEC's PDP-11 series of minicomputers from the small MicroPDP-11 to the more powerful PDP-11/70. RSTS/E required memory management hardware to separate user processes from the kernel.
  • Language-centric design: RSTS/E was built around DEC's own extended version of the BASIC programming language; BASIC-PLUS. Most of the system's management tools and utilities were also written in BASIC-PLUS.
  • Run-time systems (RTS): A key feature of RSTS/E was its use of separate run-time systems, which allowed it to support multiple programming languages. These re-entrant code segments were loaded into memory once and shared by all user programs that needed them, saving precious memory. This included support for environments that could run programs written for other DEC operating systems, such as RT-11 and RSX-11.

User interface

  • BASIC-PLUS Monitor: In its early versions, the primary CLI was the BASIC-PLUS run-time system, which used a "Ready" prompt for logged-in users.
  • DCL: Later versions of RSTS/E adopted the Digital Command Language (DCL), which was also used by DEC's RSX-11 and the VAX/VMS operating systems. Starting with Version 9, DCL became the primary startup RTS. This became possible with the advent of the disappearing RSX RTS. DCL was incorporated into all of the recent versions of DEC's operating systems (RSX-11, RT-11, VMS, and later OpenVMS) for compatibility. The standard DCL prompt is the dollar "$" sign. DCL provided a more standardized and powerful command environment for batch processing and interactive use.
  • Concise Command Language (CCL): System managers could install "shortcuts," known as CCLs, to map custom commands to programs.

Communications

RSTS uses a serial communication connection to interact with the operator. The connection might be a local computer terminal with a 20 mA current loop interface, an RS-232 interface (either local serial port or remote connection via modem), or by an Ethernet connection using DECnet o As many as 128 terminals (using multi-terminal service) can connect to a RSTS system, running a maximum of 63 jobs (depending on the processor being used, the amount of memory and disk space, and the system load).

Most RSTS systems had far fewer terminals. Users can also submit jobs to be run in batch 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 in MS-DOS.

Programming Languages

A wide range of programming languages were available, including BASIC-PLUS, FORTRAN IV, COBOL, and RPG II, making it adaptable to different needs.

Account and File Structure

  • User numbers: User accounts were identified by a Project/Programmer Number (PPN) in the format [project, programmer], similar to a Unix group and user system. Special accounts, such as [0,1], were reserved for system files and libraries.
  • File protection: The file system included protection codes to manage access rights for users and groups, with features comparable to the read, write, and execute permissions of Unix.
  • File types: RSTS/E had several file types, including Contiguous (C) and Protected (P) files, with the operating system itself residing in a "Save Image Library" or .SIL file.

Commands

  • File and Directory Management
    • CATALOG or CAT: Displays a list of files and directories in the current account.
    • DELETE or DEL: Removes (deletes) a specified file.
    • LIST or LIS: Displays the contents of a source file (typically a program) on the screen or printer.
    • NAME (as in NAME oldfile AS newfile): Renames a file.
    • OLD: Recalls a previously saved program into memory for editing or execution.
    • SAVE: Stores the current program from memory to a file on disk.
    • UNSAVE: Deletes the currently loaded program from memory and disk.
    • TYPE: Displays the contents of a file (like a text file) on the terminal.
  • Program Execution and Development
    • COMPILE: Compiles a source program into an executable format.
    • RUN: Executes a compiled or loaded program.
    • START: Begins the execution of a program at a specified line number.
    • STOP: Terminates the execution of the current program.
  • System and User Status
    • SHOW SYSTEM: Displays general information about the system status.
    • SHOW USER: Shows information about the current user's active session.
    • SHOW JOB: Provides details about the current job or process.
    • TIME: Displays the current system date and time.
    • HELP: Provides information about the commands themselves.

RSTS Development Timeline

The kernel of RSTS was programmed in the assembly language MACRO-11, compiled and installed to a disk using the CILUS program, running on a DOS-11 operating system. RSTS booted into an extended version of the BASIC programming language which DEC called "BASIC-PLUS". All of the system software CUSPS 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 only 56K bytes of magnetic core memory (64 kilobytes including the memory-mapped I/O space). This would allow a system to have up to 16 terminals with a maximum of 17 jobs. The maximum program size was 16K bytes. By the end of 1973 DEC estimated there were 150 licensed systems running RSTS.

In 1973, memory management support was included in RSTS (now RSTS/E) for the newer DEC PDP-11/40 and PDP-11/45 minicomputers (the PDP-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-bit addressing, 256K bytes), it also paved the way for the developers to separate user mode processes from the core of the kernel.

In 1975, memory management support was again updated for the newer 22-bit addressable PDP-11/70. RSTS systems could now be expanded to use as much as two megabytes of memory running up to 63 jobs. The RTS and CCL 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.

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

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 the RDC in Colorado Springs, Colorado (a DEC subscription service). By the end of the decade, there are over 5,000 licensed systems.

In 1981, support for separate instruction and data space for users with Unibus 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. The DCL 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, V8.0-06 included support for the smallest 18-bit PDP-11 sold by DEC (the MicroPDP-11). A pre-generated kernel and CUSPS 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). All previous versions of the RSTS file system are given the designation RDS0. The newer file system was designed to support more than 1700 user accounts.

From 1985 to 1989, RSTS became a mature product in the Version 9 revisions. DCL was installed as the primary RTS and the file system was again upgraded (now RDS1.2) to support new user account features. Passwords were encrypted using a modified DES algorithm instead of limited to six characters stored in DEC 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 the root account on Unix 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 the LAT 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 a DECserver the ability to communicate with a RSTS machine, just as easily as with a VAX running VMS.

The DCL 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).

Decline

RSTS/E was extremely popular in the 1970s and 1980s, especially for educational institutions and small businesses. Its use declined due to the rise of less-expensive microcomputers and DEC's shift in focus to its more powerful VAX line of superminicomputers.

Legacy

In 1994, DEC sold most of its PDP-11 software business to Mentec. Digital continued to support its own PDP-11 customers for a short period after with the assistance of Mentec staff. The last official release was in 1992 (RSTS/E, Version 10.1), with a final update in 1998 for Year 2000 (Y2K) fixes.

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 the SIMH 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 the SIMH emulator.

Today, RSTS/E is primarily used by hobbyists on software emulators, which can run the system on modern computers.

Guides

Document Name Order Part No. Publication Date Domain
BASIC-PLUS Language Manual DEC-11-ORBPA-A-D October 1972 V04 OS
RSTS-11 System Manager's Guide DEC-11-ORSMA-B-D January 1973 V04 OS
RSTS/E System Manager's Guide DEC-11-ORSMC-A-D March 1975 V05 OS
RSTS/E System Reliability Test DEC-11-ORSRB-A-D October 1974 V05 OS
RSTS/E Software Support Notes (Internal Confidential) N/A N/A V05 OS
RSTS/E V06C System Generation Manual AA-2669D-TC_V6C July 1978 V06 OS
RSTS/E BASIC-PLUS Language Manual DEC-11-ORBPB-A-DAA-2669D-TC_V6C July 1975 V06 OS
RSTS/E Documentation Directory DEC-11-ORDAA-A-D July 1975 V06 OS
RSTS/E Documentation Directory DEC-11-ORDAA-B-D_V06B-02 January 1977 V06 OS
RSTS/E System Generation Manual DEC-11-ORGNA-A-D_V06A-02 July 1975 V06 OS
RSTS/E V06A-02 System Installation Notes DEC-11-ORINB-F-D_V06A-02 August 1976 V06 OS
RSTS/E Programming Manual DEC-11-ORPMA-B-D November 1976 V06 OS
RSTS/E System Manager's Guide DEC-11-ORSMD-A-D July 1975 V06 OS
RSTS/E System Reliability Test DEC-11-ORSRB-B-D July 1975 V06 OS
RSTS/E RUNOFF User's Guide DEC-11-URUNA-B-D July 1975 V06 OS
RSTS/E Text Editor Manual DEC-11-UTEMA-A-D May 1976 V06 OS
Overview of RSTS/E V7 N/A N/A V07 OS
RSTS/E V7.0 Documentation Directory AA-2642D-TC May 1979 V07 OS
RSTS/E V7.0 Release Notes AA-5246C-TC September 1979 V07 OS
RSTS/E V7.0 Software Product Description AE-3400M-TC February 1980 V07 OS
RSTS/E V7.0 System Generation Manual AA-2669E-TC May 1979 V07 OS
PDP-11 Preservation Utility (PRESRV) User's Guide DEC-11-UPRMA-A-D November 1975 UTIL
RSTS/E Monitor Internals N/A May 1983 UTIL
DECnet/E Guide to User Utilities AA-H504B-TC January 1982 UTIL
DECnet/E System Manager's Guide AA-H505B-TC January 1982 UTIL
RSTS System User's Guide AA-EZ12A-TC June 1985 V9 OS
PDP-11 MACRO Language Reference Manual AA-KX10A-TC October 1987 LANG
RSTS V9.0 Guide to Writing Command Procedures AA-CF03A-TC June 1985 V9 OS
RSTS V9.0 System Manager's Guide AA-2762F-TC June 1985 V9 OS
RSTS V9.0 Documentation Directory AA-2642G-TC June 1985 V9 OS
RSTS V9.0 Release Notes AA-5246G-TC June 1985 V9 OS
RSTS V9.0 System Directives Manual AA-EZ10A-TC June 1985 V9 OS
RSTS V9.4 Programming Manual Manual AA-EZ09A-TC June 1987 V9 OS
RSTS V9.0 Maintenance Notebook AA-L997D-TC June 1985 V9 OS
RSTS V9.7 System Manager's Guide AA-2762G-TC July 1989 V9 OS
RSTS V9.7 Release Notes AA-NB17A-TC July 1989 V9 OS
RSTS V9.6 Release Notes AA-LC11A-TC August 1988 V9 OS
RSTS/E V9.7 System Installation and Update Guide AA-2669J-TC July 1989 V9 OS
RSTS/E V10 Quick Reference AA-EX13C-TC August 1990 V10 OS
RSTS/E V9.5 Release Reference AA-KW28A-TC November 1987 V9.5 OS
RSTS/E V9.4 Release Notes AA-KL99A-TC June 1987 V9.4 OS
RSTS/E V9.3 Release Notes AA-JB65A-TC January 1987 V9.3 OS
RSTS/E V9.2 Release Notes AA-HJ88A-TC March 1986 V9.2 OS
RSTS/E V9.1 Release Notes AA-GK62A-TC October 1985 V9.1 OS
DEC-11 RSTS/E Sysgen Manual DEC-11-ORGNA-A-D N/A OS
RSTS/E V7.2 Maintenance Notebook AA-L997B-TC June 1982 V7.2 OS
RSTS/E V7.2 Release Notes AA-5246E-TC_RSTS_E June 1982 V7.2 OS
RSTS User Manual DEC-11-ORSUA-A-D September 1972 OS
DECUS RSTS Handouts N/A April 1980 OS
RSTS/E V06B System User's Guide DEC-11-ORSUB-A-D_RSTS_E December 1976 OS
RSTS System User Guide DEC-11-ORSUA-D-D July 1975 OS
RSTS Programming Manual DEC-11-ORPMA-A-D July 1975 OS

Software Archive

Package Description
basic_plus_2_v2_1.zip BASIC-PLUS V2
basic_plus_2_v2_2.zip BASIC-PLUS V2.2 zipped
basic_plus_2_v2_3.zip BASIC-PLUS V2.3 zipped
basic_plus_2_v2_4.zip BASIC-PLUS V2.4 zipped
basic_plus_2_v2_5.zip BASIC-PLUS V2.5 zipped
basic_plus_2_v2_6.zip BASIC-PLUS V2.6 zipped
bb-m481c-bc_decnet_e_v4_0_c1986.tap.bz2 RSTS DECnet V4 Tape archived and 7Zipped
bb-p655c-bc_decmail11rsts_v3_0_c1986.tap.bz2 RSTS DECmail V3 Tape archived and 7Zipped
bp2_v2_7.zip BASIC-PLUS V2.7 zipped
c_v1_2.zip C V1.2 zipped
cobol-11_v4_4.zip COBOL-11 V4.4 zipped
cobol-81_v2_3.zip COBOL-81 V2.3 zipped
cobol-81_v2_3.zip COBOL-81 V2.3 zipped
pdp11_c_rsts_v1_1.zip RSTS V1.1 zipped
rsts_v8_csp180.zip RSTS CSP 1.8 zipped
rsts_v8_update.zip RSTS V8 update zipped
rsts_v9_0_install.zip RSTS V9 installation zipped
rsts_v9_1_install.zip RSTS V9.1 installation zipped
rsts_v9_3_install.zip RSTS V9.3 installation zipped
rsts_v9_4_install.zip RSTS V9.4 installation zipped
rsts_v9_5_install.zip RSTS V9.5 installation zipped
rsts_v9_6_install.zip RSTS V9.6 installation zipped
rsts_v9_library.zip RSTS V9 Library zipped
basic_translator_rsts_fieldtext.tap.bz2 BASIC Translator Field Text 7zipped
bb-k400d-bc_pdp_f77_rsts_v5_0_c1983.tap.bz2 RSTS F77 V5.0 1983 7zipped
bb-k400e-bc_pdp_f77_rsts_v5_2_c1987.tap.bz2 RSTS F77 V5.2 1987 7zipped
bb-k400e-bc_pdp_f77_rsts_v5_2_c1987.tap.bz2 RSTS F77 V5.0 1987 7zipped
bb-k400f-bc_pdp_f77_rsts_v5_3_c1988.tap.bz2 RSTS F77 V5.3 1988 7zipped
pdp-11_c_for_rsts_e_t1_0_ft_7july89.tap.bz2 RSTS C V1.0 1989 7zipped
pdp-11_c_for_rsts_e_t1_1_7_13_90.tap.bz2 RSTS C V1.7 7zipped
pdp-11_c_for_rsts_e_v1_0_22_dec_89.tap.bz2 RSTS C V1.22 1989 7zipped
rsts_e_v9_3_ft_update.tap.bz2 RSTS V9.3 Update 7zipped

Sources

Compiled on 01-13-2026 20:48:39