RT-11

RT-11 ("RT" for real-time) is a discontinued 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.

RT-11
DeveloperDigital Equipment Corporation and Mentec Inc.
Written inMACRO-11
OS familyDEC OS family
Working stateDiscontinued
Source modelClosed source
Initial release1970
Latest release5.7 / October 1998[1]
Marketing targetLaboratory/Scientific/Real-time industrial equipment
Available inEnglish
PlatformsPDP-11 family and clones
Kernel typeMonolithic kernel
Default user interfaceKeyboard Monitor (KMON) Command line interface
LicenseProprietary

Features

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, 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).

Source code

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.

Device drivers

In RT-11, device drivers 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.

Human interface

RT-11 help
The end of the HELP command output from RT-11SJ displayed on a VT100.

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 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 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 "/" sign rather than "-" used in Unix-like operating systems. All commands had full form and a short one to which it could be contracted. For example, 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 executables. 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 are basic commands implemented in the KMON. Some commands and utilities were later borrowed in DOS-line of operating systems. These commands include DIR, COPY, RENAME, ASSIGN, CLS, DELETE, TYPE, HELP and others. FORMAT command was used for physical disk formatting, although it was not capable of creating file system, for which purpose INIT command was used (analogue of DOS command FORMAT /Q). Most commands supported use of 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 is omitted, unit 0 is 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).

Software

RT-11 was distributed with utilities which allowed a user to perform many actions. The utilities DIR, DUP, PIP and FORMAT allowed a user to manage their disk volumes. TECO, EDIT, and the visual editors KED (for the DEC VT100) and K52 (for the DEC VT52) allowed a user to create and edit source and data files. MACRO, LINK, and LIBR allowed a user to build their own executables. ODT, VDT and the SD device allowed a user to debug programs. DEC's version of Runoff allowed a user to produce documents. Finally, VTCOM allowed a user to connect with and use (or transfer files to and from) another computer system over the phone using a modem.

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 (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). 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 the creation of 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.[2]

Compatibility with other DEC operating systems

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.

Other PDP-11 operating systems

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.

Hardware

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 (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.

Compatible operating systems

Fuzzball

Fuzzball, routing software for Internet Protocols, was capable of running RT-11 programs.[3]

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

S&H Computing developed and distributed TSX-Plus, 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. 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.

Versions

Variants

Users could choose from four variants with differing levels of support for multitasking:

  • RT-11SJ (Single Job) allowed only one task. This was the initial distribution.
  • 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) provided support for memory beyond 64kb, but required a minicomputer with memory management hardware; distributed from approx. 1975-on.
  • RT-11ZM 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)

Specialized versions

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 chromatographs (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!.
  • GT62 systems added a VS60 vector graphics peripheral (VT11-compatible) in a credenza cabinet.
  • GAMMA-11 was a packaged RT-11 and PDP 11/34 system that was one of the first fully integrated Nuclear Medicine systems. It included fast analog/digital converters, 16 bit colour graphical displays, and an extensive software library for development of applications for the purpose of data collection, analysis and display from a nuclear medicine gamma camera.

Clones in the USSR

Several clones of RT-11 were made in the USSR:

  • RAFOS ("РАФОС") — SM EVM
  • FOBOS ("ФОБОС") — Elektronika 60
  • FODOS ("ФОДОС")
  • RUDOS ("РУДОС")
  • OS DVK ("ОС ДВК") — DVK
  • OS BK-11 ("ОС БК-11") — Elektronika BK
  • MASTER-11 ("МАСТЕР-11") — DVK
  • NEMIGA OS ("НЕМИГА") — Nemiga PK 588

Notes

  1. ^ OS History
  2. ^ "Digital's RT-11 File System". Retrieved 2015-01-01.
  3. ^ Mills, D. L. (1988). "The Fuzzball" (PDF). ACM SIGCOMM Computer Communication Review. 18 (4): 115–122. doi:10.1145/52325.52337. Retrieved 2009-05-06.

External links

CLS (command)

In computing, CLS (for clear screen) is a command used by the command line interpreters COMMAND.COM and CMD.EXE on DOS, FlexOS, OS/2, Microsoft Windows and ReactOS operating systems to clear the screen or console window of commands and any output generated by them. It does not clear the user's history of commands, however.

The command is also available in the DEC RT-11 operating system, in the open-source MS-DOS emulator DOSBox and in the EFI shell. In other environments, such as Linux and Unix, the same functionality is provided by the clear command.

Copy (command)

In computing, copy is a command in various operating systems. The command copies computer files from one directory to another.

DIGITAL Command Language

DIGITAL Command Language (DCL) is the standard command language

adopted by most of the operating systems (OSs) that were sold by the former Digital Equipment Corporation (which was acquired by Compaq, which was in turn acquired by Hewlett-Packard). DCL had its roots in the IAS, TOPS-20, and RT-11 OSs and was implemented as a standard across most of Digital's OSs, notably RSX-11, but took its most powerful form in the OpenVMS OS.

Written when the programming language Fortran was in heavy use, DCL is a scripting language supporting several datatypes, including strings, integers, bit arrays, arrays and booleans, but not floating point numbers. Access to OpenVMS system services (kernel API) is through lexical functions, which perform the same as their compiled language counterparts and allow scripts to get information on system state. DCL includes IF-THEN-ELSE, access to all the Record Management Services (RMS) file types including stream, indexed, and sequential, but unfortunately lacks a DO-WHILE or other looping construct, requiring users to make do with IF and GOTO-label statements instead.

DCL is available for other operating systems as well, including

VCL and VX/DCL for Unix,

VCL for MS-DOS, OS/2 and Windows,

PC-DCL and Open DCL for Windows/Linux

and Accelr8 DCL Lite for Windows.DCL is the basis of the XLNT language, implemented on Windows by an interpreter-IDE-WSH engine combination with CGI capabilities distributed by Advanced System Concepts Inc. from 1997.

Del (command)

In computing, del (or erase) is a command in command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS, NDOS, 4OS2, 4NT and Windows PowerShell. It is used to delete one or more files or directories from a file system.

Dir (command)

In computing, dir (directory) is a command used for computer file and directory listing.

Format (command)

In computing, format, a command-line utility included in 86-DOS, MS-DOS, IBM PC DOS and OS/2, Microsoft Windows and ReactOS operating systems, carries out disk formatting.

The command is also available in ISIS-II, TRIPOS, AmigaDOS, OS-9, FlexOS, SpartaDOS X, 4690 OS, PTS-DOS, and in the DEC RT-11 operating system. The FreeDOS version was developed by Brian E. Reifsnyder.

Help (command)

In computing, help is a command in various command line shells such as COMMAND.COM, cmd.exe, Bash, 4DOS/4NT, Windows PowerShell, Singularity shell, Python, MATLAB and GNU Octave. It provides online information about available commands and the shell environment.The command is available in operating systems such as DOS, OS/2, Microsoft Windows, ReactOS, THEOS/OASIS, Z80-RIO, OS-9 OpenVOS, MPE/iX, KolibriOS and also in the DEC RT-11, TOPS-10 and TOPS-20 operating systems. Furthermore it is available in the open source MS-DOS emulator DOSBox and in the EFI shell. The DEC OS/8 CCL help command prints information on specified OS/8 programs. On Unix, the command is part of the Source Code Control System and prints help information for the SCCS commands.

KOI-7

KOI-7 (КОИ-7) is a 7-bit character encoding, designed to cover Russian, which uses the Cyrillic alphabet.

In Russian, KOI-7 stands for Kod Obmena Informatsiey, 7 bit (Код Обмена Информацией, 7 бит) which means "Code for Information Exchange, 7 bit".It was first standardized in GOST 13052-67 (with the 2nd revision GOST 13052-74 / ST SEV 356-76) and GOST 27463-87 / ST SEV 356-86.

Shift Out (SO) and Shift In (SI) control characters are used in KOI-7, where SO starts printing Russian letters (KOI-7 N1), and SI starts printing Latin letters again (KOI-7 N0), or for lowercase and uppercase switching. This version is also known as KOI7-switched aka csKOI7switched.On ISO 2022 compatible computer terminals KOI7-switched can be activated by the escape sequence ESC ( @ ESC ) N LS0.KOI-7 was used on machines like the SM EVM (СМ ЭВМ) and DVK (ДВК); KOI-7 N2 was utilized in the machine-language of the Электроника Д3-28 (Elektronika D3-28) as four-digit hexadecimal code, БЭСМ-6 (BESM-6), where it was called ВКД, (internal data code). The encodings were also used on RSX-11, RT-11 and similar systems.

MK-DOS

MK-DOS was one of the most widespread operating systems for Elektronika BK personal computers, developed by Mikhail Korolev and Dmitriy Butyrskiy from 1in Like ANDOS, the system provided full compatibility for all models, emulating the BK-0010 environments on the more modern BK-0011 and BK-0011M machines. All program requests to a magnetic tape (if they were made through proper ROM functions) were redirected to the disk.

The system supported up to 4 physical disk drives (the actual number was limited by the disk ROM installed) and as many hard disk partitions as the number of letters in the Latin alphabet, which could be used as separate logical drives, each with a volume of up to 32 MB (See also: drive letter assignment). Starting from version 3.0 the system also supported mounting disk images as logical drives. When booted on a BK-0011 or BK-0011M the system automatically created a RAM disk in the computer's memory.

The most widespread file system along MK-DOS users was MicroDOS. It did not support file fragmentation (like the file system used with RT-11) and required frequent spatial reallocation to maintain optimum contiguous free space (RT-11 users would use the 'SQUEEZE' command, which worked the same way as the *COMPACT command on Acorn's DFS for the BBC Micro). Although MK-DOS was incompatible with the RT-11's file system, both shared many principles. MicroDOS' file system had read-only support in ANDOS. The filename length was limited by 14 symbols (the filename extension was not recognized separately and was considered as part of the filename).

A minimal installation of the system took as little as 8 KB of the computer's memory. It had a functional Norton Commander-like file manager called MCommander. It also shipped with a number of utilities including drivers for the RT-11, FAT12 and CSI-DOS file systems as add-ons for the file manager.

PRINT (command)

In computing, the print command was introduced in MS-DOS/IBM PC DOS 2.0 in order to provide single-user print spooling capability. It is roughly similar to that provided by the UNIX System V lp and BSD lpr print spooler systems.

The command is also available in the DEC RT-11, OS/8 and TOPS-20 operating systems and also in FlexOS, PTS-DOS, Microsoft Windows, FreeDOS, OpenVOS, AROS, and MPE/iX.

RSTS/E

RSTS () is a multi-user time-sharing operating system, initially developed by Evans Griffiths & Hart of Boston, and acquired by Digital Equipment Corporation (DEC, now part of Hewlett Packard) for the PDP-11 series of 16-bit minicomputers. The first version of RSTS (RSTS-11, Version 1) 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 (RSTS/E, Version 10.1) 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.

Record Management Services

Record Management Services (RMS) are procedures in the VMS, RSTS/E, RT-11 and high-end RSX-11 operating systems that programs may call to process files and records within files. Its file formats and procedures are similar to those of the Virtual Storage Access Method (VSAM) product offered by IBM for its mainframe computers and by other vendors for file and record management. VMS RMS is an integral part of the system software; its procedures run in executive mode. (RMS was not integrated into RT-11 and RSTS/E, but was available as a "layered product".)

RMS supports four record access methods:

Sequential Access

Relative Record Number Access

Record File Address Access

Indexed AccessRMS supports four record formats:

Fixed length

Variable length

Variable record length with fixed-length control blocks

Stream files (records separated by termination characters)

STREAM: Records terminated by CRLF

STREAM_CR: Records terminated by CR

STREAM_LF: Records terminated by LF

Ren (command)

In computing, ren (or rename) is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS, 4NT and Windows PowerShell. It is used to rename files and in some implementations (such as AmigaDOS) also directories. It can also move a file to a new path, if it is on the same device. It is analogous to the Unix mv command.

SM EVM

SM EVM (СМ ЭВМ, abbreviation of Система Малых ЭВМ—literally System of Mini Computers) was the general name for several types of Soviet and Comecon minicomputers produced in the 1970s and 1980s. Production began in 1975.

Most types of SM EVM were clones of DEC PDP-11 and VAX. SM-1 and SM-2 were clones of Hewlett-Packard minicomputers.

The common operating systems for the PDP-11 clones were translated versions of RSX-11 (ОС РВ) for the higher spec models and RT-11 (РАФОС, ФОДОС) for lower spec models. Also available for the high-end PDP-11 clones was MOS, a clone of UNIX.

Start (command)

In computing, start is a command of the OS/2, Microsoft Windows and ReactOS command-line interpreter cmd.exe (and some versions of COMMAND.COM) to start programs or batch files or to open files or directories using the default program.

On Apple Macintosh, the corresponding command is open and on OpenVOS it is start_process. The command is also one of the basic commands implemented in the Keyboard Monitor (KMON) of the DEC RT-11 operating system.

The TOPS-10 and TOPS-20 operating systems also provide a start command. It is used to start a program in memory at a specified address.

TIME (command)

In computing, TIME is a command in DOS, OS/2, Microsoft Windows and ReactOS that is used to display and set the current system time of the operating system. It is included in command-line interpreters (shells) such as COMMAND.COM, CMD.EXE, 4DOS, 4OS2 and 4NT.

The command is also available in the DEC RT-11 operating system and in the EFI shell.

In Unix, the date command displays and sets both the time and date, in a similar manner.

TYPE (DOS command)

In computing, type is a command in various command-line interpreters (shells) such as COMMAND.COM, cmd.exe, 4DOS/4NT and Windows PowerShell used to display the contents of specified files on the computer terminal. The analogous Unix command is cat.

Type code

A type code is the only mechanism used in the classic Mac OS to denote a file's format, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes. For example, the type code for a HyperCard stack is STAK; the type code of any application program is APPL.

macOS retains type codes, but supports filename extensions as well. The deprecation of type codes (and creator codes) in favour of the older extension system, popularised by PDP-11 systems (RT-11, RSX-11, etc.), CP/M, and most recently by Microsoft's MS-DOS, has been very controversial with Mac users. The type and creator system is considerably richer and more sophisticated than that provided by extensions, and many users felt that adopting DOS conventions is a backward step. They claim that type and creator information rightfully belongs to the metadata associated with a file, and is therefore illogically placed within the file's name, where its presence can cause problems for the user. Apple defends the decision by saying that extensions have become the de facto standard for indicating file type, and they need to work seamlessly with the rest of the industry.

Type codes are not readily accessible for users to manipulate, although they can be viewed and changed with certain software, most notably the macOS command line tools GetFileInfo and SetFile which are installed as part of the developer tools into /Developer/Tools, or the ResEdit utility available for older Macs.

Changes done in Mac OS X Tiger with the addition of Uniform Type Identifiers suggest that Apple heard those criticisms and is working on a file type successor to both type code and filename extensions.

UKNC

UKNC (Russian: УКНЦ) was a Soviet PDP-11-compatible educational computer, aimed at teaching school informatics courses. It is also known as Elektronika MS-0511. UKNC stands for Educational Computer by Scientific Centre.

Open-source
Proprietary
Historic

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.