[独り言] Coyotos への移行

自分の頭の中を dump するといつでも偉そうな事を主観的に bias 全開で書くことになりますな。まあいいやそのための日記だし。
で、本気で移行するかという話が出ている。まあ議論を読みながら「そういう話は何で出ないの?」とか思ってたから全く予想通りなんだけど、移行するべきか L4 に残るべきか。
私は移行した方がいいんじゃないかと思っている。理由はいくつかあって、

  • そもそも Hurd-L4 用に蓄積した code が少ない

裏でも色々書いてたんだろうけど、それならなおさら蓄積したのは経験であって code ではない。だから今 hurd-l4 CVS にある code を捨てる事自体には大きな問題は無いと思う。概念と目標さえ忘れなければ、ここで code を捨てることによって project が大きく遅れることは無いと思う。
ただし、移行した途端に Marcus, Neal, et al が必要以上に design に悩み出すのを阻止しないといけないかもしれない。

  • L4 の map/unmap の primitive としての適性

私が Jonathan Shapiro の初めの投稿にやたら興奮していた理由。map/unmap が本当に正しく動くのか疑ってたら、(予想とは違う方向でだけど) 「正しくない」という話がごろごろ出てきた。それに対する L4 側 (っていうか Espen Skoglund) の反応もあったけど、何か釈然としない。
それにそもそも map/unmap という後腐れの残る仕組があんまりいいものに思えない。どうしても copy よりも coupling を推進してしまう。それは microkernel の「system を分割する」精神に反する。

  • Coyotos team の方が open / 協力的そう

今回の議論なんて、L4 の根底を担う map/unmap がどうという話なのに、Espen Skoglund ぐらいしか顔も出さないのはいかがなものか。Hurd list に参加してないにしても Espen から話ぐらい伝わってたはずなんだけど。L4 vs Coyotos (EROS) の間に cathedral vs bazaar の図式が見える。
ただし、ここでいう cathedral vs bazaar というのは design level の話。L4 の design に関しては、Karlsruhe, Dresden, UNSW 以外の人は基本的に蚊帳の外だ。Design discussion も ML に全く現れない。一度は Marcus が L4.sec の設計について "sorry, I promised not to pass [details] on" なんて信じられないような comment までしている。これは一体 proprietary な software なのかと思った。
殆んど何も知らない状態の私が Coyotos についてあれこれ断定するのは非常に危険だけど、それでも L4 のアレより coordinate しにくいというのは想像できない。

そうなると今私がやろうと思ってる L4 copy は何なのという話だけど、まあいい経験になりそうだからいい事にしよう。

Task

おいおいおい、本気かよ。例によってまだ archive に出現してない投稿を引用。[]内は拙注。

(From: Marcus Brinkmann)

[On copy as a primitive operation]
> [L4 developers] have said that if [Hurd devlopers] can show that [copy as a kernel-implemented primitive] is something which makes sense in a
> real system, they would look at implementing it (and implement it if it's not
> too hard. It's also been said that it isn't too hard).

This is true, but they have not provided a metric for what "showing
that it is something that makes sense" means, ie, what we have to
demonstrate to convince them. The usual response is "if it can't be
done feasibly any other way", which is very hard to do. And I am not
attacking these problems from a research angle, but from an
engineering angle, which doesn't help to push the argument in the
general case.

[...]

I have actually the opportunity to go to Dresden and make my cause in
front of the L4 group, I just don't know right now if or rather when I
can get everything together to actually present my case thoroughly.
This of course also depends on real life issues etc.

ちょっと待てぇーー そこで「俺らで書いてみるか」って話にはならんのか!?? いつか忘れたけど Espen Skoglund か誰かが「L4 正式版に入れるものは全て rigorous な選択過程と prototyping を経なければいけない」みたいな事を言ってたぞ。その発言自体が伽藍すぎると思うけど、どっちにせよ prototype を書いてその上に system を作ってしまうのが "demonstrate to convince them" への一番の近道じゃないのか?
何か見落としてるのかも知れんけど、本当に「自分でやる」ことを考えてないんだったら確かに相手にするのは時間の無駄かもしれない。ちなみに今の私ではここに書いたことを英語にして送りつけても神経を逆撫でるだけだろう。
めも: [anthy] 「逆撫でる」が出ない
斯くして ad Hurd な project 第一弾が決定致しました。

  • L4 を改造して copy をつけてみる

ただしその前に boot が失敗する件を片付ける必要がある。多分また GCC version が関係してるそげだぞ。それから pistachio に enbug