マイクロソフト、WSL 2に最適化した同社版LinuxカーネルのソースコードをGitHubで公開
マイクロソフトは、Windows 10の次期バージョンで搭載予定のWindows Subsystem for Linux 2(WSL 2)に組み込むLinuxカーネルのソースコードをGitHubで公開しました。
Windows 10には、その内部でLinux互換のAPIを提供する「Windows Subsystem for Linux」(WSL)と呼ばれる機能を搭載しています。
現在Windows 10で提供されている「WSL」は、LinuxシステムコールをWindowsカーネルのシステムコールに変換することでLinux互換環境を実現しています。
しかしこの方法ではLinuxシステムコールとの高度な互換性や高速性を実現することが難しかったため、次期バージョンの「WSL 2」ではLinuxカーネルをまるごとWindows 10内に組み込む仕組みが採用されました。
WSL 2で用いられるLinuxカーネルは、WSL 2用に最適化された専用のLinuxカーネルで、これをHyper-Vをベースにした専用の軽量仮想マシン内で実行します。
これによって前述のようにフル互換のLinux環境を実現。WSLでは対応できなかったDockerやFUSE(Filesystem in Userspace)などにも対応できるようになります。
参考:[速報]Windows上でフル互換のLinuxシステムコールを実現する「WSL 2」発表、Dockerも実行可能に。Microsoft Build 2019
マイクロソフトはWSL 2発表時に、専用Linuxカーネルのソースコードを公開することも明らかにしていました。今回の公開でその約束が果たされたことになります。
WSL 2専用のLinuxカーネル。Windows Update経由でパッチ提供
このカーネルは最新のLTS(長期サポート版)であるLinux 4.19をベースにいくつかのパッチを当て、最小限のデバイスサポートで起動時間を短縮しメモリ使用量を最小化するなど、WSL 2で性能が発揮できるように最適化されたもの。
マイクロソフトは年に2回、Windows 10の大型アップデートを提供しています。WSL 2とLinuxカーネルは、この大型アップデートを通じて提供される予定です。おそらく来年、2020年春になると予想されます。
そしてその後、マイクロソフトはWindows Updateを通じてWindowsのアップデートだけでなく内蔵のLinuxカーネルのアップデートも提供する予定です。
つまりユーザーは自身でLinuxカーネルのパッチを当てたりアップデートの心配をする必要はなく、マイクロソフトがWindowsとLinuxの両方について責任を持ってアップデートを配布してくれるのです。
Publickeyでは2017年5月に、WindowsはWindowsとLinuxのどちらのバイナリも実行できるプラットフォームになるだろうと予測する記事を公開しています。その世界が徐々に近づいています。
参考:マイクロソフトは「Windows Subsystem for Linux」を強化し、Windowsを「WindowsとLinuxのどちらのバイナリも開発、実行できるプラットフォーム」にするつもりだ
関連記事
ちなみにマイクロソフトにとって、独自のLinuxを公開するのは初めてではありません。2016年3月にはLinuxベースのホワイトボックススイッチ用ソフトウェア「SONiC」をオープンソースで公開しています。
あわせて読みたい
Raspberry Pi財団、Webサイトを「Raspberry Pi 4クラスタ」で運用中
≪前の記事
オンプレミス版AWSの「AWS Outposts」、24インチ幅の専用ラックはキャスター付き、故障には部品交換で対応