(edited 22-Jan-91) (****Version 1****) (This is old SSM Chapter 1) (HISTORICAL OVERVIEW\HIST_CHAP) At its conception in 1972, RT-11 was designed to be a small, fast, easy-to-use operating system for the PDP-11 family of minicomputers. It was developed as a single-user system for real-time and computational use; its target applications were data acquisition, process control, and, of course, program development.

The following sections provide an overview of the history of RT-11's development, showing how the operating system has evolved over the course of eight years and four major releases. For a comprehensive overview of the hardware, software, and documentation components of today's RT-11 operating system, see Chapter 1 of the (RT-11 System User's Guide).

The year 1971 was an exciting time for the computer industry. The PDP-11 computer was only a year old and DIGITAL was making computing power feasible for thousands of applications with the introduction of this relatively inexpensive 16-bit minicomputer.(1\ (Computer Engineering - A DEC View of Hardware Systems Design), by C. Gordon Bell, J. Craig Mudge, and John E. McNamara, Digital Press, 1978.)

The software then available for the PDP-11 consisted of PTS (Paper Tape Software, which included the PAL-11S Assembler) and DOS-11 (a batch-oriented system). Clearly, the situation called for a low-cost, interactive system that could be used for real-time and computational applications, and for program development.

A popular operating system for the PDP-8, called OS/8, was the design model for the new PDP-11 operating system, tentatively called OS-11. The new operating system was designed to be a small, single-user, interactive system with event-driven real-time I/O, that would run on PDP-11 computers with 28K words of memory or less. It was designed to have a simple, modular structure; device handlers would be used for I/O transfers so application programming could be device-independent, and files would be stored in contiguous blocks on disk so record management would not be a programming concern. (Version 1) Actual development work on OS-11 began in the fall of 1972. A group of five system programmers and one technical writer set about refining the design for OS-11 and producing the software and the manual. The groundwork was laid to make OS-11 compatible with OS/8 and TOPS-10.

The first version of OS-11 included the single-job monitor and a set of program development tools: EDIT, MACRO-11, LINK, ODT, PIP, PATCH, EXPAND and ASEMBL (tools for developing macros in 8K-word systems), and PIPC (for cassettes). BASIC-11, the first product to require RT-11 as its base system, was also part of Version 1. The single-job monitor provided necessary services to running programs and supervised the queued I/O system. The operating system supported seven devices: RK, LP, TT, CT, PR, PP, and DT.

OS-11 was renamed first to RTPS-11 (Real-Time Programming System), then to RT-11 (Real Time). Version 1 of RT-11 was completed in the fall of 1973, and support for the GT40 video display was added in early 1974. (Version 2) It soon became apparent that RT-11 was successful. More system programmers and technical writers were added to the group, and development for another release was begun. Versions 2, 2B, and 2C brought some significant new features to the operating system. A new monitor was developed that permitted two jobs to run in a foreground/background environment. Support was added for new peripheral devices, including MM, MT, CR, DP, RF, DX, and DS. A number of utility programs were added to improve the set of program development tools. These included CREF, LIBR, PATCHO, DUMP, FILEX, SRCCOM, and BATCH. FORTRAN IV was released with Version 2, and the operating system software included a library of FORTRAN-callable subroutines, called SYSLIB. Version 2 was completed in the fall of 1974; the 2C update was released in early 1976. (Version 3) Version 3 of RT-11 was another major release. Most significant was the development of the extended memory monitor from a conditional assembly of the foreground/background monitor source files. This permitted RT-11 to support systems with up to 124K words of physical memory. Products such as FORTRAN IV, CTS-300, and Multi-User BASIC-11 took advantage of this feature in ways that were transparent to application programs. Support was included for multi-terminal systems as well, and device error logging was implemented. DCL (DIGITAL Command Language) was developed so that almost all system programs could be accessed by English-like monitor commands. Indirect files provided an easy-to-use alternative to BATCH.

Again, support was added for new DIGITAL peripheral devices: DL, DM, DY, NL, and PC (which replaced PR and PP). And, more system utility programs were introduced: PIP was divided into PIP, DUP, and DIR. Other new utilities included PAT, FORMAT, and RESORC. System generation was designed to permit customization and provide system flexibility. The TECO editor was included in the distribution kits for the first time. Version 3 was completed in the fall of 1977, and the 3B update was made available in early 1978. (Version 4) With Version 4, RT-11 could be called a mature product. The specific goals of this development effort were to make RT-11 easier to install and maintain. Tools were provided, in the form of BINCOM, SIPP, SRCCOM, and SLP, to make the generation and installation of patches almost automatic. System jobs (special foreground jobs provided by DIGITAL) handled error logging and file queuing. Monitor files were separated from system device handler files, providing greater flexibility while saving storage space. Not least among the accomplishments was a change to the linker that permitted overlays to reside in extended memory rather than on a mass storage device. The KED and K52 Keypad Editors were included in the distribution kits.

Version 4 was completed in early 1981. By then there were well over seventeen thousand RT-11 systems installed around the world, making this operating system a successful venture indeed. (Version 5) Nothing stands still in the computer industry. New hardware and expanding user needs create demands for up-to-date software. Version 5 of RT-11, released in the spring of 1983, included support for new hardware such as MSCP and the MICRO/PDP-11. The extended memory monitor was changed to support 22-bit memory addressing on Q-bus central processors and to allow use of the .FETCH programmed request under the extended memory monitor. A new virtual memory handler allowed extended memory to be used as though it were a disk. The LD handler was added to support logical disks. The backup utility BUP and the indirect file processor IND were added to the distribution kit, and SYSGEN was rewritten to make installation and customization still easier. New DCL commands and options were added, as well as CCL (Concise Command Language) and UCL (User Command Linkage). At the same time, however, a minimum system could still run in 16K words of memory, maintaining the RT-11 tradition of being small, fast, interactive, and easy to use. (Version 6) Version 6 of RT-11 introduced two new versions of the RT-11 monitor, the SB (Single Background) and XB (Extended Background) monitors, and the phasing out of the original SJ (Single-Job) monitor. The SB and XB monitors are background-only versions of the FB and XM monitors, respectively, and allow all distributed versions of the RT-11 monitor to be conditionally assembled from a single source file (RMON.MAC). While SB is larger than the SJ monitor it replaces, the SB monitor proved a resident terminal handler (TT.SYS), serialized completion routines, and a job impure area that is consistent with the one used in the FB and XM monitors. The XB monitor provides easy access to extended memory while allowing the largest possible amount of low memory space for handlers and interrupt service routines. (End of Chapter)