Domain/OS

Domain/OSアポロコンピュータ社 製のワークステーション、Apollo DOMAINシリーズに搭載していた分散オペレーティングシステム。Apollo DOMAINシリーズには、CRT表示インターフェースボードありのDNシリーズ、CRT表示インタフェースボードなしのDSPシリーズが存在した。 また、従来はAEGISがオペレーティングシステムとして搭載されていたが、DN-10000・DSP-10000など、マルチプロセッサ構成のコンピュータをリリースにあたり、これまでのオペレーティングシステムの設計を見直し、再設計されたオペレーティングシステムがDomain/OSである。分散オペレーティングシステムの機能は、AEGISから受け継いだものである。

当時としては桁外れの先進機能を備えていたが、ヒューレット・パッカード社  に吸収され消滅した。 DOMAIN/OSは当時のワークステーション業界においてプログラム編集開発環境、ネットワーク技術分散技術、グラフィック技術において世界で最も進んでいたOSである。その技術の一部をOpen Software Foundation  へ提供し、さらにHP-UXへ機能移植行う数年がかりの計画を発表したが、UNIXとのあまりの機能格差が大きすぎたため途中で断念した。

理想を言えば既にマイクロカーネル化を実現していたDomain/OSカーネルに他のUNIX同様、HP-UXを4つ目のOSミドルウェアとして搭載する手法が妥当であったが、吸収された手前行われなかった。

分散オペレーティングシステムとは、ネットワークで接続された複数のコンピュータを、一つの大きなシステムと捉えて管理するオペレーティングシステムのことである。DOMAIN/OSは、AEGIS同様に分散処理の管理機能を備えており、さらに分散ファイルシステムも搭載していた。

ここでDOMAINとは、“en” の略である。

1. Domain/OSとは
--------------

1.1. OS概要
---------

DOMAIN/OSは複数のワークステーションやサーバをネットワークで接続し、以下の環境を実現することを目指した、OSである。

メインフレームで実行するような大きなアプリケーションの実行。
コンピュータ自身を使用者が直接利用できる。タイムシェアリングシステムとの決別。
ネットワークによる共同作業と資源の共有。
ネットワーク全体を1つのコンピュータと捉える管理機構。
複数の環境を利用できることで、使いやすい環境をユーザーに提供するため、AEGIS,UNIX同時動作、ディスプレイマネージャとX Window Systemの共存。
マルチプロセッサ対応を柔軟にし、複数のOS環境を取込むためのマイクロカーネル。DOMAIN/OSとともにリリースされたシリーズDN10000/DPS10000はマルチプロセッサ構成である。

DN10000/DPS10000はRISCプロセッサApollo PRISMを4つまで搭載可能であった。

1.2. OS構成
---------

DOMAIN/OSマイクロカーネルの上位にAEGISと当時の2つのUNIX  を搭載し、同時独立動作したものである。ウィンドウシステムを含め以下の全体をDomain/OSと呼ぶ。

DOMAIN/OSリリース当初はディスプレイマネージャのみでXは搭載していなかったが、SR10.2にバージョンアップ時、標準的に搭載するようになった。

当時のXは、他のUnix環境も取り込むだけのために搭載された経緯が大きく、現在のウィンドウマネージャが搭載されていなかった。また、ハードウェア面でもX用のアクセラレータを行っていなかったため非常に遅いという問題を抱えていた。

サン・マイクロシステムズ  を除く他社では、Xのみがウィンドウシステムであったため、Xの高速化としてX用のアクセラレータを搭載するなどを行っていた。

1.3. 開発の終焉
----------

Apollo社独自のウィンドウシステムに比重を置いていたことと、ディスプレイマネージャが非常に軽いウインドウシステムであったため搭載されることはなかった。その後、別売りでHP-VUEが売られるようになり、Xもある程度まともに操作できる環境は整ったが、起動が遅いこと、別売りである問題が解決できていなかったこともあり、Xを動作条件するもの以外わざわざXを使用することは少なかった。

結局、Xの動作環境を改善することなくDOMAIN/OSのリリースは終了した。

なお、HP社内ではXにディスプレイマネージャ環境を移植したソフトウェアDMX 、ディスプレイマネージャとXを独立動作させるワークスペース切替など、いろいろと試みがあったようだが、リリースされることはなかった。

1.4. OSの移行
----------

AEGISの時はモノリシックカーネルであった。その上にディスプレイマネージャが搭載されていた。

UNIXについては標準ではなく別売りの追加機能としてDOMAIN/IXという名称でUNIX  の機能をライブラリレベルで提供していた。

Domain/OSに移行の際、AEGISのモノリシックカーネルの機能分離を行いマイクロカーネル化を行った。さらにAEGISソースコードはUNIXに合わせ、PascalからC言語に置き換えを行った。AEGISの高度な機能部分をミドルウェア化を行い、同時にUNIX  をミドルウェア化を行うことで、Domain/OSが完成した。PascalからC言語への置き換えの影響でOSのファイルシステムにてアルファベットの大文字、小文字を区別するようになった。

マイクロカーネル化したDomain/OSカーネルのSPI  は公開されていなかった。 また、将来Domain/OSカーネルをMach  カーネルに置き換える予定も存在したが、リリースすることなかった。

なお、Machへの置換えは、当時の流れとDOMAIN/OSカーネルの構造考えたとき、マルチプロセッサ化をより容易に行うことを目的としていた。さらに、メモリオブジェクトをネットワーク分散システム拡張することで理論上DOMAIN/OSカーネルの必要最低限の機能を実現できると言う憶測であったが、Machの完成度がまだ低かったため検討・計画のみ行われたが、HP社に吸収されたことで終了した。

1.5. OSのルーツ
-----------

DOMAIN/OSのルーツを知るには前OSのAEGISのルーツを知る必要がある。

AEGISは、ハネウェル社出身のウェリアム・ポドゥカスとプライム・コンピューターから移籍したスタッフとの共同で作られたOSである。アポロコンピュータ社独自のOSであるが、ハネウェル社MulticsとPrimeOSの良い機能を吸収し、拡張・改善して再設計された先進的機能を備えるOSである。AEGISは一貫性のあるコマンド体系や分散ファイルシステム、シングルレベルストア、ダイナミックリンキングなどの先進機能を搭載しているが、UNIXのルーツ  と関係をもち、また影響を受けたOSでもある。

上記の流れで完成されたAEGISであったが時代の流れとともにUNIXの影響を無視できなくなり、AEGIS SR9.5よりDOMAIN/IXと言う名称でUNIX環境をライブラリレベルで提供した。

AEGISが優れた点は、世界初の分散環境OSであり分散ファイルシステムを実装していたことである。1981年にリリースされたDN100という機種は、以下の仕様のハードウェアに分散OSを実現した。

MPU ：MC68000
MMU ：MC68000
主記憶 ：3.5MB
HDD ：30MB
LAN ：Apolloトークンリング 
CRT ：1024×800独自にならざるを得なかったのは、ネットワーク環境が現在とは違いTCP/IPが実装された状態ではないためXNS  を手本としこの分散環境を実現したためである。

ただし、この上で実現した分散ファイルシステムはパフォーマンスが高く、100台以上接続してもパフォーマンスがほとんど落ちない優れものであった。

1.5.1. 時代背景
-----------

なぜTCP/IPが利用されなかったかは以下の時代背景にある。

1974年、TCPとIP発表と論文で「インターネット」という言葉が登場
1976年、Unix to Unix Copy Protocol  発表
1979年、ネットニュース  登場
1980年、アポロコンピュータ社創立
1981年、アポロコンピュータ社が世界最初のEWSとしてDN100を出荷。4.1BSDリリース。
1982年、ARPAnetがTCPとIPを採用し、TCP/IP仕様がほぼ決まった。サンマイクロシステムズ社創立。AT&T社UNIX System IIIリリース。
1983年、4.2BSDリリースこのときTCP/IPが標準実装された。サンマイクロシステムズ社が一般向けにTCP/IPが標準実装されたUNIXを提供 
1984年、サンマイクロシステムズ社がNFSを業界にフリーでライセンスする
1985年、SunOS 2.0がNFSを実装
1986年、アポロコンピュータ社がNCS  発表。カーネギーメロン大学がAFSを開発。APOLLO DOMAINシリーズはリリースが時期尚早すぎたため、分散ファイルシステムをIPベースに実装できなかったのである。

年表上最初のEWSとしているが、それ以前にワークステーションおよび現在のPCの原型と言える機種は存在した。 それは、1974年に開発されたゼロックス社のAltoである。エンジェルバートが発明したマウスを使用し、世界初のビットマップ・ディスプレイ、世界初のイーサネット、世界初のレーザプリンタが接続されていた。

ちなみに、ゼロックスのパロアルト研究所PARC  は、「マウス」、「アイコン」、「グラフィカルユーザインターフェース 」、「ウインドウシステム」、「イーサネット」、「レーザープリンター」、「PostScript」などを開発している。

なお、分散OSおよび分散ファイルシステムではAEGISが世界初のOSである。

1.5.2. Apple社とのパートナーシップ
-----------------------

Apollo社はApple社とのパートナーシップを結んでいた。Domain/OS を実行するワークステーション系列に Mac デスクトップを移植する作業を行っていたが、スティーブ・ジョブズ  がApple社を離れると、後任のジャン＝ルイ・ガセー