アカウント名:
パスワード:
従来は、.NETはネイティブコードに比べて遅いというのが一般的な理解だったのが、実は、それは、現代的なOSとCLRとのインピーダンスミスマッチが問題なのであって、逆に全部をCLRにしてしまえば、カーネル遷移やプロセス間のバリアが必要なくなり、全体としての整合性が向上するだけでなく、速度面でも有利になると言うおもしろい発想の転換。
この発想は理解できます。またそのように考えるのが1つの解決案だとおもいます。だからこそMSもやってるわけで。
しかし、実はインピーダンスミスマッチの層がより下位レイヤに移っただけと感じるかもしれません。 たしかにカーネル遷移やプロセス間バリヤが低コストになることは確かだとおもいます。ただ、デバイスドライバなどのモデルと本アーキテクチャのインピーダンスミスマッチが発生するのではないかと思
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
つまり (スコア:-1, フレームのもと)
↓
今後同じ事をしたやつはMSへの権利侵害
↓
製品化しなくてもライバルつぶし成功
「邪悪にならない」 (スコア:5, 参考になる)
MSを含め大抵の大企業は研究部門を持っていて(古くはparcとか)、有能な連中を集めて研究させてる。こいつはその一例。
現に中身も結構野心的。
一例をあげれば、Singularityはいわゆるマイクロカーネルなんだけど、面白いことにアドレス空間が分かれない。
単一のアドレス空間で、SIP(Software-Isolated Processes)ってのを動かすことで、マイクロカーネルに付き物のオーバーヘッドを小さくしている。
マイクロカーネルの利点を享受しつつ、その難点を解決できるってのはかなり魅力だと思う。
詳しくはMSの資料 [microsoft.com](pdf)を参照。
こういう試みがどこまで上手くいくかはわからないけれど、そんなに悪くないんじゃないかな。
その他の面白そうな試み (スコア:4, 興味深い)
こういう「安全な言語」のランタイムライブラリの場合は OS のランタイムと区別しないとか、
セキュリティを名前空間を使って実現するとか、
まぁオサレな感じはする。
アプリの開発と OS との関係が密になるから、組み込みの開発にはよさそうだけど、
運用で何とかできる余地が小さそうな印象を受けるので、
稼動中に様子を見ながら運用を変えるような、サーバ用途とかには難しいかなぁ…
# mishimaは本田透先生を熱烈に応援しています
Re: (スコア:5, 興味深い)
たしかに、今までのネイティブコードを主体としたアプリケーション群とは互換性はなくなるけど、それはそれで、逆のVM to Lagacyレイヤ(ただしJailの中)みたいなものを作れば、互換性を維持することはできなくはないと思う。その代わり、すごく実行が遅くなりそうだけど。
あとは、CPUに関しても、このOSが使われるようになれば、リングレベルの管理とかはいらなくなってスリムになるだろうし、とりあえず、組み込み用途ぐらいからでも実運用が始まれば、いろいろとおもしろい方向に動きそうに思います。
Re: (スコア:1)
従来は、.NETはネイティブコードに比べて遅いというのが一般的な理解だったのが、実は、それは、現代的なOSとCLRとのインピーダンスミスマッチが問題なのであって、逆に全部をCLRにしてしまえば、カーネル遷移やプロセス間のバリアが必要なくなり、全体としての整合性が向上するだけでなく、速度面でも有利になると言うおもしろい発想の転換。
この発想は理解できます。またそのように考えるのが1つの解決案だとおもいます。だからこそMSもやってるわけで。
しかし、実はインピーダンスミスマッチの層がより下位レイヤに移っただけと感じるかもしれません。 たしかにカーネル遷移やプロセス間バリヤが低コストになることは確かだとおもいます。ただ、デバイスドライバなどのモデルと本アーキテクチャのインピーダンスミスマッチが発生するのではないかと思
Re: (スコア:0)
Re:その他の面白そうな試み (スコア:0, 参考になる)