研究OSから実用OSへの技術転用

ひらさん曰く,研究OSの位置付けとは,

研究OSのモノを実用OSに適用させ評価することが研究OSを調べる目的なのかな、

と書かれている.

では,具体的に何から調べるか? 最新のOS研究もよかろうが,ふと昔話を思い出した.仲間内の雑談中に出た「OS研究が実用されるのに10年かかる」説である.ハードウェアの進歩や,何やで研究の最先端にあった技術が実用化される,期が熟すのには,10年ぐらいかかるのではという仮説で,何の裏付けもない.反論も多かろう(開発の現場の方が進んでいるとか,ギャップはもっと小さいとか).ぶっちゃけ,10年前の研究ネタをLinuxBSDに実装したら,ウケルんじゃないかという目論見だ.

そこで,OS研究のトップレベルのカンファレンスであるACM SOSP (Symposium on Operating Systems Principles)の,10年前のプログラムを見てみた.まず,Linus Torvalds氏が「The Linux Challenge.」というタイトルでキーノート講演しているのに驚く.

セッションは次の8つ.

  • Performance and Correctness
  • Kernels and OS Structure
  • Network and Data Services
  • Security
  • Multiprocessing Support
  • Scheduling for Multimedia
  • File Systems and I/O
  • Mobile Systems

この日記の想定読者が一番興味があるのは,カーネルをターゲットにした3番目のセッションだと思うが,OSKit,Exokernel,L4の発表が並んでいる.ExokernelやL4は,マイクロカーネルの一種だけど,Machのような機能リッチな(そしてファットな)カーネルとは異なり,必要最小限のハードウェアの多重化,保護しか提供しない.仮想化技術で言えば,VMM(Virtual Machine Monitor)に相当するだろう.そして,非特権モードでアプリケーションに特化したOSが動作する.Exokernelでは,これをライブラリOSと呼んでいる.最近の仮想化技術を使えば,オーバヘッドを削減できそうだ.そして,OSKitというのはOSのコンポーネント化技術で,部品の組合せで,目的に応じたOS構築を支援する仕組みである.ライブラリOSと組み合わせると強力そうである.ただ,問題は,汎用OSではなく,目的に特化したOSに対するニーズがどれくらいあるかだろうか.

ここ数年,PCでも仮想化が流行って,メインフレームで培われていた技術がどんどん流入してきているが,その次はマイクロカーネルの再評価かなぁ?とか.

仮想化技術がらみだと,5番目のセッションで,現VMWareのMendel Rosenblum氏が,大規模SMPマシン上でのVMMであるDiscoの発表をしている.

読んでないけど,プロファイリングやレースコンディション検出ネタは,Linuxで作ると面白いかも.

しかし,どれもちょっとしたハックレベルで作れるようなものじゃないなぁ...

(追記) Plan9ネタを忘れていた(笑) 同年のUSENIXでは,Rob Pike氏が招待講演でInfornoについて話している.それだけ.