V
オペレーティングシステム、またはV-Systemは、1980年代に
デビッド・チェリトンのもとで
スタンフォード大学の分散システムグループによって開発されたマイクロカーネル型の
オペレーティングシステムです。このシステムは、チェリトンが以前にリリースしたThothおよびVeraxの進化系として位置づけられています。
システムの基本概念
V
オペレーティングシステムでは、「スレッド」と呼ばれる概念は「
プロセス」として定義され、1つのアドレス空間を共同で利用する複数のスレッドは「チーム」と称されていました。ただし、この記事では現代的な用語を使用し、スレッドという言葉を採用します。
Vにおける重要な技術の一つは「マルチスレッド」です。これに加えて、スレッド間の通信手法として「同期メッセージパッシング」が用いられています。この方法では、メッセージの送信元は特定のアドレス空間の一部にアクセスできる権限が初めから含まれており、固定長のメッセージを交換します。これによって、同じ
プロセス内や異なる
プロセス、さらには異なるマシンにおいてもスレッド間の通信が可能となります。受信したスレッドは、他のメッセージが来る前に必ず応答する必要があるわけではなく、その点が
Adaのランデブー機能とは異なります。
このメッセージ機能は、クライアントとサーバ間でのサービス要求に応用されます。クライアントはサーバに対してリモートプロシージャコール(RPC)に似たリクエストを送信しますが、Vのアプローチではパラメータを参照渡しすることが可能で、これがRPCの制約を克服する特長です。サーバはクライアントからの要求を一つのスレッドで処理することが基本ですが、必要に応じて明示的にスレッドをフォークして並行処理することも可能です。
研究プロジェクトとしての役割
Vそのものは、単なるプロジェクトではなく、さまざまな分散
オペレーティングシステムやネットワーク研究の基盤として活用されました。Vは数多くの学生によって、サンマイクロシステムズやDEC製のディスクレスワークステーションに搭載され、当時の研究の場で重宝されていました。また、Vは自身でコンパイルが可能であり、
UNIX上の
VAXマシンでもビルド可能でした。この安定性が、Vを用いてファイルサーバを構築する際に重要な要素となりました。
時が経つにつれて、PCファミリーの普及により
LinuxやBSDが広く利用されるようになると、
オペレーティングシステムの
セルフホスティング研究は衰退していきました。その結果、Vのような研究に対する動機も減少していきましたが、それでもVはその歴史に足跡を残しています。
Vシステムの影響
Vに関連して開発されたW Window Systemは、後に
X Window Systemの基盤となりました。また、Vはより純粋なマイクロカーネル研究プロジェクトとして
AppleのVanguardを生み出しました。このVanguardは多くの改良が施されましたが、組織再編の影響で消えてしまいました。1980年代末には、
テクトロニクスのVM700テレビ測定器において、修正されたVがネットワーク
オペレーティングシステムとして実装されました。この装置は現在でも製造・販売が行われています。
V
オペレーティングシステムは今日ではあまり知られていませんが、その設計思想や機能は、後の多くのシステムに影響を与え続けています。