Amoeba (オペレーティングシステム)
1983年までに、最初のプロトタイプである Amoeba 1.0 が使用可能になった。 数年後に、欧州共同体 (EC) の後援を受けて広域分散システムのプロジェクトとして、欧州各国の各サイトで使われるようになった。 このときのバージョンは、Amoeba 3.0 であった。 Amoebaは、C言語を使って開発された。 Amoebaは、およそ5年の期間にわたり、学術組織、企業、各国の政府組織などの人々によって、利用された。 Amoebaの開発は、現在は停止しているようである。 最新バージョン (5.3) を構成するファイルの最終更新日付は2001年2月12日である。
Amoebaは、複数のプラットフォームで動作する。 動作するプラットフォームには以下のものが含まれる。
SPARC
Intel 80386
Intel 486
MC68030
Sun-3/50
Sun-3/60
VAX
Amoebaでは、複数の異なるプラットフォームのコンピュータ群を、あたかも1つのコンピュータシステムであるかのように、構成できる。
Amoebaの利用者は、ハードディスクを備えていないコンピュータを通してもAmoebaを使うことができる。 Amoebaを構成する他のコンピュータは、必要に応じていくつかのプロセサを提供する。 Amoebaにおいては、プロセサはプロセサ・プールに配置される。 プロセサ・プールは多くのプロセサから成っている。
Amoebaのグループは、なんらかの作業を行ったり、サービスを提供するために、協力している1個以上のプロセスから、構成される。 グループ通信は、グループが信頼性のある方法でグループとしての処理を実行するための、通信形態である。 グループ通信の基本的な機能としては、次のようなものがある。
新しいグループを生成し、引数を設定する。
プロセスが既存のグループに参加する。
プロセスが既存のグループから脱退する。
グループの全メンバー向けに信頼性のある方法でメッセージを送信する。
グループ通信の実装の基本をなす重要な考え方は、「信頼性のある同報通信 (reliable broadcasting) 」である。
グループ通信のプロトコルは、k 個のプロセサ群の損失 (クラッシュ) に耐えるように設計されている。 グループの作成時には、この k という弾性係数を指定する。 k の大きさにしたがって、Amoebaはプロセサの冗長度を増減させる。 冗長度が増えると、耐故障性は高くなるが、実行は遅くなる。