Windows 10でLinuxのプログラムが改変なしにそのまま動かせるLinux互換環境「Windows Subsystem for Linux(WSL)」。Linuxプログラムに対してWindowsカーネルをあたかもLinuxカーネルのように見せる仕組みだ。その互換性は、WSLがどこまでLinuxカーネルとして振る舞えるかにかかっている。
WSLは、Linuxの実行ファイルをWindowsで直接実行する。WSLで動作するLinuxディストリビューションの「Ubuntu」や「openSUSE」を構成するプログラムは、オリジナルのそれと同じだ。
しかし当然、Linuxの実行ファイルが呼び出すOSの機能、いわゆるシステムコールは、Windowsのそれとは異なる。そこでLinuxプログラムによるシステムコールの呼び出しを検知し、Linuxプログラムが要求する形式で処理結果を返す仕組みがWindows側に必要になる。
このシステムコールの違いを吸収するのが、WSLの実体と言える「lxss.sys」だ。
WSLを有効にしたWindows 10上でLinuxプログラムを実行すると、Windowsカーネルはそのプログラムが要求するシステムコールをlxss.sysドライバに渡す。lxss.sysは、Windowsカーネルが持つ同等のシステムコールを呼び出すか、自身が持つLinux互換のシステムコールで処理する。