Domain/OS
This article needs additional citations for verification. (February 2008) |
![]() | |
![]() Domain/OS 10.4, showing a Display Manager (DM) session | |
Developer | Apollo Computer, Hewlett-Packard |
---|---|
Written in | Pascal |
OS family | Multics-like and Unix-like |
Working state | Historic |
Initial release | March 27, 1981 | (Aegis SR1)
Latest release | Domain/OS SR10.4.1.2 / March 1992 (for SR10.4)[1] |
Available in | English |
Platforms | Apollo/Domain workstations |
Kernel type |
|
Userland | AEGIS, BSD, System V |
Default user interface | DM windowing system, CLI |
Domain/OS was a distributed, multiuser operating system developed by Apollo Computer and later maintained by Hewlett-Packard after Apollo's acquisition in 1989. Initially introduced as AEGIS in 1981, it pioneered the concept of network-centric computing, where every machine was integrated into a unified network file and user system. In 1988, Apollo added compatibility layers for System V and BSD Unix, renaming the system to Domain/OS.
Hewlett-Packard supported the operating system for a short time but later discontinued it in favor of HP-UX. Final official support for Domain/OS ended on January 1, 2001.[2]
Architecture
[edit]Domain/OS used a hybrid kernel model that began as a monolithic kernel in AEGIS and later adopted a microkernel approach. One of its most notable design principles was a built-in distributed architecture: a standalone workstation could not even be configured without a network card. All file systems, user accounts, and system resources were managed across the network as a unified environment.[3]
The operating system adopted a single-level store model, integrating memory and disk storage into one address space. Symbolic links, environment variable-aware paths, and universal network access were supported natively. Apollo systems used the NCS RPC framework to allow distributed services, which later influenced both DCE and CORBA.
Design goals and innovations
[edit]Apollo designed Domain/OS to support multiple UNIX-like environments simultaneously. This was known as the "Universes" model: users could choose between AEGIS, BSD, or System V interfaces. Each environment provided a different shell experience, administrative tooling, and file hierarchy.
The GUI, known as Display Manager (DM), was integrated directly into the OS and supported a "universal editing" interface, allowing users to edit command history and terminal input uniformly. Domain/OS also emphasized human-readable command syntax, deviating from cryptic Unix conventions.[4]
Deployment and usage
[edit]Domain/OS and Apollo workstations were used extensively in engineering, aerospace, and academic environments during the 1980s. Notably, NASA and several national laboratories deployed Apollo systems for tasks requiring high-performance networking and graphical processing. Apollo's early adoption of Ethernet and RPC made its workstations attractive in distributed environments long before such models were common.
Limitations and criticism
[edit]Despite its innovations, Domain/OS faced challenges. The operating system required significantly more disk space and memory than contemporaries. Early SR10 releases were criticized for poor performance, bugs, and high complexity in administration. Later versions improved reliability but still lacked software ecosystem support compared to mainstream UNIX vendors.[5]
Hardware support was also limited; many peripheral drivers were proprietary, and support for third-party expansions was scarce. With the industry moving toward standardization on System V and BSD derivatives, Domain/OS remained a niche system for specialized users.
AEGIS
[edit]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.[citation needed]
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[who?] 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.[citation needed]
User interface
[edit]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
[edit]Domain/OS incorporates several ideas from Multics, including single-level store and dynamic linking.[6]
In 1989, Hewlett-Packard acquired Apollo Computer and continued limited support for Domain/OS for several years. However, HP ultimately decided to consolidate its workstation operating systems under HP-UX, and officially ended support for Domain/OS on January 1, 2001.[7]
Release | Date |
---|---|
1.0 | March 1981 |
1.1 | April 1981 |
2.0 | July 1981 |
2.1 | August 1981 |
2.2 | September 1981 |
3.0 | November 1981 |
3.1 | January 1982 |
4.0 | April 1982 |
6.0 | May 1983 |
7.0 | October 1983 |
8.0 | April 1984[8] |
8.1 | February 1985 |
9.2 | February 1986 |
9.2.3 | April 1986 |
9.2.5 | May 1986 |
9.5 | January 1987 |
9.7 | November 1987 |
10.1 | December 1988 |
10.2 | November 1989 |
10.3 | August 1990 |
10.4 | March 1992[9] |
Legacy and Influence
[edit]Domain/OS played a key role in the early development of distributed computing. Its NCS RPC implementation influenced the design of the DCE RPC, and its IDL (Interface Definition Language) became foundational to CORBA.[10]
An original Apollo engineer later worked at Microsoft, contributing to the development of MSRPC, which is still widely used in Windows-based enterprise networks. Many Domain/OS concepts — including universal resource naming, single-level store models, and transparent networking — inspired features in modern distributed operating systems and remote-access frameworks.[11]
See also
[edit]References
[edit]- ^ "Apollo Domain System Software Release Document 10.4" (PDF). March 1992.
- ^ "Domain/OS overview". OpenPA.net. Retrieved June 19, 2025.
- ^ "Apollo System Overview". Retrieved June 19, 2025.
- ^ Shackelford, John R. (1995). Inside OSF DCE. McGraw-Hill. ISBN 9780078820474.
{{cite book}}
: Check|isbn=
value: checksum (help) - ^ "HP-UX and the End of Domain/OS". Retrieved June 19, 2025.
- ^ "Aegis Outline" (PDF). March 1985.
- ^ "Domain/OS overview". OpenPA.net. Retrieved June 19, 2025.
- ^ Graham, Lawrence D. (1999). Legal Battles that Shaped the Computer Industry. Greenwood Publishing Group. p. 36. ISBN 1-56720-178-4.
- ^ "Apollo Domain System Software Release Document 10.4" (PDF). March 1992.
- ^ Siegel, Jon (2000). CORBA 3 Fundamentals and Programming. Wiley. ISBN 978-0471376412.
{{cite book}}
: Check|isbn=
value: checksum (help) - ^ "Network Computing System overview". Retrieved June 19, 2025.
Further reading
[edit]- DOMAIN System User's Guide. Apollo Computer Inc., 2nd. ed., 1987[1]