Domain/OS

Domain/OS is the discontinued operating system used by the Apollo/Domain line of workstations manufactured by Apollo Computer. It was originally launched in 1981 as AEGIS, and was rebranded to Domain/OS in 1988 when Unix environments were added to the operating system. It is one of the early distributed operating systems. Hewlett-Packard supported the operating system for a short time after they purchased Apollo, but they later ended the product line in favor of HP-UX. HP ended final support for Domain/OS on January 1, 2001.

AEGIS
AEGIS is distinctive mainly for being designed for the networked computer, as distinct from its competitors, which are essentially standalone systems with added network features. The prime examples of this are the file system, which is fully integrated across machines, as opposed to Unix which draws a distinction between file systems on the host system and on others, and the user administration system, which is fundamentally network-based. So basic is this orientation that even a standalone Apollo machine cannot be configured without a network card.

Domain/OS implements functionality derived from both System V and early BSD Unix systems. It improves on AEGIS by providing a core OS upon which the user can install any or all of three environments: AEGIS, System V Unix, and BSD Unix. This was done in order to provide greater compatibility with Unix; AEGIS version SR9, which immediately preceded Domain/OS (itself numbered SR10) has an optional product called Domain/IX available, which provides a similar capability, but with some drawbacks, principally the fact that core administrative tasks still require AEGIS commands. Also, the SR9 permissions system is not fully compatible with Unix behaviour. Domain/OS provides new administrative commands and a more complex permissions system which can be configured to behave properly under any of the three environments. Domain/OS also provides an improved version of the X Window System, complete with VUE (HP's predecessor to CDE), but performance tends to be poor.

User upgrading from AEGIS SR9 to Domain/OS SR10 was slowed by the fact that many users saw no requirement, by increased disk space requirements, by new and more complex administration tools, by SR10's poorer performance, and by the buggy nature of SR10.0, although later versions are more reliable. However, later HP/Apollo machines (the DN10000, DN2500 and 4xx series workstations) can only run SR10.

Unlike many operating systems of the day, which were written in C or assembly language, many Domain/OS components are written in Pascal. Compilers for users are available for C, C++, Pascal, and Fortran.

All of the distributed administration features of Domain/OS are built around a remote procedure call system called NCS RPC. Though RPC was later end-of-lifed with the operating system, HP contributed RPC to the Open Software Foundation, which incorporated its Interface Definition Language (IDL) into their DCE product, from which the same technology was later used for CORBA. One of the original developers went to work for Microsoft, where he developed MSRPC as a fairly compatible clone which today forms a central component of Windows systems. Traces of the history can be seen in protocol names such as ncacn_http.

User interface
AEGIS is similar to other workstations of the time, in that it uses a high-resolution graphics screen and mouse to provide a GUI named DM (Display Manager). DM is integrated with the operating system's own window manager known as wmgr (Window Manager). The DM contains two built-in functions, a text editor and a transcript, which is a kind of virtual terminal. Additional functions can be added by user programs. One of the unique features of the DM is "universal editing". All text in any of the built-in windows can be edited using the same editing language. This includes the history displayed in a transcript window, although that text is read-only. In addition, the history is unbounded. It starts from the birth of the process to which it is attached, and older history is never deleted. Each transcript is attached to a mini-input window where the process input can be edited using the same editing language used elsewhere.

The AEGIS command interface is similar to Unix, in that it has a command line interpreter which understands pipes, redirection, scripting, etc., and invokes other commands as separate programs, but the actual commands themselves are designed to be easier to remember and use than their Unix equivalents, and wildcards are expected to be expanded by individual commands rather than by the command line interpreter itself. The user may embed environment variables in symbolic links, which, for example, allows switching between different versions of Unix by setting the SYSTYPE environment variable accordingly; symbolic links then point to the appropriate versions of the files.

History
Domain/OS incorporates several ideas from Multics, including single-level store and dynamic linking.