Developer | Digital Equipment Corporation and Mentec Inc. |
---|---|
Written in | MACRO-11 |
Working state | Discontinued |
Source model | Closed source |
Initial release | 1973[ citation needed ] |
Latest release | 5.7 / October 1998 [1] |
Marketing target | Laboratory, scientific, industrial equipment |
Available in | English |
Platforms | PDP-11 family and clones |
Kernel type | Monolithic |
Default user interface | Keyboard Monitor (KMON) Command-line interface |
License | Proprietary |
RT-11 (Real-time 11) is a discontinued small, low-end, [2] 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 computing systems, process control, and data acquisition across all PDP-11s. It was also used for low-cost general-use computing. [2]
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 RT-11, device drivers [3] [4] 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.
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). [2] The terms foreground and background are counterintuitive; the background job was typically the user's command-line interpreter; a foreground job might be doing something like non-interactive data collection.
Users generally operated RT-11 via a printing terminal or a video terminal, originally via a strap-selectable current-loop (for conventional teletypes) or via an RS-232 (later RS-422 as well) interface on one of the CPU cards; DEC also supported the VT11 and VS60 graphics display devices (vector graphics terminals with a graphic character generator for displaying text, and a light pen for graphical input). A third-party favorite was the Tektronix 4010 family.
The Keyboard Monitor (KMON) interpreted commands issued by the user and would invoke various utilities with Command String Interpreter (CSI) forms of the commands. RT-11 command language had many features (such as commands and device names) that can be found later in the DOS line of operating systems which heavily borrowed from RT-11. The CSI form expected input and output filenames and options ('switches' on RT-11) in a precise order and syntax. The command-line switches were separated by a slash (/
) rather than the dash (-
) used in Unix-like operating systems. All commands had a full form and a short one to which they could be contracted. For example, the RENAME command could be contracted to REN.
Batch files and the batch processor could be used to issue a series of commands with some rudimentary control flow. Batch files had the extension .BAT.
In later releases of RT-11, it was possible to invoke a series of commands using a .COM command file, but they would be executed in sequence with no flow control. Even later, it was possible to execute a series of commands with great control through use of the Indirect Command File Processor (IND), which took .CMD control files as input.
Files with the extension .SAV were a sort of executable. They were known as "save files" because the RT-11 SAVE command could be used to save the contents of memory to a disk file which could be loaded and executed at a later time, allowing any session to be saved.
The SAVE command, along with GET, START, REENTER, EXAMINE and DEPOSIT were basic commands implemented in the KMON. Some commands and utilities were later borrowed in the DOS line of operating systems. These commands include DIR, COPY, RENAME, ASSIGN, CLS, DELETE, TYPE, HELP and others. The FORMAT command was used for physical disk formatting, although it was not capable of creating file system, for which purpose the INIT command was used (analogue of DOS command FORMAT /Q). Most commands supported using wildcards in file names.
Physical device names were specified in the form 'dd{n}:' where 'dd' was a two-character alphabetic device name and the optional 'n' was the unit number (0–7). When the unit number was omitted, unit 0 was assumed. For example, TT: referred to the console terminal, LP: (or LP0:) referred to the parallel line printer, and DX0:, DY1:, DL4: referred to disk volumes (RX01 unit 0, RX02 unit 1, RL01 or RL02 unit 4, respectively). Logical device names consisted of 1–3 alphanumeric characters and were used in the place of a physical device name. This was accomplished using the ASSIGN
command. For example, one might issue ASSIGN DL0 ABC
which would cause all future references to 'ABC:' to map to 'DL0:'. Reserved logical name DK: referred to the current default device. If a device was not included in a file specification, DK: was assumed. Reserved logical name SY: referred to the system device (the device from which the system had been booted).
Later versions of RT-11 allowed specification of up to 64 units (0–77 octal) for certain devices, but the device name was still limited to three alphanumeric characters. This feature was enabled through a SYSGEN selection, and only applied to the DU and LD device handlers. In these two cases, the device name form became 'dnn:' where 'd' was 'D' for the DU device and 'L' for the LD device, and 'nn' was 00–77(octal).
RT-11 was distributed with utilities for performing many actions. The utilities DIR , DUP, PIP and FORMAT were for managing disk volumes. TECO, EDIT, and the visual editors KED (for the DEC VT100) and K52 (for the DEC VT52) were used to create and edit source and data files. MACRO, LINK, and LIBR were for building executables. ODT, VDT and the SD device were used to debug programs. DEC's version of Runoff [5] 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. [6] 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, [7] 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.
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.
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. [8] [9]
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. [10]
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.
DEC also sold RSX-11, 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.
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 (note that the PDP-11/05 was released 1972, so this probably was a PDP-11/20)), 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 (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.
Adding driver support for peripherals such as a CalComp plotter, [11] typically involved copying files, and did not require a SYSGEN. [2]
Fuzzball, routing software for Internet Protocols, was capable of running RT-11 programs. [12]
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, [13] 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] TSX-Plus (released in 1980) was the successor to TSX, released in 1976. [14] The system was popular in the 1980s. RT-11 programs generally ran, unmodified, under TSX-Plus and, in fact, most of the RT-11 utilities were used as-is under TSX-Plus. Device drivers generally required only slight modifications.
Depending on which PDP-11 model and the amount of memory, the system could support a minimum of 12 users [14] (14-18 users on a 2Mb 11/73, depending on workload). [15] The last version of TSX-Plus had TCP/IP support.
Users could choose from variants with differing levels of support for multitasking, memory size, and separate I & D (Instruction and Data) address space:
Several specialized PDP-11 systems were sold based on RT-11:
Several clones of RT-11 were made in the USSR:
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especially as the TOPS-10 operating system became widely used.
The PDP–11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the late 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 sold, making it one of DEC's most successful product lines. The PDP-11 is considered by some experts to be the most popular minicomputer.
In computing, booting is the process of starting a computer as initiated via hardware such as a button on the computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.
Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.
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.
OS/8 is the primary operating system used on the Digital Equipment Corporation's PDP-8 minicomputer.
Peripheral Interchange Program (PIP) was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for PDP-10, PDP-11, and PDP-8 architectures. In the 1970s and 1980s Digital Research implemented PIP on CP/M and MP/M.
RSTS is a multi-user time-sharing operating system developed by Digital Equipment Corporation for the PDP-11 series of 16-bit minicomputers. The first version of RSTS was implemented in 1970 by DEC software engineers that developed the TSS-8 time-sharing operating system for the PDP-8. The last version of RSTS 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 and RSX-11 operating systems.
Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of operating systems for IBM System/360, System/370 and later mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. In its time, DOS/360 was the most widely used operating system in the world.
TSX-Plus is a multi-user operating system for the PDP-11/LSI-11 series of computers. It was developed by S&H Computer Systems, Inc. and is based on DEC's RT-11 single-user real-time operating system.
DECtape, originally called Microtape, is a magnetic tape data storage medium used with many Digital Equipment Corporation computers, including the PDP-6, PDP-8, LINC-8, PDP-9, PDP-10, PDP-11, PDP-12, and the PDP-15. On DEC's 32-bit systems, VAX/VMS support for it was implemented but did not become an official part of the product lineup.
In computer data, a substitute character (␚) is a control character that is used to pad transmitted data in order to send it in blocks of fixed size, or to stand in place of a character that is recognized to be invalid, erroneous or unrepresentable on a given device. It is also used as an escape sequence in some programming languages.
BASIC-11 was a dialect of the basic language for PDP-11 operating systems such as RSX-11, RT-11, TSX and TSX-Plus. It was a classic BASIC in that it used line numbers, supported line number editing, and classic function syntax. It provided extended support for user-defined functions, external sequential disk files, and linking with assembler language modules for device support and operating system interfaces.
TSX-32 has been a general purpose 32-bit multi-user multitasking operating system for x86 architecture platform, with a command line user interface. It is compatible with some 16-bit DOS applications and supports file systems FAT16 and FAT32. It was developed by S&H Computer Systems, and has been available since 1989.
BATCH-11/DOS-11, also known simply as DOS-11, is a discontinued operating system by Digital Equipment Corporation (DEC) of Maynard, Massachusetts. The first version of DOS-11 (V08-02) was released in 1970 and was the first operating system to run on the Digital PDP-11 minicomputer. DOS-11 was not known to be easy to use even in its day and became much less used in 1973 with the release of the RT-11 operating system.
TSS/8 is a discontinued time-sharing operating system co-written by Don Witcraft and John Everett at Digital Equipment Corporation in 1967. DEC also referred to it as Timeshared-8 and later the EduSystem 50.
MTS System Architecture describes the software organization of the Michigan Terminal System, a time-sharing computer operating system in use from 1967 to 1999 on IBM S/360-67, IBM System/370, and compatible computers.
Synergy DBL is a compiled, imperative programming language designed for business use. The language was originally called DBL; later it was referred to as Synergy Language; as of 2012 the official name is Synergy DBL. It is based on Digital Equipment Corporation’s DIBOL programming language.
TENEX is an operating system developed in 1969 by BBN for the PDP-10, which later formed the basis for Digital Equipment Corporation's TOPS-20 operating system.
Interactive Application System (IAS) was a DEC operating system for the PDP-11. It was a fork from RSX-11D.
Compress the volume by using the monitor SQUEEZE command
The SQUEEZE command consolidates in a single area all unused ...
efficient, general-purpose timesharing for up to 20 users on 11/23 and 11/34 based ...