Windows11で利用できるWSL(Windows Subsystem for Linux)を使うと、Windowsの中でLinuxのコンソール・アプリケーションや、GUIアプリケーションを実行することができる。つまり、Windows11には、2つの実行環境があるわけだ。


WSLが導入されたのはWindows 10のときなので、すでに利用しているユーザーも少なくないだろう。

現在のWSLは、Ver.2と呼ばれ、仮想マシン支援機能を利用したもの。手を加えてはいるが、Linuxカーネルが動作するため、実行環境としては、実機のLinuxに近いものがある。ただし、完全に同じというわけではない。

WSLは、あくまでもLinuxのプログラムを実行する実行環境でしかない。bashのお勉強には利用できても、Linuxのカーネルやシステム構築、などの高度な利用をしようと思うと、すぐに実機Linuxとの違いに行き当たることが少なくない。カーネルを再コンパイルしてデバイスドライバを追加するぐらいは実機と同じだが、起動プロセスが異なっている、複数のディストリビューションが1つの仮想環境内で動作していて、カーネルやメモリを共有しているなどの違いがある。

見た目は同じだけど、ちょっと穴を掘ったら、すぐに固い床に行き当たってしまう「映画のセット」のような感じがある。

そのWSLだが、現在はソースコードが公開され、中身が少し見えるようになってきた。ソースコードが公開されているのは、GitHubである。もともと、ここは、WSLのバイナリリリースやディストリビューション開発用の情報などがあったところだ。

○WSLの技術文書を見る

ソースコードの公開に合わせて、技術的な文書も公開された。
技術的な文書は、以下にある。

https://github.com/microsoft/WSL/tree/master/doc/docs/technical-documentation

最初に見るべきは、index.mdだ。

ここには、WSLの全体象を示すダイアグラムがある(写真01)。ダイアグラムは、mermaid(これについては過去記事参照)から作られたSVG(Scalable Vector Graphics)だが、図中のリンクは、行き先が存在しないエラーになる。これは、リンク名(たとえば、wsl.exe)の後ろに「~.md」を付けた技術文書フォルダ(前記のtechnical-documentationフォルダ)内のマークダウン文書を指している。

次に見るべきは、boot-process.mdだ。ここは、WSL、ディストリビューションの起動処理を扱う。こちらのダイアグラムにはリンクは含まれていないが、青文字の部分は、対応するマークダウン文書があるが、文書自体は、index.mdと同じで「.exe」などの実行ファイルの拡張子が省略されている。

今回のタイトルネタは、ジェイムズ・P・ホーガンの「未来の2つの顔」(原題The Two Faces of Tomorrow、1979)である。AIを搭載したコンピュータのネットワークがさまざまなサービス、サポートを提供している世界で、AIが事故を起こす。作中では原因は「常識の欠如」とされるが、次世代システムでは、自己保存を優先するため、人類に敵対行動を取る可能性が指摘された。このため、完全に独立したコロニーを使い、人間とAIのどちらが支配権を勝ち取れるかを実験してみることになった。
この作品は、事実をベースに、SF的な事件に合理的な解釈を持ち込む。いまだにハードSFの代表作とも言われる作品である。
編集部おすすめ