Microsoft first introduced Windows Subsystem for Linux in 2016 in order to let developers runs bash command from Ubuntu user space without having to install Ubuntu in a virtual machine or container. It relies on the Windows kernel with a library converting Linux system calls into ones compatible with Windows. Performance is great until you start to involve file systems calls, for example during code compilations, something that’s fairly common for developers…
Microsoft has been working on solving this performance issue, and compatibility issues with software such as Docker, and is now close to releasing Windows Subsystem for Linux 2 (WSL 2) featuring its own Linux 4.19 kernel instead of the Windows kernel plus a translation layer.
WSL 2 uses virtualization technology to run its custom Linux kernel inside of a lightweight utility virtual machine (VM) which takes just 2 seconds to boot. That also means there will be separate (security) updates for the Windows kernel and the Linux kernel with the latter also updated transparently through Windows updates.
Vastly improved file systems performance, means WSL 2 is now up to 20 times faster when unpacking a zipped tarball, and around 2 to 5x faster when using git clone, npm install and cmake on various projects. Improved compatibility due to the removal of the system calls translation layer means the Linux version of Docker and FUSE are working.
Initial builds of WSL 2 will be available through the Windows insider program by the end of June 2019, and the source code for the optimized Linux 4.19 kernel will be released on Github. On a separate topic still relevant to Windows developers, Microsoft also announced a new version of the Windows Terminal, and published the source code.