ニュース

Microsoft、「Windows Subsystem for Linux 2」を発表 ~LinuxカーネルをOSに同梱

Windows 10のLinux体験は新たなステージへ

Microsoft、「Windows Subsystem for Linux 2」を発表

 米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」なども利用できるという。

「WSL 2」は高速に動作。Linux版「Docker」も利用できる