Amoeba (オペレーティングシステム)
従来のオペレーティングシステム (OS) の機能 (ファイルシステムを管理する機能など) のほとんどは、Amoebaでは、マイクロカーネル外部でプロセスとして動作するサーバ群によって実装された。
Amoebaのすべてのサーバは、一連のスタブ手続きで定義されている。 スタブは、初期に開発されたサーバについてはC言語で、後に開発されたサーバはAIL (Amoeba Interface Language, Amoebaインタフェース言語) で、定義されている。 AILで定義されたスタブは、スタブ定義がAILコンパイラによって変換 (コンパイル) されてスタブ手続きの形でライブラリにまとめられているので、クライアントから使うことができる。
重要なサーバとしては次のようなものがある。
Amoebaは、マイクロカーネルの思想に基づいて設計されている。 Amoebaのマイクロカーネルのアーキテクチャは、クライアントサーバモデルである。 Amoebaは、プロセサごとに実行するマイクロカーネルと、サーバ群から、構成される。 サーバ群は、マイクロカーネルとは別のシステムソフトウェア群であり、従来のオペレーティングシステム (OS) が提供する機能のほとんどを、提供する。 Amoebaのマイクロカーネルには、次の4つの重要な機能がある。
プロセスとスレッドの管理
下位のメモリ管理機能の支援
通信の支援
下位の入出力処理