('RT' for ''Real Time'') was a small, single-user
Real-time Operating System for the
Digital Equipment Corporation PDP-11 family of 16-bit computers. RT-11 was first implemented in 1970 and was widely used for
Real-time systems,
Process Control , and
Data Acquisition across the full line of PDP-11 computers.
Users could choose from four variants with differing levels of support for
Multitasking :
- (Single Job) allowed only one task. This was the initial distribution.
- (Foreground/Background) supported two tasks: a high-priority, non-interactive "Foreground" job, and a low-priority, interactive "Background" job.
- (eXtended Memory) provided support for memory beyond 64kb, but required a minicomputer with memory management hardware; distributed from approx. 1975-on.
- provided support for systems with Separate Instruction and Data space (such as on the Unibus -based 11/44, 45, 55, 70, 84, and 94 and the Q-Bus -based 11/53, 73, 83, and 93)
- 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", as well as 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).
- RT-11 was written in assembly language. Heavy use of the conditional assembly and macro programming features of the
MACRO-11 assembler allowed a significant degree of configurability and allowed programmers to specify high-level instructions otherwise unprovided for in machine code. RT-11 distributions included the
Source Code of the operating system and its device drivers with all the comments removed and a program named "SYSGEN" which would build the operating system and drivers according to a user-specified configuration. Developer's documentation included a kernel listing that included comments.
- In early versions of RT-11, device drivers were built into the kernel at configuration time, but in later versions the device drivers were loadable. Because RT-11 was commonly used for device control and data acquisition, it was common for developers to write or enhance device drivers, and DEC encouraged such driver development by making their hardware subsystems (from bus structure to code) open, encouraging third-party hardware and software vendors, and by fostering the development of the
DIGITAL Equipment Computer Users Society .
- Users generally operated RT-11 via a
Printing Terminal or a
Video Terminal , originally via a strap-selectable current-loop (for conventional teletypes) or RS-232 (later 422 as well) interface on one of the CPU cards; DEC also supported the VT11 and VS60 graphics display devices (
Vector Graphics Terminal s with a graphic character generator for displaying text, and a
Light Pen for graphical input). A third-party favorite was the Tektronix 4010 family.
- RT-11 came with several programs available including the KED visual editor (a cut-down version of the
EDT Text Editor ) specifically designed for the DEC VT52 and subsequent VT100 terminals,
TECO , DEC's version of
Runoff , a command
Shell named "KMON" (for Keyboard Monitor) and a batch processor. Later versions supported a subset of the
DCL shell language. The system was complete enough to handle many modern personal computing tasks. Large amounts of free, user-contributed software for RT-11 were available from the
DIGITAL Equipment Computer Users Society , including an implementation of
C . Tools to develop and debug assembly-language programs were provided, but 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.
- The RT-11 operating system could be booted from, and actually perform useful work on, a machine consisting of two 8-inch 250kb floppy disks and 64K of memory, and could actually support 4 terminals. Other boot options include a 2.5MB removable hard disk platter (RK-05), or magnetic tape. Distributions were available pre-installed or on paper tape, magnetic tape, cartridge tape, or floppy disk. A minimal but complete system supporting a single real-time user could run on a 5MB hard disk and in 8K 16-bit words (16KB) of RAM, including user programs. 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.
- The RT-11 implemented a simple and fast file system and filenames with six characters and a three-character extension ("6.3" vs. the
MS-DOS 8.3 Filename format) encoded in
RADIX-50 , which packed those 9 characters into only six bytes. 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 space became fragmented and a disk would need to be periodically 'squeezed' to consolidate the unused portions. The practice of 'squeezing' a volume continues today under
Windows and other operating systems through a process called
Defragmentation .
- DEC also sold
RSX-11 , a multiuser, multitasking operating system with realtime features, and
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.
- RT-11 ran on all members of the DEC PDP-11 family, both
Q-Bus - and
Unibus -based, from the PDP-11/05 (its first target, in 1970), to the final PDP-11 implementations (PDP-11/93 and /94). 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 (Eg, the M100 and family from Mentec), or as reverse-engineered clones in other countries (Eg, the
Elektronika BK from the Soviet Union), RT-11 runs on these machines as well.
- S&H Computing developed
TSX-Plus , a multi-user, multi-processing extension of RT-11. This could be used to implement a time-shared RT-11 system.
Several specialized PDP-11 systems were sold based on RT-11:
- LAB-11 provided an LPS-11 analog peripheral for the collection of laboratory data
- PEAK-11 provided further customization for use with Gas Chromatograph s (analyzing the peaks produced by the GC); data collection ran in RT11's foreground process while the user's data analysis programs ran in the background.
- GT4x systems added a VT11 vector graphics peripheral. Several very popular demo programs were provided with these systems including Lunar Lander and a version of Spacewar! .
Many RT11 programs (those that did not need specialized peripherals or direct access to the hardware) could be directly executed using the RT11 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.
Several clones of RT-11 were made in the USSR: