Run-time system
Encyclopedia : R : RU : RUN : Run-time system
A run-time system (RTS) was a concept peculiar to the RSTS/E operating system. It was a piece of resident code which was mapped into the high end of the address space of a process, which could be called on to provide services to the running program.
RSTS/E did not itself define any standard filename extension for an executable program file; instead, each installed RTS defined its own extension, and the appropriate one was loaded depending on the actual name of the program file. If the user issued a command to run a program without specifying the extension, then the system went through all installed RTSs, trying each corresponding extension in turn until it found the name of an existing program file.
The actual responsibility for loading and executing the program was left to the run-time system; thus, users could run interpreted programs just as easily as ones that were compiled into actual machine code, provided that the interpreter was appropriately implemented as a run-time system. The standard BASIC-PLUS RTS provided a compiler, interpreter and CLI all packed into just 32kiB of code. And indeed many of the standard system utility programs (including privileged ones like LOGIN and LOGOUT!) were written in BASIC-PLUS.
Other RTSs provided partial emulation facilities, allowing some simple programs written for the RT-11 and RSX-11 operating systems to run under RSTS.
Under RSTS, the TECO editor was also implemented as a run-time system, though its CLI function was a stub which loaded a program with a predefined name which had to be provided by the user. This allowed the user to implement their own CLI.
Even a version of the Space Invaders video arcade game was eventually implemented as a multi-user run-time system (driving VT52 video terminals).
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
