Spriteは、
カリフォルニア大学バークレー校のジョン・オースターハウトが1984年から1992年にかけて開発した
Unix系の
オペレーティングシステムです。このシステムは、ネットワークコンピューティングに特化した設計がされており、特に
コンピュータ・クラスターの単一システムイメージを持つことで知られています。また、Spriteは
ログ構造ファイルシステム(LFS)を初めて導入したOSの一つでもあり、
Tclプログラミング言語の発展にも寄与しています。
初期の開発過程
Spriteの開発は、
オペレーティングシステムを「ネットワークを意識したもの」にし、ユーザーにはその複雑さを感じさせないという考えを基にして始まりました。開発当初は、ローカルクライアント側のキャッシュの利用を最大化するネットワークファイルシステムの作成が主要な課題でした。ユーザーがファイルを開くと、最初の読み込みを行った後は、ネットワークは必要なときだけ使われる仕組みが採用され、これにより多くの操作がキャッシュ内で行われることになりました。
さらに、Spriteではリモートデバイスをローカルコンピュータのスペースとしてマッピングし、ネットワークを介した印刷も可能にしました。Unixで利用されるいくつかのキーとなるファイル群はネットワークベースで構築されており、具体的にはパスワードファイルなどが含まれていました。すべてのマシンはルートファイルシステムを共有し、fingerコマンドなどのUnixユーティリティもネットワークを考慮した形で改良されました。これにより、Spriteシステムは単一
タイムシェアリングシステムとして機能するようになり、実質的に単一のシステムイメージを持つ形に整えられました。
プロセスマイグレーションという新たな機能もSpriteに加わりました。これにより、プログラムは別のマシンに移動でき、性能を最適化することが可能となりました。マシンの状態を把握するシステムのおかげで、リソースに余裕のあるマシンへ自動的にプロセスを移動させることができ、効率的なリソース管理が実現されました。
さらなる発展と設計の変遷
1987年まで、Spriteの開発は続き、その後もシステムの機能向上が図られました。1990年には、初の
ログ構造ファイルシステムが開発に着手され、1992年まで続くことになります。LFSは、読み込み性能を犠牲にすることで、書き込み性能を大幅に向上させることができました。この特性は、Spriteのシステムにおいては特に有用であり、通常のUnixシステムに比べて読み込みが少なかったため、効率的なデータ管理が実現されました。
この
ログ構造ファイルシステムは、クラッシュからの回復にも非常に効果的であり、当時のプロジェクトの中心的な課題でもありました。また、複数のマシンでのストライプ化に関する実験は1994年頃まで続けられました。
プロジェクトの終焉
しかし、Spriteはマイクロ
カーネルシステムではなかったため、ほかのUnix
オペレーティングシステムと同じく開発の複雑性に直面しました。その結果、1990年代初頭には、迅速な技術進化についていくことが難しくなり、次第に機能の追加が困難となりました。最終的に、1994年までにこのプロジェクトは徐々に終結しました。
Spriteは、当時の
Unix系OSに大きな影響を与えた存在であり、今日においてもその技術やアイデアは様々なシステムに生かされています。