Microsoftは米国時間4月22日、ブログへの投稿とChannel 9の動画で「Windows Subsystem for Linux」(WSL)の仕組みに関するさらなる詳細を明らかにした。WSLを用いて「Windows 10」上でBashシェルを動作させるというデモは、同社が3月30日から4月1日にかけて開催した開発者向けカンファレンス「Build 2016」の目玉となっていた。
Windows 10の内部にこっそりとLinuxカーネルが隠されているわけではない。Windows Kernelチームによって開発されたWSLが、Windows上でLinuxのバイナリを動作可能にするための土台を提供しているのだ。
同社の説明によると、WSLにはユーザーモードで動作するセッション管理マネージャと、Linuxカーネルをエミュレートするピコプロバイダドライバ、手を入れていないユーザーモードのLinux(Bashなど)をホストするピコプロセスが含まれているという。
同ブログには「ユーザーモードのLinuxバイナリとWindowsのカーネルコンポーネントの間で、この魔法が実現されている。手を入れていないLinuxバイナリをピコプロセス内に配置することで、われわれはLinuxのシステムコールをWindowsのカーネルに振り向けられるようにした。lxss.sysとlxcore.sysというドライバはLinuxのシステムコールをNT APIに翻訳し、Linuxカーネルをエミュレートすることになる」と記されている。
ピコプロセスのコンポーネントと聞くと、Microsoft ResearchのOS技術である「Drawbridge」を思い浮かべる人がいるかもしれない。なお、Drawbridgeの開発チームには、Microsoftのマイクロカーネル型OS「Singularity」を手がけていた人々が数多くいる。
Channel 9のアーキテクチャ概説動画とブログ記事のいずれでも、このWindowsカーネルにはDrawbridgeのピコプロセスとピコドライバというコンセプトが息づいていると述べられている。「WSLの土台」を実現しているのは、このピコプロセスとピコドライバなのだ。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。