第20回グリーオープンソーステクノロジ勉強会
2/10にグリー勉強会でカーネル/VM探検隊で話したもの+αという感じで1時間ちょっと話ししてきた。資料はこちらにアップロードした。今までのグリー勉強会のお題と比較すると、なんとも異色な感じがして、よく人が集まったな(実際反応はやや鈍かったようですが。。。)というのが率直な感想だけど、とにかく、貴重な機会を提供していただいた一井さんはじめ、グリーの皆さん、参加していただいたみなさんに感謝します。
公式な参加者数はわからないけど、会場に来ていた人でPlan 9をインストールしたことある人が5人。すごいアウェー感だけど、逆にそれにも関わらず来る人がいるというのは改めてすごいな。
さらに当日は@go_vmさんにもお願いして、「軽快なPlan 9」話をしてもらった。KVMの床抜きの話である。Plan 9側の実装は非常にad hocなものだから、Plan 9的にもっとうまい見せ方があるんじゃないかなと思った*1。何はともあれ、@go_vm先生の次回作に乞うご期待ということで。
以下、とりあえず記憶している質疑応答、TLに流れている質問をまとめておく。抜けているものがあれば(もっとあったと思うが)、教えて下さい。
- ユーザ管理は?
- authサーバが存在する。
- セキュリティ周りはどうなっている。
- ルートユーザの代わりにホストオーナという考えがある。
- #sや#mといったカーネルデバイスへのアクセス制御はどうなっている?
- 分散OSのイメージ。分散OSといってもいろいろ。
- マルチサーバの場合、システム全体のブートストラップはどんな形になるのか?
- 使えるコマンドとか
- tailはあるけどheadはないとか。とりあえず「UNIX to Plan 9 command translation」見て下さい。
- select/pollやノンブロッキングread/writeがないって本当?ネットワーキングプログラム書きにくいのでは?
- 当時は嘘言いました。自分で日記に書いたことも使わないと忘れてしまいますね(汗)
- プロセスの終了コードや signal の値が文字列で、そのメモリを管理するのは誰
- ioctlにすべてを押し込める代わりに、cloneとかctlみたいなファイルを用意してread/writeする方がきれいと言うけど、本質は同じでは?結局誰がそれを決めるのか?センスが問われる。
- IPv6どうなっている?
- 名前の由来は?
- ed woodのカルト映画、Plan 9 from outer space。
- ロックってどうなっているの?
- 参照:ファイルロック
- スレッドってどうなっている?
- 基本コルーチン。各スレッドがチャネルベースで同期通信を行うCSPモデル。この考えはNewSqueak、Alef、Limbo、Goと脈々と流れている。
- CPUサーバって結局何?
- なぜ今回の勉強会はPlan 9だったのか?
- Plan 9をはじめたきっかけは?
- 使ってみないとわからない。
- それはごもっとも。
- (TL追っかけるときは)glenda9pうざい。
セキュリティモデルは全然理解していないので、ちゃんと勉強しないとな。でも、この手の話はあまり興味が持てなくて、正直苦手だ。一応、「Plan9のセキュリティアーキテクチャ(その0)」、「Plan9のセキュリティアーキテクチャ(その1)」とか、「ACM SIGOPS Operating Systems Review」で何か書こうとはしているのだが、まとめきれてない。Plan 9にあって、UNIXにないものの一つ(というか方向性が違うのだろうか?)がこの辺の話だと思うから、興味を持つ人もいるかもしれない。
ちょっと補足しておくと、元々の認証周りの考え方はKerberosに近く、ネットワーク上はパスワードが流れるのではなく、認証サーバから受け取ったチケットが流れる。またsetuidやルートユーザの考え方はない。ファイルサーバは自分のコンソール以外からユーザプログラムを実行せず、認証されたユーザ以外からの保護されたファイルへのアクセスを禁止する。セキュリティアーキテクチャは第4版でいくつか重要な変更が行われている。これに関しては論文「Security in Plan 9」に詳しい。
あと、結局マルチサーバ構築したことがないので、この辺を突っ込まれると厳しい。いつかはやりたい。
結局twitterのアカウントと顔を一致させることができなかった。これも反省点。
slideshareにアップロードしたスライドを読み返しているんだけど、typoなどなど。
- P5: ホワイトボードの画像が出ていない。興味ある人はリンク先をただってください。
- P10: 手を抜いて論文からコピペしたのだが、たぶん線が細すぎて見えなかったのでは?
- P29: s/Glandix/Glendix/