Recientemente Microsoft introduced the updated WSL2 subsystem (Windows Subsystem for Linux), designed to run Linux executable files on Windows.
A key feature of the second edition is delivering a Linux kernel, rather than an intermediate layer on the fly that translates Linux system calls to Windows system calls.
A trial version of WSL2 will be offered at the end of June in the experimental versions of Windows Insider.
Also, in the post about the Microsoft terminal emulator "Windows Terminal", the code of which is distributed under the MIT license.
All changes prepared for the Kernel integration with WSL will be released under the free GPLv2 license and will be available upstream.
About WSL 2
Windows Terminal provides a tab-based interface and shared windows, fully supports Unicode and escape sequences for color output, allows changing themes and plugins, supports virtual consoles (PTY) and uses DirectWrite / DirectX to speed up text rendering.
The emulator-based WSL1 support will be saved and users will be able to use it in conjunction with WSL2. To run the Linux kernel in a Windows environment, a lightweight virtual machine is already used, which is already in use in Azure.
As part of WSL2 for Windows 10, a component will be offered with Linux kernel 4.19. As the fixes for LTS 4.19 are released, the core for WSL2 will be rapidly updated through the Windows update mechanism and tested on the Microsoft Continuous Integration Infrastructure.
WSL2 will use the same core as the Azure infrastructure, which will simplify maintenance.
Prepared patches include optimizations to reduce kernel startup time, reduce memory consumption, and leave the minimum required set of drivers and subsystems in the kernel.
The proposed kernel will be able to act as a transparent replacement for the emulation layer offered in WSL1. Having the source code will allow enthusiasts to build their Linux kernel builds for WSL2 if they wish, for which the necessary instructions will be prepared.
About the changes in WSL2
Using a core with optimizations Azure project will allow you to achieve full Linux compatibility at the system call level and ensure that Docker containers can run smoothly on Windows, as well as implement support for file systems based on the FUSE mechanism.
In addition, WSL2 significantly increased I / O performance and file system operations, which used to be a WSL1 bottleneck.
For example, when unpacking a WSL2 archive, WSL1 is 20 times faster than WSL1, and when "git clone", "npm install", "apt update" and "apt upgrade" are performed from 2 to 5 times.
Actual speed increase will depend on application that you are running and how it interacts with the file system.
Despite the delivery of the Linux kernel, as before, WSL2 will not provide a ready-made set of components for user space.
These components are installed separately and are based on versions of various distributions. For example, for WSL installation in Microsoft store directory, Ubuntu, Debian, Kali Linux, SUSE and openSUSE assemblies are suggested.
To interact with the Linux kernel that is offered in Windows, a substitution of a small initialization script will be needed that changes the boot process in the distribution. Canonical has already announced its intention to fully support Ubuntu's work on WSL2.
The terminal, you can use the command prompt (cmd), PowerShell and WSL. In the summer, the new terminal will be available to Windows users through the Microsoft Store catalog.
Finally, the Microsoft team tells us that they will announce the launch on their blog as well as on their Twitter account.