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」などのコマンドライン系ソフトを動かすのにも向いている。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら