ウィキペディア |
Plan 9
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/03/29 08:15 UTC 版)
| 開発元企業 / 開発者 | ベル研究所 |
|---|---|
| OSの系統 | Unixの後継 |
| 開発状況 | Current |
| ソースコード | オープンソース |
| 最新安定版リリース |
Fourth Edition / daily snapshots |
| 対応プラットフォーム | x86, MIPS, DEC Alpha, SPARC, PowerPC, ARM |
| カーネル種別 | ハイブリッド |
| 既定のUI | rio / rc |
| ライセンス | Lucent Public License |
| ウェブサイト | plan9.bell-labs.com |
Plan 9 from Bell Labs(通称 Plan 9)は、主に研究用に使われている分散オペレーティングシステム。ベル研究所の Computing Sciences Research Center で1980年代中ごろから2002年まで、UNIXの研究上の後継として開発された。Plan 9 は、ネットワークやユーザインタフェースまで含めたあらゆるシステムインタフェースを、個別のインタフェースではなくファイルシステムを通して統一的に表現することを特徴とする。Plan 9 は9Pプロトコルを使い、ユーザーにワークステーション毎に独立した作業環境を提供することを目指している。現在もBell研究所とPlan 9コミュニティによって活発に開発がつづいている[1]。
Plan 9 は、UNIXの流れを汲むオペレーティングシステムの一種であり、開発に当たってUNIXの設計の問題点を改善することを念頭に置かれている[2]。
目次 |
名称の由来
Plan 9の"9"には、UNIX version 8の次の版の意味があると言われている。なお、UNIX 8はベル研究所のチームよって開発された最後のUNIXである。
また、Plan9 from Bell Labsという文句でリリースをしているが、これはエド・ウッドの史上最低の映画と評されたSF映画 Plan 9 from Outer Space から来ている[3]。また、プロジェクトのマスコットキャラクターGlendaの名も、同じくエド・ウッド作品グレンとグレンダにちなむ。初期の(つまり間に合わせの)ウインドウシステムはフェデリコ・フェリーニの名画「8 1/2」の名を冠するなど、ハッカー流ジョークの側面でもUNIXの後継であることを伺わせる。
歴史
Plan 9 はベル研究所内の主な研究用プラットフォームとしてUNIXを代替し、システムの使用とプログラミングについての本来のUNIXのモデル、特に分散マルチユーザー環境にいくつかの変更を加えることの研究対象ともなった。1980年代中ごろに始まった当初、Plan 9 はベル研究所内部のプロジェクトだった。
Plan 9 はベル研究所の Computing Science Research Center のメンバーが開発した。そのグループはUNIXやC言語を開発したグループと同一である。当初チームはロブ・パイクやケン・トンプソンらが率い、Computing Techniques Research Department のリーダーとしてデニス・リッチーが支援した。開発には、ブライアン・カーニハン、ビャーネ・ストロヴストルップらも貢献している[4]。
1992年、大学向けに初めてリリースした。1995年、一般向けの商用OSとしてリリースした。1990年代末、ベル研究所を引き継いだルーセント・テクノロジーは、このプロジェクトの商業化を断念。2000年、オープンソースライセンスで非商用リリースを行った。2002年、新たにフリーソフトウェアライセンスで非商用リリースを行った。
ベル研究所の研究員やマサチューセッツ工科大学などの Plan 9 ユーザーコミュニティが、ISOイメージの形で頻繁なマイナーリリースを継続している[5]。その開発はいまだにベル研究所がホスティングしている。開発ソースツリーは9PプロトコルかHTTPプロトコルでアクセスでき、インストールしたものを最新に保つのに使われている[6]。OS本体をISOイメージとしている以外に、アプリケーションやツールのリポジトリもベル研究所がホスティングしている。
概要
UNIXとの違い
UNIXの問題点とは、1つのコンピュータを多くの利用者が共有することを前提に作られており、多くのコンピュータを多くの利用者が共有することは考えられていないことである。その結果、利用者が特定のコンピュータを占有することになり、それらのコンピュータは雑然と管理運営されることになる。
UNIXの当初の環境では、どの端末からコンピュータを使っても同じ環境を再現できた。Plan 9では、それをネットワーク上に繋がった分散処理環境上で実現する。
また、UNIXの開発がローカルなファイルシステムをどう表現するかということをテーマとして始まったのに対して、Plan 9は、ローカルであれリモートであれ、リソースというものにどうアクセスするかということを課題とする研究として始まった。
したがって、UNIXの設計当初になかったネットワークの利用を前提とし、端末、CPUサーバ、ファイルサーバ、認証サーバを分けることでセキュリティの向上を狙う。また、ファイルサーバは毎日のスナップショットを保存し、ユーザーレベルでのバックアップ作業をほぼ不要なものとした。
当初はMOジュークボックスなどの利用を考えており、ハードディスクはMOジュークボックスのキャッシュという考え方だった。最近ではハードディスクの大容量化と低廉化が進んでいるため、MOジュークボックスの代わりにハードディスクを使えるようになりつつある。
全てのリソースはファイルである
UNIX以前、多くのオペレーティングシステムはそれぞれのデバイスにアクセスするのに、それぞれ異なる機構を用意していた。例えば、ディスクドライブにアクセスするAPIは、シリアルポートでデータ送受信をするためのAPIとは全く異なるし、プリンターにデータを送信するAPIとも全く異なっていた。
UNIXはそのような差異をなくそうとし、全ての入出力をファイル操作でモデル化しようとした。そのため、全デバイスドライバが制御手段として read および write 操作に対応する必要に迫られた。こうすることで、mvやcpなどのユーティリティで、実装の詳細を気にすることなくデバイスからデバイスへデータを転送することができるようになった。しかし、UNIXでは多くの重要な概念(例えば、プロセス状態の制御など)はファイルにきれいにマッピングされなかった。ソケットや X Window System といった新たな機能が追加されたとき、それらはファイルシステムの外に存在するようになった。新たなハードウェア機能(ソフトウェアがCDのイジェクトを制御するなど)も、ioctlシステムコールなどのハードウェア固有制御機構を使うようになった。
Plan 9 研究プロジェクトは、ファイル中心の見方への回帰を目標とし、それ以外の手法を排除した。Plan 9 のプログラムから見れば、ネットワークやユーザインタフェースのリソース(ウィンドウなど)も含めたあらゆるリソースが階層型ファイルシステムの一部となっており、それ以外の特別なインタフェースは使わない[5]。
分散アーキテクチャ
Plan 9 は単一のマシンにインストールして、自立したシステムとして使うこともできる。しかし、OSの個々の機能コンポーネントをそれぞれ別のハードウェアプラットフォームに配置することもできる。模範的は配置では、RioというGUIを動作させた軽量な端末をユーザーが使い、ネットワーク経由でCPUサーバに接続して、そちらで計算量の多いプロセスを実行し、さらに別のマシンに用意した永続的データストレージをファイルサーバとして使う。最近のデスクトップコンピュータでは、複数の仮想機械を動作させて、この環境を1台のマシン上に再現することができる。
|
|||||
- ^ “continuous work on Plan 9”. 2010/11/12閲覧。
- ^ UNIX との違い
- ^ Raymond, Eric. “The Art of UNIX Programming”. 2007年5月7日閲覧。
- ^ McIlroy, Doug (1995). “Preface to the Second (1995) Edition”. Lucent Technologies. 2006年4月2日閲覧。
- ^ a b “Plan 9 from Bell Labs”. Lucent Technologies (2006). 2006年4月27日閲覧。
- ^ “Staying up to date”. Plan 9 community (2006). 2006年4月27日閲覧。
- ^ Pike, Rob (2003). “UTF-8 History”. 2006年4月27日閲覧。
- ^ Plan9 BG Presentation
- ^ a b Raymond, Eric S.. “Plan 9: The Way the Future Was”. 2006年3月28日閲覧。
- ^ “9grid (Plan 9 wiki)”. Plan 9 wiki (2006). 2006年3月28日閲覧。
- ^ “"Press Release: Vita Nuova Supplies Inferno Grid to Evotec OAI (PDF)”. Vita Nuova Holdings Limted (2004). 2006年3月28日閲覧。
- ^ “"Press Release: Rutgers University Libraries Install Inferno Data Grid" (PDF)”. Vita Nuova Holdings Limited (2004). 2006年3月28日閲覧。
- ^ “"Press Release: The University of York Department of Biology install Vita Nuova's Inferno Data Grid" (PDF)”. Vita Nuova Holdings Limited (2004). 2006年3月28日閲覧。
- ^ Lucent Public License
- ^ Various Licenses and Comments about Them - GNU Project - Free Software Foundation (FSF)
固有名詞の分類