米Microsoftは5月6日（現地時間）、「Windows Subsystem for Linux 2」を発表した。初期ビルドを6月末までに“Windows Insider Program”を通じて提供するとしている。

「Windows Subsystem for Linux（WSL）」は、LinuxのELF64バイナリをWindows 10上でネイティブ実行するための機構。現行の「WSL 1」はもともと開発者に限定して提供されてきたが、Windows 10が機能アップデートを重ねるごとに改善が進み、今では一般のユーザーでも気軽に利用できるようになっている。

しかし、「WSL 1」にも問題がないわけではない。たとえば、「WSL 1」はLinuxのシステムコールをWindowsのAPIへ逐次変換して実行しているが、すべてのシステムコールをカバーできているわけではない。多くのケースでは問題にならないものの、非対応のアプリは存在した。また、ファイルシステムのパフォーマンスが十分でないといった欠点も指摘されていた。

「WSL 2」ではアーキテクチャーの抜本的な変更により、こうした弱点が克服されている。

もっとも大きな違いは、LinuxカーネルをまるごとOSに内蔵し、軽量な仮想マシン（VM）ユーティリティ内で実行していることだ。このカーネルは「Linux 4.19」ベースで、「WSL」のためにサイズとパフォーマンスが特別に最適化されている。また、“Windows Update”を介して自動更新されるため、カーネルのメンテナンスをユーザーが意識する必要はない。オープンソースで開発されているため、興味があるならソースコードをチェックすることも可能だ。

仮想マシンと聞くと、仮想ハードウェアやOSの構成・管理、多大なリソース消費、ホストと厳密に隔離された環境などをイメージしてしまうが、「WSL 2」で使われている仮想マシンユーティリティはそうした大げさなものではないようだ。「Bash」シェルの起動はほぼ2秒以内で完了するため、使い勝手は「WSL 1」と変わらない。むしろ、ファイルを集中的にやり取りするようなケースでは処理速度が大幅に向上しており、“tarball”アーカイブの解凍を行う場合では「WSL 1」と比べ最大で20倍速くなるという。また、さまざまなプロジェクトで“git clone”や“npm install”、“cmake”といったコマンドを利用したケースでも、約2～5倍のパフォーマンス向上が見込めるとのこと。

加えて、Linuxカーネルをそのまま使うことにより、システムコールの互換性問題が解消されているのもうれしいポイントだ。同社によるとLinux版「Docker」や仮想ファイルシステムの構築に使われる「FUSE」なども利用できるという。