BaruLog × ばるろぐ

12345678910111213141516171819202122232425262728293031
Google
HOME (Archive)
«Prev || 1 | 2 || Next»

Microsoft の Singularity

Web ChangeLog - OS 開発はネイティブコード?

『Singularity はそのかわりにアプリケーションのインストール時に、MSIL のコードを検証し、ネイティブコードにコンパイルしてデプロイメントする。この方式の主な利点は、

・ネイティブコードへのコンパイルは実行環境で行われるのでシステム環境固有の最適化が可能であるという点で JIT に近い最適化を期待できる。
・コンパイルは一度しか行われずアプリケーション実行時の応答性が非常によい
・コード検証を行うのでセキュアでないコードを排除し、また実行時検証のためのコードのインジェクションも行われる。インストールしたアプリケーションがセキュアであることを保証できる上、全て実行時検証を行うよりよいパフォーマンスを期待できる

最初の2つについては、この方法がうまくいくことを、.NET Framework 2.0 の ngen が実証している。3つ目の項目は重要で、Windows 等ではシステムコールというサービスインタフェースを通してシステム(特にハードウェアリソース)の安全性を保っているが、これには多大なオーバヘッドが生じている。コード検証を経由すれば、多くの実行時検証を排除できるためそもそもハードウェアによるメモリ保護が必要なくなる(安全なコードは実アドレスにはアクセスできない)。従って、アプリケーションプロセスとカーネルの間にMMUハードウェアによるメモリ保護は存在しない。これが単一アドレス空間でシステムが稼動できる理由である。単一アドレス空間でのシステムコールは非常に軽く、これだけで Windows のような OS より遥かによいパフォーマンスを引き出すことができるのはよく知られている通りである』

『An Overview of the Singularity Project を読んでいただければわかるように、Singularity 上で動作するプログラムは Windows, Linux, FreeBSD と比較してもかなり優秀なベンチマークを記録している。Singularity は新しい OS アプローチとして相当に魅力的なアプローチだと考えら、マネージドコードのみを許す OS がネイティブコードによる OS を凌駕できる可能性を十分に示唆していると言える』


なるほど。
自分の中の「ネイティブコードだから速い」という固定観念を良い意味で覆してもらえました^^

実現に向けての障壁は多いみたいだけど、要注目だね :)

****
OPC Diary - OS開発はネイティブコード?について考える
(ネタ元)
投稿者:barukichi - 投稿日時:2006-03-19 - 01:30:08
カテゴリー:Bookmark - トラックバック(No Trackbacks)


«Prev || 1 | 2 || Next»