|OS family||Multics-like and Unix-like|
|Initial release||March 27, 1981(Aegis SR1)|
|Latest release||Domain/OS SR10.4.1.2 / March 1992 (for SR10.4)|
|Userland||AEGIS, BSD, System V|
|DM windowing system, CLI|
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 was 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 was distinctive mainly for being designed for the networked computer, as distinct from its competitors, which were essentially standalone systems with added network features. The prime examples of this were the file system, which was fully integrated across machines, as opposed to Unix which even now draws a distinction between file systems on the host system and on others, and the user administration system, which was fundamentally network-based. So basic was this orientation that even a standalone Apollo machine could not be configured without a network card.
Domain/OS implemented functionality derived from both System V and early BSD Unix systems. It improved on AEGIS by providing a core OS upon which the user could 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) had had an optional product called Domain/IX available, which provided a similar capability, but with some drawbacks, principally the fact that core administrative tasks still required AEGIS commands. Also, the SR9 permissions system was not fully compatible with Unix behaviour. Domain/OS provided new administrative commands and a more complex permissions system which could be configured to behave properly under any of the three environments. Domain/OS also provided an improved version of the X Window System, complete with VUE (HP's predecessor to CDE), but performance tended 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 were much more reliable. However, later HP/Apollo machines (the DN10000, DN2500 and 4xx series workstations) could only run SR10.
Unlike many operating systems of the day, which were written in C or assembly language, many Domain/OS components were written in Pascal. Compilers for users were available for C, C++, Pascal, and Fortran.
All of the distributed administration features of Domain/OS were 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 to this day in protocol names such as ncacn_http.
AEGIS was similar to other workstations of the time, in that it used a high-resolution graphics screen and mouse to provide a GUI named DM (Display Manager). DM was integrated with the operating system's own window manager known as wmgr (Window Manager). The DM contained two built-in functions, a text editor and a transcript, which is a kind of virtual terminal. Additional functions could be added by user programs. One of the unique features of the DM was "universal editing". All text in any of the built-in windows could be edited using the same editing language. This included the history displayed in a transcript window, although that text was read-only. In addition, the history was unbounded. It started from the birth of the process to which it was attached, and older history was never deleted, as it is in all virtual terminals today. Another interesting feature was that each transcript was attached to a mini-input window where the process input could be edited using the same editing language used elsewhere.
The AEGIS command interface was similar to Unix, in that it had a command line interpreter which understood pipes, redirection, scripting, etc., and invoked other commands as separate programs, but the actual commands themselves were designed to be easier to remember and use than their sometimes cryptic Unix equivalents, and wildcards were expected to be expanded by individual commands rather than by the command line interpreter itself. One noticeable and very useful feature was the ability to embed environment variables in symbolic links, which, for example, allowed the user to switch between different versions of Unix simply by setting the SYSTYPE environment variable accordingly; symbolic links then pointed to the correct versions of the files.
This section needs expansion. You can help by adding to it. (October 2008)