Microsoft Research is dedicated to conducting both basic and applied research in computer science and software engineering.

仮想化技術は数年前からIT分野で旬な話題であり続けている。すでにコンシューマですら4コアや6コアがあたりまえになりつつあるが、今後プロセッサはメニーコアの時代に入ると見られており、仮想化技術はますます重要度を増すことになると見られる。

一口に仮想化技術といっても、考え方も実現する方法も、対象とするレイヤも実にさまざまだ。ハイパーバイザの導入、アプリケーションレベルでハードウェアのフル仮想化、OS内部の機能としてコンテナの提供、サンドボックスやコンパートメント技術とも分類できそうな仮想化、挙げていけばきりがない。

こうした仮想化技術のひとつとして、Microsoft Researchが興味深い研究プロトタイプを発表した。「Drawbridge」と呼ばれる技術で、大雑把に説明すると、従来のカーネルからwin32kを抜いて、これをアプリケーション側で保持するようにするというものだ。ここではプロセスベースのコンテナを「ピコプロセス」、ピコプロセスで動作する最小限のWindowsを「ライブラリOS」と呼んでいる。

ファイルシステム、ネットワークスタック、デバイスドライバを従来のカーネル側に残して、ほかの部分はアプリケーション側で持つ仕組みになっている。アイディアの根幹はカーネルをユーザモードで動かすといったものに似ている。カーネルの上層にはセキュリティモニタが用意され、それぞれのアプリケーションが監視されることになる。

「Drawbridge」のモデルを適用すると、アプリケーション単体の独立性が高くなり、セキュリティ問題などもその中で閉じやすくなる。また、アプリケーションごとのシリアライズ/デシリアライズが実施しやすくなり、モビリティが向上する。このモデルがベースになった場合、OSのバージョンという概念が曖昧なものになる可能性もある。アプリケーションが従来のOSのに該当する部分の多くを持つことになるためだ。

乱暴な言い方になるし仮想化の方法が違うのでこの例えはあまり適切ではないが、イメージとしてはHyper-Vの上で最小限のコンポーネントしか搭載していないWindowsが動作しており、そこで単一のアプリだけ動作している、そういったものをよりスマートに実現する仕組みが「Drawbridge」ということになる。

論文には実際にビッグアプリケーションをこのモデルのもとで実行しているスクリーンショットが掲載されており、コンセプトモデルや単純な研究目的というよりも、セキュリティの向上やアプリケーション仮想化、アプリケーションモビリティの向上なども視野に入れた興味深い取り組みであることが汲み取れる。

Microsoft Researchから発表される研究がすべてWindowsプロダクトにフィードバックされるわけではないが、興味深い取り組みも多く、そのアイディアは他のOSやアプリケーション開発に影響を与えることもある。