The paper gives an overview over an operating system which provides for a flexible interface to support a wide spectrum of real-time language facilities. Due to its modular structure it can be tailored to the requirements of the language. In many cases this is achieved by an automatic, dialogue controlled generation of the system. For more serious changes well defined “basic functions” of the system have to be changed or new functions can easily be introduced. On the assembler level the system requests (SVC) are available as macro statements defined similar to real-time language syntax. A list of these macro calls is explicitly presented to give an overview over an implementation for the pdp 11 computer family; it shows the range in the definition of such a macro library. Based on this lowest level three methods to implement system requests in real-time languages are discussed. If the language allows assembler insertions the macros can immediately be used. If the real-time facilities of the language are connected via subroutine calls, they are realized by adding code procedures which contain the corresponding macros. In the third case, real-time operations are part of the syntax and can be compiled using the macros as inline code or generating adequate subroutine calls. These three methods are discussed with respect to readability, portability, software-safety, runtime efficiency and implementation costs. Implementations are illustrated by a few examples.
Read full abstract