# Domain/OS

Domain/OS was een besturingssysteem dat sinds 1981 ontwikkeld werd door Apollo Computer voor hun Apollo/Domain-lijn van werkstations. Het werd oorspronkelijk gelanceerd als AEGIS en werd in 1988 omgedoopt tot Domain/OS toen Unix-omgevingen aan het besturingssysteem werden toegevoegd. Het is een van de eerste gedistribueerde besturingssystemen. Hewlett-Packard ondersteunde het besturingssysteem korte tijd nadat ze Apollo overgenomen hadden in 1989, maar de productlijn werd later beëindigd ten gunste van HP-UX. De ondersteuning voor Domain/OS werd definitief stopgezet in januari 2001.

## AEGIS

AEGIS nam verschillende ideeën van Multics over, waaronder single-level store en shared libraries. AEGIS onderscheidt zich voornamelijk doordat het ontworpen is voor een genetwerkte computer, in tegenstelling tot zijn concurrenten die in wezen stand-alone systemen zijn met toegevoegde netwerkfuncties. De belangrijkste voorbeelden hiervan zijn het bestandssysteem, dat volledig geïntegreerd is over machines heen, in tegenstelling tot Unix dat een onderscheid maakt tussen bestandssystemen op het lokale systeem en op andere systemen in het netwerk. Ook het gebruikersbeheersysteem is netwerkgebaseerd. Deze concepten zijn zo fundamenteel voor AEGIS dat zelfs een standalone Apollo-machine niet kan geconfigureerd worden zonder een netwerkkaart.

## Domain/OS

Domain/OS implementeerde functionaliteit die is afgeleid van zowel System V als vroege BSD Unix-systemen. Het verbeterde AEGIS door een onderliggend besturingssysteem te bieden waarop de gebruiker een of alle drie de omgevingen kon installeren: AEGIS, System V Unix en BSD Unix. Dit werd gedaan om een grotere compatibiliteit met Unix te bieden.
AEGIS versie SR9, de directe voorganger van Domain/OS (dat zelf versienummer SR10 kreeg), had een optioneel product met de naam Domain/IX beschikbaar, dat een vergelijkbare mogelijkheid bood. Domain/IX had echter enkele nadelen, voornamelijk het feit dat kernbeheertaken nog steeds AEGIS-opdrachten vereisten. Ook waren permissies in SR9 niet volledig compatibel met Unix. Domain/OS bood nieuwe beheeropdrachten en een complexer permissiesysteem dat geconfigureerd kon worden om zich correct te gedragen in elk van de drie omgevingen. Domain/OS bood ook een verbeterde versie van het X Window System compleet met VUE (HP's voorganger van CDE), maar de prestaties waren over het algemeen niet goed.
De overgang van AEGIS SR9 naar Domain/OS SR10 verliep moeizaam omdat veel gebruikers er het nut niet van inzagen wegens de toegenomen schijfruimtevereisten, de nieuwe en complexere beheertools, de slechtere prestaties van SR10 en de vele bugs in SR10.0, hoewel de volgende versies betrouwbaarder waren. Latere HP/Apollo-machines (de DN10000-, DN2500- en 4xx-serie werkstations) kunnen echter alleen SR10 draaien.
In tegenstelling tot veel toenmalige besturingssystemen die in C of assembleertaal werden geschreven, zijn veel Domain/OS-componenten in Pascal geschreven. Compilers voor gebruikers zijn beschikbaar voor C, C++, Pascal en Fortran.
Alle gedistribueerde beheerfuncties van Domain/OS zijn gebouwd rond een remote procedure call-systeem met de naam NCS RPC. Hoewel RPC later met het besturingssysteem werd beëindigd, droeg HP RPC bij aan de Open Software Foundation van waaruit dezelfde technologie later werd gebruikt voor CORBA.

## Gebruikersomgeving

AEGIS is vergelijkbaar met gebruikersomgevingen op andere werkstations uit die tijd, in die zin dat het een grafisch scherm met hoge resolutie en een muis gebruikt om een GUI te bieden met de naam DM (Display Manager). DM was geïntegreerd met de eigen windowmanager van het besturingssysteem, bekend als wmgr (Window Manager). De DM bevatte twee ingebouwde functies: een teksteditor en een transcript, wat een soort virtuele terminal is. Extra functies konden worden toegevoegd door gebruikersprogramma's. Een van de unieke kenmerken van de DM was "universele bewerking": alle tekst in een van de ingebouwde vensters kan bewerkt worden met dezelfde bewerkingstaal.
De AEGIS command-line-interface is vergelijkbaar met Unix, in die zin dat het een commando-interpreter heeft die pipes, redirection en scripting begrijpt en andere opdrachten als afzonderlijke programma's aanroept. De eigenlijke opdrachten zelf zijn zodanig ontworpen dat ze gemakkelijker te onthouden en te gebruiken zijn dan hun Unix-equivalenten. Wildcards moeten door individuele commando's geëxpandeerd worden in plaats van door de commando-interpreter zelf. De gebruiker kan omgevingsvariabelen gebruiken in symbolische links, wat bijvoorbeeld het schakelen tussen verschillende versies van Unix mogelijk maakt door de SYSTYPE-omgevingsvariabele dienovereenkomstig in te stellen waardoor symbolische links dan verwijzen naar de juiste versies van de bestanden.

## Externe link

* (en) DOMAIN System User's Guide, 2nd. ed. Apollo Computer Inc. (1987).
* Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Domain/OS op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
* ↑ (en) Domain/OS Design Principles. Apollo Computer (januari 1989), pp. 1-1.
* ↑ (en) Jipping, Michael J., McDowall, Ian, Gjertsen, Freddie (1999). Smartphone Operating System Concepts with Symbian OS: A Tutorial Guide. John Wiley & Sons, pp. 14. ISBN 0-470-03449-1.
* ↑ (en) HP Apollo Domain 10000. openpa.net.
* ↑ (en) Aegis Outline (maart 1985).
* ↑ (en) Domain/OS Brochure. Apollo Computer (juli 1988).
* 1 2 (en) AEGIS Operating System - Product Brief. Apollo Computer (1983).