マイクロソフトは「Windows Subsystem for Linux」を強化し、Windowsを「WindowsとLinuxのどちらのバイナリも開発、実行できるプラットフォーム」にするつもりだ
仮想マシンを使わず、Windows 10でそのままLinuxバイナリが実行できる機能として「Bash on Windows」が発表されたのは1年前のマイクロソフトのイベント「Build 2016」でした。
Bash on Windowsでは、Bashシェルを実現するためにWindows 10上でなんのカスタマイズもされていない本物のUbuntuとBashが実行されています。つまりWindows上で素のLinuxバイナリが実行されているのです。
このLinuxバイナリの実行を支えている仕組みのなかでもっとも重要なのが、WindowsのNTカーネル上でLinuxカーネルをエミュレーションする「Windows Subsystem for Linux」(WSL)です(ちなみにWSLは1MBに満たない小さなコードでできているそうです)。
また、Windows Consoleに対してもLinuxのターミナルとして標準になっているVT100エミュレーション機能も強化が行われ、その結果としてBash on Windowsでviやemacsなどの動作もサポートされました。最新版ではターミナル画面を分割して利用できるtmuxにも対応しています。
Bash on Windows/WSLの発表から1年。マイクロソフトはこれらの機能を強化してWindowsにおけるLinux互換機能をさらに前進させており、そして今後の継続的な強化も表明しています。
このままいけば少なくとも開発者にとってWindowsは、Windows環境はもちろんのこと、すぐに主要なLinuxディストリビューションも導入し利用できて、WindowsバイナリもLinuxバイナリのどちらでも開発、実行できるプラットフォームになると考えられます。
マイクロソフトは本気で、WindowsをWindowsのためだけでなく、Linux開発環境のためのOSとしても使えるようにするつもりなのです。
FedoraやopenSUSEにも対応。Windows ServerにもWSLを搭載
そう考えられる材料は、Build 2017においていくつかマイクロソフトから示されました。
Build 2017で行われたセッション「Using the Windows Subsystem for Linux and the Windows Console for a next generation development experience」では、Windows Subsystem for Linuxの開発を担当しているプログラムマネージャ、Jack Hammons氏が登場。
Hammons氏は1年半前にマイクロソフトに入社。入社以前はMacやLinuxでWebアプリケーション開発をしており、オープンソースのツールやテクノロジーに親しんでいたとのこと。
Hammons氏は秋に予定されているWSLのアップデートで、Linuxに対する互換性をさらに向上させるとともに、安定性の向上も実現させると説明。また、Linux版TensorFlowを実行したいというリクエストに応えるため、OpenCLのサポートなども進めるとしました。
サポートするLinuxディストリビューションも、UbuntuだけでなくopenSUSE、Fedoraへ拡大することが発表されています。これらはこの3つの画面が示すように1つのWindows 10上で同時に共存でき、別々に実行可能です。しかもいずれもWindows Storeから簡単に導入できるようになるとのこと。
そして次のアップデートではWindows 10だけでなく、Windows ServerにもBash on Windows/WSLが搭載されることが発表されています。
Windows Serverを用いることで、MySQLやWebサーバのような常駐型のサービスをLinux版のまま実行できるようになれば、その利用範囲はさらに広がると考えられますので、これはWindowsのLinux対応において大きなポイントとなるのではないでしょうか。
Windows&Devices担当EVP テリー マイヤーソン氏は、Build 2017の基調講演でこうしたBash on Windows/WSLを搭載したWindowsを、「WindowsアプリケーションもLinuxアプリケーションも実行できる、最高の開発環境となる唯一のOSの実現だ」と自画自賛してみせました。
最高の開発環境を実現するためならWindowsにLinuxでさえも載せる。いまのマイクロソフトは本気でそのことに取り組んでいると言って間違いないでしょう(とはいえ、昔はWindows NTにPOSIXサブシステムを載せていたこともあるので、オールドファンには耳新しい話ではないのかもしれません。しかし今回は本気度が違うように思えます)。
タグ : Linux , Microsoft , Windows