Microsoft has added Windows Subsystem for Linux (WSL) from Microsoft Windows 10 version 1607 onward and Windows Server 2019 it has replaced the older Windows Services for Unix it is like WINE in Linux which provide compatible layer for running Windows based application on Linux likewise WSL provide a subsystem or layer on which different Linux distro and applications can be run. It even support to run Linux GUI programs using an X Server. Developers can compile Linux binaries on WSL.
Unlike virtual machines (VM) or containers WSL provides a layer for mapping Windows kernel system calls to Linux kernel system calls due to which you may run Linux binaries on Windows without modifying it, also WSL can creates mapping of Windows services, like the filesystem and networking, as devices that Linux can access.
WSL gives number of capabilities, which are:
- Choose your favourite GNU/Linux distributions from the Windows Store.
- Run common command-line free software such as grep, sed, awk, or other ELF-64 binaries.
- Run Bash shell scripts and GNU/Linux command-line applications including:
- Tools: vim, emacs, tmux
- Languages: Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go, etc.
- Services: sshd, MySQL, Apache, lighttpd
- Install additional software using own GNU/Linux distribution package manager.
- Invoke Windows applications using a Unix-like command-line shell.
- Invoke GNU/Linux applications on Windows.
- Linux IDE (Integrated Development Environments) can be installed directly on Window and test Linux software based on Python, Perl, Ruby, PHP, and the GNU Compiler Collection (GCC) and compile Linux binaries.
- WSL provide access of windows filesystem or partition (like C drive) inside Linux which allow access of Windows files inside Linux.
Image: Ubuntu Linux filesystem can be access through Linux commands in Windows command prompt.
As contrary to VM or containers WSL virtulizes the Linux kernel on top of Windows kernel due to this WSL consumes less memory and it unload the driver when not in use which makes it efficient compare to VM or containers.
As of now below Linux distro are supported in Microsoft Windows 10 or Windows server 2019:
- Ubuntu
- OpenSUSE
- SLES
- Kali Linux
- Debian GNU/Linux
Image: Windows or Microsoft Store contains option of Linux distro to install
Below are further recommended reading:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
https://docs.microsoft.com/en-us/windows/wsl/install-on-server
https://blogs.msdn.microsoft.com/wsl/
Reference Sources:
https://docs.microsoft.com/en-us/windows/wsl/about
https://www.petri.com/bash-out-of-beta-in-windows-10