第一回カーネル/VM探検隊

関係者のみなさん、お疲れさま。楽しい時間を過ごせました。

私もPlan9の紹介というか、ぬるい話をしてきた。一応、発表スライド「今日からはじめるPlan 9 from Bell Labs」をアップロードしたので興味のある方はどうぞ。本当はもっとデモの時間を取りたかったが、解像度の問題で文字がつぶれてしまいいまいちだった。でも、どうにか雰囲気は伝わったかな。

(デモの補足1)名前空間の説明のために、ウィンドウを二つ開いて(つまりこれらは別プロセスである)、bind操作(ユニオンディレクトリ)が片側だけで有効になっていることを示した。便宜上、以下はterm1とterm2と書く。

term1% mkdir foo && touch foo/FOO
term1% mkdir bar && touch bar/BAR
term1% bind -a foo bar
term1% ls foo
foo/FOO
term1% ls bar
bar/BAR
bar/FOO

term2% ls foo
foo/FOO
term2% ls bar
bar/BAR

デモでは最初-aオプションを付け忘れて、ユニオンディレクトリにならなかった。そこでunmountするはめに。怪我の功名?でumountではなくunmountと紹介できた。で、会場から、foo/BARのようにユニオンディレクトリ元と先で同名ファイルがあった場合にどう見えるかという質問が出た。

term1% touch foo/BAR
term1% ls bar
bar/BAR
bar/BAR
bar/FOO

とlsでは同名ファイルが二つ見える。ただし検索順序はfoo < barなので、cat bar/BARすると、元々barにあったBARだけが見える。
当時は話さなかったが、unionfsのwhite outのような機能はサポートされていない。

(デモの補足2)ウィンドウもファイルに抽象化されていることを示すために、スクリーンショットを撮ろうと思ったがなぜかちゃんと動いてくれなかった(9vxのせいかな?)。やりたかったことは、画面全体が欲しい場合は、

% page /dev/screen

ウィンドウごと、例えばacmeが欲しい場合は、

% grep acme /dev/wsys/*/label
/dev/wsys/3/label:acme
% page /dev/wsys/3/screen

ということ。

しょっぱなから田胡先生に分散OSは死んだと言われてしまい、出鼻を挫かれてしまったが、何はともあれ、Plan9に興味を持っている学生が結構いることがわかったことが収穫だった。

詳しくはあとで書く。

(追記)まとめページができてます。YouTubeへのアップロードも。