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

Pilot は、1977年初頭に Xerox PARC によって設計されたシングルユーザのマルチタスク OS である。Pilot は Mesa プログラミング言語で書かれており、合計で約 24,000 行のコードが含まれている。
Pilot は、高度にネットワーク化された他の Pilot システムが共存する環境において、シングルユーザシステムとして設計されており、Pilot ストリームインターフェースを介してネットワーク上でプロセス間通信 (IPC) を行うように設計されたインターフェースを備えている。Pilot は、仮想メモリとファイルストレージを 1つのサブシステムに統合し、システムとそのリソースを管理するためにマネージャ/カーネルアーキテクチャを採用した。設計者は、非プリエンプティブなマルチタスクモデルを検討したが、後にモニタに基づいてプリエンプティブ (ブロックされるまで実行する) システムを選択した。Pilotには、ディスクに書き込まれたオペレーティングシステムのフリーズしたスナップショットをデバッグできるデバッガ、Co-Pilotが含まれていた。
典型的な Pilot ワークステーションでは、3つの異なるディスクボリューム上で 3つのオペレーティングシステムを同時に実行していた。Co-Co-Pilot (メインのオペレーティングシステムがクラッシュした場合のバックアップデバッガ)、Co-Pilot (メインのオペレーティングシステムで、Co-Co-Pilot の下で実行され、プログラムのコンパイルとバインドに使用される)、そして 3番目のディスクボリューム上で実行されている Pilotの下位のコピーで、起動してテストプログラムを実行できる（メインの開発環境がクラッシュする可能性がある）。デバッガは、別のディスクボリュームに格納されたプログラムの変数を読み書きするために作成された。
このアーキテクチャは、開発者が下位ディスクボリュームに格納されたセマフォロック付きのオペレーティングシステムコードをシングルステップで実行できるというユニークなものである。しかし、Dシリーズの Xerox プロセッサのメモリとソースコードが大きくなるにつれて、オペレーティングシステムのチェックポイントと復元 (「ワールドスワップ」と呼ばれる) にかかる時間が非常に長くなった。下位のオペレーティングシステム環境でたった 1行のコードを実行するのに 60～120 秒かかることもあった。最終的には、Co-Pilot に代わる共存デバッガが開発された。
Pilot は Xerox Star ワークステーションのオペレーティングシステムとして使用された。