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 and released in June 1973. It was widely used for real-time computing systems, process control, and data acquisition across all PDP-11s. It was also used for low-cost general-use computing. were loadable, except that prior to V4.0 the device driver for the system device (boot device) was built into the kernel at configuration time. Because RT-11 was commonly used for device control and data acquisition, it was common for developers to write or enhance device drivers. DEC encouraged such driver development by making their hardware subsystems (from bus structure to code) open, documenting the internals of the operating system, encouraging third-party hardware and software vendors, and by fostering the development of the Digital Equipment Computer Users Society.
Multitasking
RT-11 systems did not support preemptive multitasking, but most versions could run multiple simultaneous applications. All variants of the monitors provided a background job. The FB, XM, and ZM monitors also provided a foreground job, and six system jobs if selected via the SYSGEN system generation program. These tasks had fixed priorities, with the background job lowest and the foreground job highest. It was possible to switch between jobs from the system console user interface, and SYSGEN could generate a monitor that provided a single background job (the SB, XB and ZB variants). was for producing documents. Finally, VTCOM was used to connect with and use (or transfer files to and from) another computer system over the phone via a modem.
The system was complete enough to handle many modern personal computing tasks. Productivity software such as LEX-11, a word processing package, and a spreadsheet from Saturn Software, used under other PDP-11 operating systems, also ran on RT-11. Large amounts of free, user-contributed software for RT-11 were available from the Digital Equipment Computer Users Society (DECUS) including an implementation of C. Although the tools to develop and debug assembly-language programs were provided, other languages including C, Fortran, Pascal, and several versions of BASIC were available from DEC as "layered products" at extra cost. Versions of these and other programming languages were also available from other, third-party, sources. It is even possible to network RT-11 machines using DECNET, the Internet and protocols developed by other, third-party sources.
Distributions and minimal system configuration
The RT-11 operating system could be booted from, and perform useful work on, a machine consisting of two 8-inch 250KB floppy disks and 56KB of memory, and could support 8 terminals. Other boot options include the RK05 2.5MB removable hard disk platter, or magnetic tape. Distributions were available pre-installed or on punched tape, magnetic tape, cartridge tape, or floppy disk. A minimal but complete system supporting a single real-time user could run on a single floppy disk and in 8K 16-bit words (16KB) of RAM, including user programs. This was facilitated by support for swapping and overlaying. To realize operation on such small memory system, the keyboard command user interface would be swapped out during the execution of a user's program and then swapped into memory upon program termination. The system supported a real-time clock, printing terminal, VT11 vector graphic unit, 16 channel 100 kHz A/D converter with 2 channel D/A, 9600 baud serial port, 16 bit bidirectional boards, etc.
File system
RT-11 implemented a simple and fast file system employing six-character filenames with three-character extensions (6.3) encoded in RADIX-50, which packed those nine characters into only three 16-bit words (six bytes). This resulted in allowable filename characters being 'A'-'Z', 'a'-'z' forced to upper case, '0'-'9', '$', '%', '*'. Filenames could be prefixed by a device name to specify a device different to the default DK: device, also encoded in RADIX-50.
All files were contiguous, meaning that each file occupied consecutive blocks (the minimally addressable unit of disk storage, 512 bytes) on the disk. This meant that an entire file could be read (or written) very quickly. A side effect of this file system structure was that, as files were created and deleted on a volume over time, the unused disk blocks would likely not remain contiguous, which could become the limiting factor in creating large files; the remedy was to periodically “squeeze” (or "squish") a disk to consolidate the unused portions.
Each volume has only one directory which was preallocated at the beginning of the volume. The directory consists of an array of entries, one per file or unallocated space. Each directory entry is 8 (or more) 16-bit words, though a sysgen option allowed extra application-specific storage.
Compatibility with other DEC operating systems
Many RT-11 programs (those that did not need specialized peripherals or direct access to the hardware) could be directly executed using the RT=11 RTS (Run-time system) of the RSTS/E timesharing system or under RTEM (RT Emulator) on various releases of both RSX-11 and VMS.
The implementation of DCL for RT-11 increased its compatibility with the other DEC operating systems. Although each operating system had commands and options which were unique to that operating system, there were a number of commands and command options which were common.
Other PDP-11 operating systems
DEC also sold RSX-11M, a multiuser, multitasking operating system with realtime features, and RSTS/E (originally named RSTS-11) a multiuser time-sharing system, but RT-11 remained the operating system of choice for data acquisition systems where real time response was required. The Unix operating system also became popular, but lacked the real-time features and extremely small size of RT-11.
Hardware
RT-11 ran on all members of the DEC PDP-11 family, both Q-Bus- and Unibus-based. In addition, it ran on the Professional Series and the PDT-11 "Programmed Data Terminal" systems, also from DEC. Since the PDP-11 architecture was implemented in replacement products by other companies (E.g., the M100 and family from Mentec), or as reverse-engineered clones in other countries (E.g., the DVK from the Soviet Union), RT-11 runs on these machines as well.
Peripherals
Adding driver support for peripherals such as a CalComp plotter, typically involved copying files, and did not require a SYSGEN.
SHAREplus
HAMMONDsoftware distributed a number of RT-11 compatible operating systems including STAReleven, an early multi-computer system and SHAREplus, a multi-process/multi-user implementation of RT-11 which borrowed some architectural concepts from the VAX/VMS operating system. RT-11 device drivers were required for operation. Transparent device access to other PDP-11s and VAX/VMS were supported with a network option. Limited RSX-11 application compatibility was also available. SHAREplus had its strongest user base in Europe.
TSX-11
TSX-11, developed by S&H Computing, was a multi-user, multi-processing implementation of RT-11. The only thing it didn't do was handle the boot process, so any TSX-Plus machine was required to boot RT-11 first before running TSX-Plus as a user program. Once TSX-Plus was running, it would take over complete control of the machine from RT-11. It provided true memory protection for users from other users, provided user accounts and maintained account separation on disk volumes and implemented a superset of the RT-11 EMT programmed requests.
S&H wrote the original TSX because "Spending $25K on a computer that could only support one user bugged [founder Harry Sanders]"; the outcome was the initial four-user TSX in 1976. (14-18 users on a 2Mb 11/73, depending on workload). The last version of TSX-Plus had TCP/IP support.
Versions
Variants
Users could choose from variants with differing levels of support for multitasking, memory size, and separate I & D (Instruction and Data) address space:
Unmapped memory
- RT-11SJ (Single Job) allowed only one task. This was the initial distribution.
- RT-11BL (Base-line) a stripped-down version of SJ that has minimal memory residency and lacks optional features.
- RT-11FB (Foreground/Background) supported two tasks: a high-priority, non-interactive "Foreground" job, and a low-priority, interactive "Background" job.
- RT-11XM (eXtended Memory), a superset of FB,
