RSTS/E
   HOME

TheInfoList



OR:

RSTS () is a multi-user
time-sharing In computing, time-sharing is the sharing of a computing resource among many users at the same time by means of multiprogramming and multi-tasking.DEC Timesharing (1965), by Peter Clark, The DEC Professional, Volume 1, Number 1 Its emergence ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
developed by
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president un ...
(DEC, now part of
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
) for the
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sol ...
series of
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ' ...
s. The first version of RSTS (RSTS-11,
Version 1 Version 1 is an Irish company specializing in international management consulting, software asset management, software development, cloud computing, and outsourcing company. On July 13, 2022, Partners Group completed the acquisition of a m ...
) was implemented in 1970 by DEC
software engineers Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ' ...
that developed the TSS-8 time-sharing operating system for the
PDP-8 The PDP-8 is a 12-bit minicomputer that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneer ...
. 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 by ''Evans Griffiths & Hart'' of Boston,. Starting with RSTS/E version 5B, DEC added support for additional programming languages by emulating the execution environment of the
RT-11 RT-11 (Real-time 11) is a discontinued small, low-end, single-user real-time operating system for the full line of Digital Equipment Corporation PDP-11 16-bit computers. RT-11 was first implemented in 1970. It was widely used for real-time computin ...
and
RSX-11 RSX-11 is a discontinued family of multi-user real-time operating systems for PDP-11 computers created by Digital Equipment Corporation. In widespread use through the late 1970s and early 1980s, RSX-11 was influential in the development of later ...
operating systems.


Acronyms and abbreviations

*BTSS (Basic Time Sharing System – never marketed) – The first name for RSTS. *CCL (
Concise Command Language Concise Command Language (CCL) was the term used by Digital Equipment Corporation for the Command-line interpreter / User interface supplied on several of their computing systems; its successor was named DIGITAL Command Language (DCL). CCL provid ...
) – equivalent to a command to run a program kept in the Command 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. *CLI (Command Line Interpreter) – See
Command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. *CUSPs (Commonly Used System Programs) – System management applications like Task Manager or
Registry Editor The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and ...
on
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
. On RSTS-11, CUSPs were written in BASIC-Plus just like user programs. *DCL (Digital Command Language) – See
DIGITAL Command Language DIGITAL Command Language (DCL) is the standard command language adopted by many of the operating systems created by Digital Equipment Corporation. DCL had its roots in IAS, TOPS-20, and RT-11 and was implemented as a standard across most of Digit ...
. *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. *KBM (Keyboard Monitor) – Analogous to Command Line Interpreter. *LAT (Local Area Transport) – Digital's predecessor to
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the su ...
*MFD (Master File Directory) – Root directory of file system. *PBS (Print Batch Services) *PIP ( Peripheral Interchange Program) *PPN (Project Programmer Number) – Analogous to GID and UID 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-bit word 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's home directory. Root directory of a file system. *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


1970s

The
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learn ...
of RSTS was programmed in the
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
MACRO-11,
compiled In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
and installed to a disk using the CILUS
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Programm ...
, running on a DOS-11 operating system. RSTS booted into an extended version of the
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language which DEC called " BASIC-PLUS". All of the
system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
CUSPS for the operating system, including the programs for resource accounting,
login In computer security, logging in (or logging on, signing in, or signing on) is the process by which an individual gains access to a computer system by identifying and authenticating themselves. The user credentials are typically some fo ...
, logout, and managing the system, were written in BASIC-PLUS. From 1970 to 1973, RSTS ran in only 56K bytes of
magnetic core memory Magnetic-core memory was the predominant form of random-access computer memory for 20 years between about 1955 and 1975. Such memory is often just called core memory, or, informally, core. Core memory uses toroids (rings) of a hard magneti ...
(64 kilobytes including the
memory-mapped I/O Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O pr ...
space). This would allow a system to have up to 16
terminal Terminal may refer to: Computing Hardware * Terminal (electronics), a device for joining electrical circuits together * Terminal (telecommunication), a device communicating over a line * Computer terminal, a set of primary input and output devi ...
s with a maximum of 17 jobs. The maximum program size was 16K bytes.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 By the end of 1973 DEC estimated there were 150
license A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit). A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
d systems running RSTS.Dick, P: "The History of RSTS", pages 24-26. "The RSTS Professional Magazine" June 1, 1983, Vol 5, No 3, ISSN 0745-2888 In 1973
memory management Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
support was included in RSTS (now RSTS/E) for the newer DEC
PDP-11/40 The PDP-11 is a series of 16-bit computing, 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all ...
and PDP-11/45 minicomputers (the
PDP-11/20 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sol ...
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 A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. Kernel ...
processes from the core of the kernel. In 1975 memory management support was again updated for the newer 22-bit addressable
PDP-11/70 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sol ...
. RSTS systems could now be expanded to use as much as two
megabyte The megabyte is a multiple of the unit byte for digital information. Its recommended unit symbol is MB. The unit prefix ''mega'' is a multiplier of (106) in the International System of Units (SI). Therefore, one megabyte is one million bytes o ...
s of memory running up to 63 jobs. The
RTS RTS may refer to: Medicine * Rape trauma syndrome, the psychological trauma experienced by a rape victim * Revised Trauma Score, a system to evaluate injuries secondary to violent trauma * Rubinstein–Taybi syndrome, a condition characterized by ...
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 RT-11 (Real-time 11) is a discontinued small, low-end, single-user real-time operating system for the full line of Digital Equipment Corporation PDP-11 16-bit computers. RT-11 was first implemented in 1970. It was widely used for real-time computin ...
RTS, formatted as a kernel file with RT-11 SILUS, and copied to the system or other disks, while the
computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These prog ...
was time-sharing. The BASIC-PLUS RTS (as well as RT-11,
RSX-11 RSX-11 is a discontinued family of multi-user real-time operating systems for PDP-11 computers created by Digital Equipment Corporation. In widespread use through the late 1970s and early 1980s, RSX-11 was influential in the development of later ...
, TECO and third party RTSs) all ran as user mode processes, independent of the RSTS kernel. A
systems manager A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and express ...
could now decide during the bootstrap phase which RTS to run as the systems default 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 22bit 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 DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming D ...
was also supported as well as remote diagnostics from field service technicians at the RDC in
Colorado Springs, Colorado Colorado Springs is a home rule municipality in, and the county seat of, El Paso County, Colorado, United States. It is the largest city in El Paso County, with a population of 478,961 at the 2020 United States Census, a 15.02% increase since ...
(a DEC subscription service). By the end of the
decade A decade () is a period of ten years. Decades may describe any ten-year period, such as those of a person's life, or refer to specific groupings of calendar years. Usage Any period of ten years is a "decade". For example, the statement that "du ...
, there are over 5,000 licensed systems.


1980s

In 1981 support for separate instruction and data space for users with
Unibus The Unibus was the earliest of several computer bus and backplane designs used with PDP-11 and early VAX systems manufactured by the Digital Equipment Corporation (DEC) of Maynard, Massachusetts. The Unibus was developed around 1969 by Gordon ...
machines ( PDP-11/44, PDP-11/45, PDP-11/55 and PDP-11/70) provides 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 KiB for instructions, and up to 64 KiB for buffering data. The DCL RTS is 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 includes support for the smallest 18-bit PDP-11 sold by DEC (the MicroPDP-11). A pre-generated kernel and CUSPS are 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 is designed to support more than 1700 user accounts.Marbach, C: "RSTS and the Micro-11", page 50. "The VAX/RSTS Professional Magazine" August 1, 1983, Vol 5, No 4, ISSN 0745-2888 "It is now thought that there are well over 10,000 licensed users and at least an equal number of unlicensed users!". 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 are encrypted using a modified DES algorithm instead of limited to six (6) 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 ,1, and all accounts in project number 1 were privileged (not unlike the root account on
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
systems). With the release of Version 9, additional accounts can be created for project zero, and multiple privileges can be individually set for any account. Support for the
LAT Lat or LAT may refer to: Places * Lat, Fuman, village in Gilan Province, Iran * Lat, Rasht, village in Gilan Province, Iran * Lat, Mazandaran, village in Iran * Lat-e Disar, village in Mazandaran Province, Iran * Lat, Qazvin, village in I ...
protocol is 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 contributes 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).


1990s

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. In 1997 Digital and Mentec granted anyone wishing to use RSTS 9.6 or earlier for non-commercial, hobby purposes a 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 authorized software kit available for download on the official website of the SIMH emulator.


Documentation

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 of ''Introduction to BASIC AA-0155B-TK''. Each of the 11 three-ring binders contains: 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 *RMS-11: An Introduction *RMS11 User's Guide *RMS-11 Utilities


Operation


Communication

RSTS uses a
serial communication In telecommunication and data transmission, serial communication is the process of sending data one bit at a time, sequentially, over a communication channel or computer bus. This is in contrast to parallel communication, where several bits a ...
connection to interact with the operator. The connection might be a local
computer terminal A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and ...
with a 20  mA
current loop In electrical signalling an analog current loop is used where a device must be monitored or controlled remotely over a pair of conductors. Only one current level can be present at any time. A major application of current loops is the industry d ...
interface, an
RS-232 In telecommunications, RS-232 or Recommended Standard 232 is a standard originally introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' ('' data terminal equipment'') suc ...
interface (either local
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
or remote connection via
modem A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by modulating one or more c ...
), or by an
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1 ...
connection utilizing 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 the
processor Processor may refer to: Computing Hardware * Processor (computing) **Central processing unit (CPU), the hardware within a computer that executes a program *** Microprocessor, a central processing unit contained on a single integrated circuit (I ...
being used, the amount of memory and disk space, and the system load). Most RSTS systems have nowhere near that many 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 MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few o ...
.


Login roject, Programmer/h2>

Users connect to the system by typing the
LOGIN In computer security, logging in (or logging on, signing in, or signing on) is the process by which an individual gains access to a computer system by identifying and authenticating themselves. The user credentials are typically some fo ...
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):
Bye

HELLO 1,1;SECRET

Ready
or
I 1,1;SECRET

Ready
or
LOGIN 1,1;SECRET

Ready
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-PLUS KBM is given the prompt "Ready" and a user who is logged out is given the prompt "Bye". A user logs in by supplying their PPN number and password. User numbers consist of a project number (equivalent to a group 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 0,5(project 10, programmer 5), ,146 54,31 or 00,220 etc. When a user is running a system program while logged out (because the system manager has enabled it) their PPN number is ,0 and appears in the SYSTAT CUSP 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 ,2OTICE.TXT (equivalent to the Unix motd) will not be displayed at login.


System and user accounts

In every project, the programmer number 0 is usually reserved as a group account, as it can be referenced by the special symbol #. If one's user number is 0,103 a reference to a file name beginning with "#" refers to a file stored in the account of the user number 0,0 This feature is useful in educational environments, as programmer number 0 can be issued to the instructor of a class, and the individuals 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 ,1. Programmers in the project number 1 are privileged accounts, equivalent to the single account "root" on Unix systems, except that the account numbers ,0through ,254are all privileged accounts. As of Version 9, any account can be granted specific privileges by the systems manager. The account ,1is used to store the operating system file itself, all run-time library systems, and certain system files relating to booting the system (author's comments appear on the right in bold): DIR ,1 Name .Ext Size Prot Date SY: ,1 BADB .SYS 0P < 63> 06-Jun-98 List of bad blocks SATT .SYS 3CP < 63> 06-Jun-98 Bitmap of allocated disk storage INIT .SYS 419P < 40> 06-Jun-98 Operating system loader program ERR .ERR 16CP < 40> 06-Jun-98 System error messages RSTS .SIL 307CP < 60> 06-Jun-98 Operating system itself BASIC .RTS 73CP < 60> 06-Jun-98 BASIC-PLUS run time system RT11 .RTS 20C < 60> 06-Jun-98 RT-11 run time system SWAP .SYS 1024CP < 63> 06-Jun-98 System swap file CRASH .SYS 35CP < 63> 06-Jun-98 System crash dump RSX .RTS 16C < 60> 23-Sep-79 RSX-11 run-time system TECO .RTS 39C < 60> 24-Sep-79 TECO text editor Total of 1952 blocks in 11 files in SY: ,1 (''Editor's note: This directory listing is previous to Version 9.'') The DIR command is an installed CCL equivalent to a RUN command for the DIRECT program. ,1is 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 512
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable uni ...
s 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 a
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
system after a drive has been defragmented), 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 the r, w and x protections in
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
and similar operating systems such as BSD and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
. 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 ,1and it is usually referenced by the logical name LB:. The account ,2is the system startup account (much like a unix system starting up under root), and contains the system CUSPS that could be referenced by prefixing the CUSP name with a dollar sign ($). "!" is used for account ,3 "%" for ,4and "&" for ,5 The account ,1also had the special privilege of being the only account where a user logged in under that account is permitted to execute the POKE system call to put values into any memory in the system. Thus the account number ,1is the closest equivalent to "root" on Unix-based systems.


Run-time environments

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 BASIC-Plus-2, and in more traditional programming languages such as
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
and FORTRAN. 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 an ''RTS''. The term for the
command line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
that most of these RTSs had was the ''KBM''. 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 special CCL commands, which take precedence over all KBM commands (with the exception of DCL). A CCL is analogous to a shortcut to a program on a Windows system or a symbolic link on Unix-based systems. CCLs are installed as a memory-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 a CCL 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 what RTS the program was using, how much memory the program was taking, how much it could expand to, and how much memory the RTS was using.


BASIC-PLUS

Programs written in BASIC-PLUS ran under the BASIC RTS, 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 unique byte 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 Plus RTS simply saved the working memory area to a disk file with a ".BAC" extension. Although this format was undocumented, two Electronic Engineering undergraduates from Southampton University in the UK ( Nick de Smith and David Garrod) developed a decompiler that could reverse 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 BASIC RTS 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 the RTS). The standard BASIC-PLUS prompt is the "Ready" response, pressing Control-T displays status (example):


DCL (Digital Command Language)

Starting with Version 9, DCL became the primary startup RTS even though it does not have the ability to execute binary programs. This became possible with the advent of the disappearing RSX RTS (see below). DCL was incorporated into all of the recent versions of DEC's operating systems (RSX-11, RT-11, VMS, and later
OpenVMS OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
) for compatibility. The standard DCL prompt is the dollar "$" sign (example): $ write 0 "Hello World, it is "+F$TIME() Hello World, it is 01-Jan-08 10:20 PM $ inquire p1 "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 $ set verify/debug/watch $ show memory (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 LIB 1748K - 1751K ( 4K) (User) RMSRES LIB 1752K - 2043K ( 292K) ** XBUF ** 2044K - *** END *** $


RSX (Realtime System eXecutive)

Programs that were written for the RSX RTS such as COBOL, Macro Assembler, or later releases of BASIC-Plus-2, could utilize the maximum amount of memory available for a binary program (56K due to the requirements of an RTS needing the top 8K to use for itself). RSTS Version 7 and later allowed the RSX RTS 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 in a shared memory area called "Core Common," among other practices. When RSX is the default KBM, the standard RSX prompt (both logged in and logged out) is the ">" (or MCR "Monitor Console Routine") sign (example): >run Please type HELLO >HELLO 1,1;SECRET >run ?What? >help Valid keyboard commands are: ASSIGN DISMOUNT HELP RUN UNSAVE BYE EXIT MOUNT SHUTUP DEASSIGN HELLO REASSIGN SWITCH >run CSPCOM CSP>HWORLD=HWORLD CSP>^Z >RUN TKB TKB>HWORLD=HWORLD,LB:CSPCOM.OLB/LB TKB>// >run HWORLD.TSK Hello World Press 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/pr SY: ,2HWORLD.BAS 1 < 60> HWORLD.BAC 7C <124> HWORLD.OBJ 2 < 60> HWORLD.TSK 25C <124> Total of 35 blocks in 4 files in SY: ,2 >


RT-11

The RT-11 RTS 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 for CUSPS, programs written in FORTRAN-IV or Macro Assembler. When RT-11 is the default KBM, the standard RT-11 prompt (both logged in and logged out) is the "." sign (example): .VERSION Please type HELLO .HELLO 1,1;SECRET .VERSION RT-11SJ V3-03; RSTS/E V8.0 .R PIP *HWORLD.MAC=KB: .MCALL .TTYIN,.PRINT,.EXIT HWORLD: .ASCII /Hello World/<15><12> .ASCIZ /Press Control-T for 1 line status:/ .EVEN Start: .PRINT #HWORLD .TTYIN .EXIT .END START ^Z *^Z .R MACRO HWORLD=HWORLD *^Z .R LINK *HWORLD=HWORLD *^Z .R HWORLD.SAV Hello World Press Control-T for 1 line status: 1 KB0 HWORLD+RT11 KB(0R) 2(28)K+4K 0.6(+0.2) +0 ..DIR HWORLD.*/na/ex/si/pr SY: ,2HWORLD.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: ,2 .


TECO (Text Editor and COrrector)

The TECO 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 calculate pi (currently set to 20 digits):Greenspon, M: "The RSTS Crystal Ball - Part 3", page 12. ''The RSTS Professional Magazine'', October 1, 1982, Vol 4, No 5 Ready run TECO *GZ0J\UNQN"E 20UN ' BUH BUV HK QN< J BUQ QN*10/3UI QI< \ +2*10+(QQ*QI)UA B L K QI*2-1UJ QA/QJUQ QA-(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$$ 31415926535897932384 Ready


RSTS easter eggs


System start-up (INIT.SYS)

If a user typed an unrecognised 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

One of the nice features that a system manager could compile into the kernel was a rotating display pattern that gave the illusion of 2 snakes chasing each other around the console lights. The normal kernel would give the illusion of 1 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 2 snakes were playing chicken and would run into each other in the center of the console.


Teco easter egg

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


Open Files List

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


Stardate

Beginning with version 9.0, an
undocumented feature An undocumented feature is an unintended or undocumented hardware operation, for example an undocumented instruction, or software feature found in computer hardware and software that is considered beneficial or useful. Sometimes the documentatio ...
would allow the system manager to change the display of the system date. RSTS now became the first operating system that would display the system date as a set of numbers representing a stardate as commonly known from the TV series ''Star Trek''.


Add-ons by other companies

'' System Industries'' bought the only source license for RSTS to implement an enhancement called (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 a
semaphore Semaphore (; ) is the use of an apparatus to create a visual signal transmitted over distance. A semaphore can be performed with devices including: fire, lights, flags, sunlight, and moving arms. Semaphores can be used for telegraphy when arr ...
, a flag to indicate which processor, by cooperative sharing, has exclusive write access. 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 a round robin fashion. The code to allow this was written by Philip Hunt while working at System Industries, in Milipitas, California. He eventually worked for Digital Equipment in the New England area in the late 1980s and early '90s. ''SIMACS'' was not limited to the ''PDP-11'' product line; ''VAXen'' could also use it.


RSTS emulations


ROSS/V

In 1981, Evans Griffiths & Hart marketed the ''ROSS/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.


Other PDP-11 emulators

RSTS and its applications can run under a number of PDP-11 emulators such as SIMH and Ersatz-11. For more information, see
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sol ...


RSTS mascot


Spike and Albert


Versions

RSTS was originally called ''BTSS'' (Basic Time Sharing System). Before shipment actually began, the name was changed from BTSS to RTSS because a product called BTSS was already being marketed by
Honeywell Honeywell International Inc. is an American publicly traded, multinational conglomerate corporation headquartered in Charlotte, North Carolina. It primarily operates in four areas of business: aerospace, building technologies, performance ma ...
. A simple typing mistake changed the name from RTSS to RSTS. 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.


Clones in the USSR

* DOS-KP ("ДОС-КП")


Applications

Computer bureaus sometimes deployed User-11 for RSTS/E-based
data management Data management comprises all disciplines related to handling data as a valuable resource. Concept The concept of data management arose in the 1980s as technology moved from sequential processing (first punched cards, then magnetic tape) to ...
.


See also

* Asynchronous System Trap * BASIC-Plus-2 *
Concise Command Language Concise Command Language (CCL) was the term used by Digital Equipment Corporation for the Command-line interpreter / User interface supplied on several of their computing systems; its successor was named DIGITAL Command Language (DCL). CCL provid ...
* DATATRIEVE *
DECnet DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming D ...
*Front panel *Kevin Mitnick *Local Area Transport *Octal Debugging Technique *QIO *Record Management Services *Runtime system *SYSTAT (command) *Time-sharing *Time-sharing system evolution


References


External links


Elvira at The Royal Institute of Technology in Stockholm, SwedenRSTS Hobbyist SiteSimH web pageWofford Witch
{{DEFAULTSORT:Rsts E DEC operating systems PDP-11 Discontinued operating systems Time-sharing operating systems Assembly language software 1970 software