Microsoft are really stepping things up with their Windows Subsystem for Linux (WSL).
In the current release of Windows 10, the WSL layer has a custom-built kernel that translates Linux APIs through to Windows APIs. This translation layer should mean that native Linux software, that is calling Linux kernel APIs, can run quickly as these Linux API calls are translated directly to Windows API calls – in practice however, as the current kernel was a completely new project, written from the ground up without using any Linux kernel code, the performance in certain areas has been lacking. Also, as Microsoft had not implemented each and every Linux API, some native Linux software simply didn’t work.
With WSL version 2 however, Microsoft are changing the way it all works, ditching their in-house kernel layer and the new version will run in a lightweight Hyper-V virtual machine with a full Linux kernel, thereby ensuring 100% compatibility and it should deliver better performance as the current Linux kernel is highly optimised.
What’s more, as the Linux kernel is GPL code, all of Microsoft’s changes are either being contributed back upstream to the Linux Kernel project, or being released as separate open-source patches. Microsoft will even be hosting the source of the WSL v2 kernel on GitHub.