Amoeba (オペレーティングシステム)
Amoebaではプロセスは、少なくとも1つの、あるいは複数の、スレッドをもつ。 Amoebaでは、マルチスレッドによるプログラミングが可能である。 プロセスは、実行中に自分のスレッドを生成したり、自分のスレッドを終了したりすることができる。 すなわち、プロセスの実行中には、そのプロセスに属するスレッドの数は、あたりまえに増減しうる。 スレッドは、それぞれに固有のスタックをもつ。 スレッドを同期させる方法としては、シグナルとミューテックスとセマフォの3つの方法を、提供している。 スレッドはすべてカーネルが管理している。 カーネルによるスレッドのスケジューリングは、優先順位に基づく。
実行されていると想定されているサーバが実際に動作しているかどうかを調べ (サーバが停止していないかの監視) 、もし動作していなかった場合は、しかるべき措置 (該当サーバの起動など) をとる。実行されていると想定されているサーバが、実際に正常に動作している場合は、なにも行わない。ブートサーバ自身が正常に動作しなくなる場合に備えて、ブートサーバ自身の複製をすることができる。