Inferno - oraccha/omicron GitHub Wiki

Bell研で開発された分散OS

カーネルコアの部分はPlan9とそれほど違わない感じがする(C の代わりに Limbo で再実装されたという感じか?). Unixのファイルの考えを延長し,何でもファイルで抽象化,ネットワーク越しの資源にも簡単にアクセスすることを目指したOS

  • [http://www.vitanuova.com/inferno/ 本家] (VitaNuova)

    • [http://cgi.www.vitanuova.com/cgi-bin/www.vitanuova.com/idown4e.pl Inferno Fourth Edition Download (Preliminary Public Release)] (2004-03-31)
  • [http://www.chunder.com/ozinferno/ OzInferno] . ライセンス関係の問題でリリースできてないみたい?

  • [http://code.google.com/p/inferno-os/ Inferno OS] (Google Code) . 今から触るならこちら。

  • [http://www.cs.hut.fi/%7Ekny/inferno/ An Analysis of Inferno and Limbo] (Helsinki University of Technology)

  • http://www.cs.rit.edu/~ats/inferno/ . 大学の講義の資料らしい.

  • [http://www.osnews.com/story.php/750/Interview-with-Vita-Nuova-CEO-Michael-Jeffrey/ Interview with Vita Nuova CEO Michael Jeffrey] (OSNews 2002-03-05)

Infernoの構成

  • [http://www.vitanuova.com/images/inferno-arch.gif Inferno Architecture]

  • Inferno kernel . メモリ管理スケジューラ,デバイスドライバ,名前空間の管理など.

  • Limbo programming language . 型安全な言語であり,アプリケーションの記述に用いられる. Limboで記述されたプログラムはDis仮想マシンで実行可能なバイトコードにコンパイルされる.

  • Dis virtual machine . Limboアプリケーションに対する実行環境を提供する. . バイトコードはインタプリットされるか,on-the-flyコンパイラによってコンパイルされ,実行される.

    • [http://www.vitanuova.com/inferno/papers/dis.html Dis: Virtual Machine Specification]
    • JavaVMスタックベースの命令セットだが,Dis ではメモリ間転送をするような CISC ライクな命令セットになっている. こうすることで,実プロセッサ命令へのマッピングが簡単になり,JIT(on-the-fly) コンパイラの高速化が期待される.
  • Stxy communications protocol . ファイルにはローカル/リモートに関係なくStxyを利用してアクセスされる.アプリケーションからネットワークを隠蔽する.

    • [http://www.vitanuova.com/inferno/papers/styx.html The Styx Architecture for Distributed System]

アプリケーションプログラマからCを取り上げると言う選択は正しいと思う.OS実装者から見ても,メモリ保護とかが楽になるしね.


JavaのバイトコードをDis仮想マシンのバイトコードにJITで変換してInferno上でJavaアプリケーションを動かすこともやられているらしい.


JavaElateみたいに仮想マシン上でコードを実行し,動作するOS. この流れは必然なのか,それとも単なるブームなのか?

  • The Practical of Programing でも,Javaperlで例題書いてますし. あのK&Rの著者がJavaやPerlですよ.AWKはいいとして. Tannenbaumも [http://cw.prenhall.com/bookbind/pubbooks/tanenbaum2/ SCO]の2th editionでは,Javaチップを例題に取り上げてるし.

まぁ,VM/370でしたっけ? 結局,大昔からある話ではありますが.

  • VM/370はVM/390になり,今でもz/VMというプロジェクトが進行しています.
  • システム研究が結局大昔に行われたIBMの大型計算機の話に行き着いちゃうのが悲しいですね.だからと言ってシステム研究が終わったわけではないと私は確信してますが.

  • [http://www.monaka.org/Inferno/ Infernoを使ってみた] . 邑中雅樹氏のページより.