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 such as VMS and Windows NT.

As the original Real-Time System Executive name suggests, RSX was designed (and commonly used) for real time use, with process control a major use. It was also popular for program development and general computing.

Name and origins
RSX-11 began as a port to the PDP-11 architecture of the earlier RSX-15 operating system for the PDP-15 minicomputer, first released in 1971. The main architect for RSX-15 (later renamed XVM/RSX) was Dennis “Dan” Brevik.

Commenting on the RSX acronym, Brevik says: "'At first I called the new system DEX-15.  It was an acronym for 'Digital's Executive - for the PDP-15.'  The homonymic relation between DEC, DEX and deques (used as the primary linkage mechanism in the kernel) appealed to my sense of whimsy.  People readily adopted the acronym without question.

But in a short time I was asked to submit the choice to the corporate legal department for a trademark search and registration. They sent me a memo that DEX was already trademarked by some paper company and I would have to rename the product. I pointed out to them that software and paper mills didn't seem to have a hell of a lot of connection, but they wouldn't budge.

So I sat down with pencil and paper, and in a few moments came up with better than a dozen candidate acronyms and names. My purpose was to come up with a good acronym and then find some appropriate words to justify it. For example, X always appealed to me as part of an acronym because it is pronounced so forcefully, inferring (at least to me) some power and drama. I used a lot of X's. These potential acronyms were submitted back to the legal department. At the time I had no favorite. In a week or so they came back with a subset of my list that they could accept as trademarks. It was left to me to make the final choice. Bob Decker and I met in my office one afternoon to discuss the choice. Bob was a marketeer who worked for me. I chalked all the candidates on the blackboard and we started going through them one by one, pronouncing each out loud, savoring the sound, trying to get the feel of each one. After ten minutes or so we had narrowed down the selection to three. Bob sat back in silence as I kept looking at each acronym, seeing how it flowed off my tongue, what impression it gave me, and most importantly, the overall feeling about it. After three or four minutes a strong feeling came over me about one of them. It really felt right. I looked at Bob and announced, 'It's RSX'. I went to the board and erased all the rest until the only writing left was RSX. It even looked right. I have absolutely no memory about the other candidate acronyms. They are lost forever, I suppose. Well, maybe there's just a chance that the legal department kept copies of the correspondence - after all they are lawyers and they seem to hold on to everything (especially my money). Oh, by the way, the acronym stood for 'Real-Time System Executive.'  Years later that was changed to 'Resource Sharing Executive,' which I think is even better.

...And that is how RSX got its name, on the 3rd floor of building 5 in the old mill.'"

RSX-11D and IAS
The porting effort first produced small paper tape based real-time executives (RSX-11A, RSX-11C) which later gained limited support for disks (RSX-11B). RSX-11B then evolved into the fully fledged RSX-11D disk-based operating system, which first appeared on the PDP-11/40 and PDP-11/45 in early 1973. The project leader for RSX-11D up to version 4 was Henry Krejci.

While RSX-11D was being completed, Digital set out to adapt it for a small memory footprint, giving birth to RSX-11M, first released in 1973. From 1971 to 1976, the RSX-11M project was spearheaded by noted operating system designer Dave Cutler, then at his first project. Principles first tried in RSX-11M appear also in later designs led by Cutler, DEC's VMS and MICA and Microsoft's Windows NT.

Under the direction of Ron McLean a derivative of RSX-11M, called RSX-20F, was developed to run on the PDP-11/40 front-end processor for the KL10 PDP-10 CPU.

Meanwhile, RSX-11D saw further developments: under the direction of Garth Wolfendale (project leader 1972–1976) the system was redesigned and saw its first commercial release. Support for the 22-bit PDP-11/70 system was added. Wolfendale, originally from the UK, also set up the team that designed and prototyped the Interactive Application System (IAS) operating system in the UK; IAS was a variant of RSX-11D more suitable for time sharing. Later development and release of IAS was led by Andy Wilson, in Digital's UK facilities.

Release dates
Below are estimated release dates for RSX-11 and IAS. Data is taken from the printing date of the associated documentation. General availability date is expected to come closely after. When manuals have different printing dates, the latest date is used. RSX-11S is a proper subset of RSX-11M, so release dates are always assumed to be the same as the corresponding version of RSX-11M. On the other side, RSX-11M Plus is an enhanced version of RSX-11M, so it is expected to be later than the corresponding version of RSX-11M.

Legal ownership, development model and availability
RSX-11 is proprietary software. Copyright is asserted in binary files, source code and documentation alike. It was entirely developed internally by Digital. Therefore, no part of it is open source. However a copy of the kernel source is present in every RSX distribution, because it was used during the system generation process. The notable exception to this rule is Micro-RSX, which came with a pre-generated autoconfiguring binary kernel. Full sources was available as a separate product to those who already had a binary license, for reference purposes.

Ownership of RSX-11S, RSX-11M, RSX-11M Plus and Micro/RSX was transferred from Digital to Mentec Inc. in March 1994 as part of a broader agreement. Mentec Inc. was the US subsidiary of Mentec Limited, an Irish firm specializing in PDP-11 hardware and software support. In 2006 Mentec Inc. was declared bankrupt while Mentec Ltd. was acquired by Irish firm Calyx in December 2006. The PDP-11 software, which was owned by Mentec Inc. was then bought by XX2247 LLC, which is the owner of the software today. It is unclear if new commercial licenses are possible to buy at this time. Hobbyists can run RSX-11M (version 4.3 or earlier) and RSX-11M Plus (version 3.0 or earlier) on the SIMH emulator thanks to a free license granted in May 1998 by Mentec Inc.

Legal ownership of RSX-11A, RSX-11B, RSX-11C, RSX-11D, and IAS never changed hands; therefore it passed to Compaq when it acquired Digital in 1998 and then to Hewlett-Packard in 2002. In late 2015 Hewlett-Packard split into two separate companies (HP Inc. and Hewlett Packard Enterprise), so the current owner cannot be firmly established. No new commercial licenses have been issued since at least October 1979 (RSX-11A, RSX-11B, RSX-11C) or 1990 (IAS), and none of these operating systems have ever been licensed for hobbyist use.

Main versions

 * RSX-11A, C – small paper tape real time executives
 * RSX-11B – small real time executive based on RSX-11C with support for disk I/O. To start up the system, first DOS-11 was booted, and then RSX-11B was started.  RSX-11B programs used DOS-11 macros to perform disk I/O.
 * RSX-11D – a multiuser disk-based system, later evolved into IAS
 * IAS – a timesharing-oriented variant of RSX-11D released at about the same time as the PDP-11/70. The first version of RSX to include DCL (Digital Command Language), which in IAS is known by its original name, PDS (Program Development System).
 * RSX-11M – a multiuser version that was popular on all PDP-11s
 * RSX-11S – a memory-resident version of RSX-11M used in embedded real-time applications. RSX-11S applications were developed under RSX-11M.
 * RSX-11M-Plus – a much extended version of RSX-11M, originally designed to support the multi-processor PDP-11/74, a computer that was never released, but RSX-11M-Plus was then used widely as a standard operating system on the PDP-11/70.
 * RSX-11M-Plus also ran on PDP-11/44, PDP-11/84, PDP-11/94 (Unibus machines), as well as PDP-11/73, PDP-11/83, and PDP-11/93 (Qbus machines). One of the advantages of RSX-11M-Plus over RSX-11M was that larger programs could be created. This was achieved by having the task builder (the linker) build the program to use the separate instruction and data space feature of some PDP-11 models to put executable code and data into separate address spaces.  This also allowed programs to run faster, as it reduced the need for "overlays", in which you could overlay object modules at task build time, for very large programs.  Overlays were specified in a task build command file.

Hardware-specific variants

 * RSX-20F – Customized version of RSX-11M, to be run on PDP-11/40 front end processor operating system for the DEC KL10 processor
 * Micro/RSX – a pre-generated full version of RSX-11M-Plus with hardware autoconfiguration, implemented specifically for the Micro/PDP-11s, a low-cost multi-user system in a box, featuring ease of installation, no system generation, and a special documentation set. Later superseded by RSX-11M Plus.
 * P/OS – A version of RSX-11M-Plus that was targeted to the DEC Professional line of PDP-11-based personal computers

Clones in the USSR and other Eastern Bloc countries
In 1968, the Soviet Government decided that manufacturing copies of IBM mainframes and DEC minicomputers, in cooperation with other COMECON countries, was more practical than pursuing original designs. Cloning of DEC designs began in 1974, under the name of SM EVM (СМ ЭВМ or Система Малых Электронно-Вычислительных Машин). As happened with ES EVM mainframes based on the System/360 architecture, the Russians and their allies sometimes significantly modified Western designs, and therefore many SM EVM machines were binary-incompatible with DEC offerings at the time.


 * DOS/RV, ОСРВ-СМ, ОСРВM – Three names for an unauthorised clone of RSX-11M produced in the Eastern bloc. The name ОСРВ is an acronym for Операционная Система Реального Времени. This system appears to be an exact duplicate of RSX-11M except a different header in binary files. Differences between RSX and ОСРВ are due to hardware differences between SM and PDP computers and to bug-fixing done by Soviet engineers.  However, the original RSX-11M was more used than its Russian clone ОСРВ, because the programmers modifying the original RSX-11M code were doing a better job, and patched RSX was more stable than ОСРВ. Other benefits included a faster update cycle for drivers and a larger choice of patches, made possible by a wider user community.

A clone of the RSX-11M operating system ran on the Romanian-made CORAL series family of computers (such as CORAL 2030, a clone of PDP-11).

Operation
RSX-11 was often used for general-purpose timeshare computing, even though this was the target market for the competing RSTS/E operating system. RSX-11 provided features to ensure better than a maximum necessary response time to peripheral device input (i.e. real-time processing), its original intended use. These features included the ability to lock a process (called a task under RSX) into memory as part of system boot up and to assign a process a higher priority so that it would execute before any processes with a lower priority.

In order to support large programs within the PDP-11's relatively small virtual address space of 64 KB, a sophisticated semi-automatic overlay system was used; for any given program, this overlay scheme was produced by RSX's taskbuilder program (called TKB). If the overlay scheme was especially complex, taskbuilding could take a rather long time (hours to days).

The standard RSX prompt is ">" or "MCR>", (for the "Monitor Console Routine". All commands can be shortened to their first three characters when entered and correspondingly all commands are unique in their first three characters. Only the login command of "HELLO" can be executed by a user not yet logged in. "HELLO" was chosen as the login command because only the first three characters, "HEL", are relevant and this allows a non-logged in user to execute a "HELP" command.

When run on certain PDP-11 processors, each DEC operating system displays a characteristic light pattern on the processor console panel when the system is idle. These patterns are created by an idle task running at the lowest level. The RSX-11M light pattern is two sets of lights that sweep outwards to the left and right from the center of the console (inwards if the IND indirect command file processor program was currently running on older versions of RSX). By contrast, the IAS light pattern was a single bar of lights that swept leftwards. Correspondingly, a jumbled light pattern (reflecting memory fetches) is a visible indication that the computer is under load (and the idle task is not being executed). Other PDP-11 operating systems such as RSTS/E have their own distinctive patterns in the console lights.