Windows Anniversary Update(開発コード名はRedStone 1、RS1)に搭載された新機能としてWindows Subsystem for Linux(以下WSLと略す)がある。「bash搭載」などとニュースになった機能だが、実際には、Linuxをサブシステム内で動作させるものだ。マイクロソフトの公式ブログなどで「bash on Ubuntu on Windows」と表現されたことから、この名称で呼ぶこともある。

 簡単に言うと、Windowsの中でUbuntu Linux互換の環境を作るのだが、Linuxそのものが動作しているわけではない。WSLは、Linuxカーネルをエミュレーションし、内部にLinux互換の環境を作り出す。Ubuntu Linuxのほとんどのソフトウエアモジュールはそのまま利用する。

 その出入り口、つまりLinux環境とWindows環境の橋渡しを行うのが「bash.exe」というプログラムなのである。なお、WSLは、仮想マシンではなく、「Pico Process」と呼ばれる技術が利用されている(これについては別途解説する)。

 WSLは「ほぼLinux」の環境を作り出すが、これはbash.exeが動作している間だけで、bash.exeの終了後には、Linux環境自体が消えてしまう。もちろん、ファイルに記録した内容は残るが、ずっとLinuxが動作し続けているわけではないので、Linuxサーバー的には利用できない。

 しかし、bash.exe経由でLinuxのプログラムを動作させることはできる。また、Linuxのパッケージコマンド(プログラムのインストールシステム)を使って、様々なLinux系ソフトを後からインストールして利用することも可能だ。

 標準状態では、Linux/UNIX系のGUIシステムの基本となる「X Window System」も組み込まれていないため、基本的にはコンソールあるいはターミナルからの利用となる。雰囲気としては、UNIX初期のターミナル専用機による利用や、Linux初期のシステムコンソールからの利用に近い。

 UNIXはUNIXワークステーションの世代で、Linuxではディストリビューションが増えだしたころに、最初からGUIが起動してGUIベースでログインする方式が普通になった。WSLが提供するのは、それ以前のコンソールから起動するシステムの雰囲気なのである。

 こうした環境であるため、WSLは主に開発系での利用が想定されているようだ。例えば、gcc(GNU cコンパイラ)などによるソフト開発などは、GUIを必要としない。

 永続的な実行がサポートされない半面、bash.exeによるLinux環境の起動は、極めて短時間に行える。Linux系コマンドの実行も簡単だ。このため、UNIX系が発祥の「Emacs」などのコマンドライン系ソフトを動かすのにも向いている。