Sprite (オペレーティングシステム)

Spriteは、カリフォルニア大学バークレー校のJohn Ousterhoutの研究グループが1984年から1992年にかけて開発していたUnix系オペレーティングシステムである。
コンピュータ・クラスターの単一システムイメージのサポート、
ログ構造ファイルシステムの導入で有名である。
Tclプログラミング言語も、このプロジェクトに由来している。

初期の開発 
Spriteはオペレーティングシステムを「ネットワークを意識した」ものにすると同時に、ユーザーにはそれを見えなくするというアイディアに基づいていた。
性能を向上させるために、ローカルのクライアント側のキャッシュを多く使うネットワークファイルシステムを作るのが当初の主な作業領域であった。
ファイルを開き、最初の読み込みをいくらか実行すると、ネットワークは必要に応じて利用されるだけになり、ほとんどのユーザーの操作はキャッシュに対して行われる。
同様のユーティリティーにより、リモートデバイスがローカルコンピューターのスペースにマップされ、ネットワーク経由の印刷などができた。

キーとなるUnixファイルの多くは、ネットワークベースであり、これにはパスワードファイルのようなものも含まれている。
ネットワーク内の全てのマシンは、ルートファイルシステムを共有している。
fingerコマンドのような、その他のUnixユーティリティーは、ネットワークを意識したものに書き換えられ、ネットワーク内の全ての人々のログイン情報を表示できるようにされた。
これによりSpriteシステムは、単一のタイムシェアリングシステムとみなせるようになった。つまり単一システムイメージとなった。

もう一つのSpriteに追加された重要な機能は、プロセスマイグレーションである。
これにより、プログラムはいつでもマシン間を移動することができる。
システムはマシンとその状態のリストを持っており、ローカルの性能を改善するために、暇なマシンへ自動的にプロセスを移動させる。
プロセスはマシンの性能を改善するために退去させることもできた。
これにより、元のプロセスの開始者はネットワーク上の他のマシンへプロセスを移動させることができるし、プロセスの制御をローカルに戻すこともできる。
Spriteシステムをコンパイルするといった長時間かかるタスクをとても速くすることができる。

更なる開発 
上述したような開発は、1987年くらいまで続き、翌年まで改善された。
1990年には最初のログ構造ファイルシステム(LFS)の開発が開始され、1992年まで続いた。
LFSは、読み込みの性能を犠牲にすることで、劇的に書き込みの性能を向上させることができる。
Spriteにおいては、結局ほとんどの読み込みアクセスはキャッシュされているので、このトレードオフは特に有用だった。
つまり、Spriteシステムは典型的には標準的なUnixシステムより読み込みアクセスが少なかった。
LFSのようなシステムはクラッシュからの回復にも大変有効だった。
このことは、この時期のプロジェクトの主な注目点となっていた。
ストライプ化されたファイルシステムについての追加の実験は、複数のマシン間でストライプ化する場合と、ドライブのクラスターでストライプ化する場合について、1994年頃まで行われた。

集結 
Stripeはマイクロカーネルなシステムではなく、他のUnixと同様に開発の複雑性の問題を抱えていた。
それにより、機能を追加するのが難しくなっていった。
1990年代には、この頃のUnixに行われた変更に速やかに追い付くことができなくなってしまった。
プロジェクトは1994年までに徐々に終了した。

関連項目 
 Amoeba (オペレーティングシステム)
 Plan 9 from Bell Labs

脚注

外部リンク 
 Spriteホームページ
 Booting a Sprite harddisk image on an emulated DECstation 5000/200

Unix系オペレーティングシステム
オープンソースソフトウェア
分散オペレーティングシステム