いまさら Googleの
Native Clientの
paperを読みました。
まあ、その技術についてはともかく、Hackyな雰囲気のする Paperだなあ、と。
自分も学問的なところから離れて長いのだけど、論文としてはいらない、
でも実装や運用的には面白いところが多すぎるように感じます。
例えば、3節では validator の object codeの大きさと内訳が出ています。
そんなこと、そこで数字を出して自慢しなくてもいいんじゃないかと思うんだけど。
他にも、どんなに既存のシステムに手を加える量が少なかったか、と
強調する部分がある。
なんとなく、これは研究精神というよりHack精神に通じるものがあるのです。
「こんなに簡単にでっちあげちゃったもんね」という、
単なるすごいものを作ったのとは違うジマンパワーを感じる。
コードゴルフとか、obfuscated c code contestとか始めちゃいそうな
ちょっとねじ曲がったパワーです。
何のため、4節に書いてある「既存のアプリケーションを
簡単にNaClに移植できたよ」っていうのは研究としてまっとうな方向です。
そうでななくて、「NaCl自体をこんなに簡単につくったぜ」
っていうことです。
他にも、
- x86 の segment registerにべったり依存したり
- gccとかへの patchの少なさを自慢したり (3.6.1節)
- debuggerとかの開発環境にちゃんと言及したり (3.6.2節)
あたりに Hack集を感じるのは俺の偏見でしょうか。
それはそれで Googleという会社がまだ hack魂のようなものを
いっぱい持っていると感じさせて好感を持ちました。
しかしながらやっぱり以下の点が気になります:
- 他の processor、特に ARMへの展開は考えてないのか? :
やっぱり x86が嫌いで組み込みにきたものとしては気になります。
pointerの sandbox化で本質的に segmentationに依存してしまっている
以上難しそう。
- outer sandboxは何のために必要なのか? :
なんか inner sandboxと service runtimeだけで十分な
securityは確保できる気がします。
なんで、outer sandboxなんていう service runtimeの system call
を監視する仕組みを作ったんだろう。
service runtimeの実装を楽にするためなんでしょうか?
以上、何かご意見ある方がいらっしゃったらコメントでもいただけると幸いです。
最近のコメント