Windows Subsystem for Linux: Architectural Overview

Play Windows Subsystem for Linux: Architectural Overview
Sign in to queue


In this video Deepu Thomas lays down the real scoop behind the Windows Subsystem for Linux. There was a lot of speculation surrounding how this feature actually worked so I decided to find out. This architectural overview gets into exactly how an operating system separates functionality into user and kernel mode. Deepu then uses that understanding to show how this new subsystem works in that context. The whole explanation is thoroughly enlightening and often stretched my understanding of how the underlying operating system works.

There's a ton to learn on this topic! In addition to our Channel 9 Live coverage at //BUILD 2016 and we have a number of deep dives that really get into how the feature works at an operating system level:

If you prefer to read more on the Windows Subsystem for Linux make sure to catch up on the official documentation and blog.






The Discussion

  • User profile image

    Seth the mentioned links to the User Voice and GitHub repo are missing in the description.

    Otherwise it was a great explanation on how all of this works. I'm really impressed by this feature and I'm looking forward to future builds!

  • User profile image

    Is it possible, like it was with SUA (Subsystem for Unix-based Applications), to have mixed-mode binaries (Win32 and Unix calls from within the same binary) ?

    Calling Win32 functions from within Unix code and LXSS functions from within Win32 code would be useful for some scenarios, such as providing a XAML-based UI to an existing Unix codebase, creating GUI tools that internally use LXSS shells (hosting Bash or Ruby within a Win32 app like we can host Powershell), or writing shell extensions that interact with the Unix side of the system.

  • User profile image

  • User profile image
    Jason Fossen

    Cool! Please talk about future plans, if any, for 1) Windows Server and 2) providing full networking support, such as on Server Nano for nginx, MongoDB, sshd, etc. Thanks!

  • User profile image

    Ack! Messed up on the links. Will get those up right now.

  • User profile image

    @PhMajerus:Today we keep the Win32 world separate from the Picoprocess world primarily for isolation. While true API interop might be a step away there is an user voice request here that asks for process interop that will help achieve some of the scenarios you outlined.

  • User profile image

    @Jason Fossen:We are looking at gaps in our pseudo terminal implementation that will help enable sshd. nginx startup is tracked as #68

  • User profile image
    Ehsan Samani

    IS this available in Windows Server 2016?
    Will this be available in Windows 10? as independent download?

  • User profile image
    Tom Deseyn


    Two questions:
    Is there some sort of init/systemd functionality?
    Can daemons be started with Windows (without a user logging in)?

  • User profile image

    I Hope this is going to be give big break for windows.

  • User profile image

    What kind of IDE is going to be implemented? VIM, NANO or do we use Powershell?

  • User profile image

    I am currently using Windows 10 Pro, insider preview 14328.rs1, I also have units with Linux Mint & Ubuntu.  One of my machines is a Win X / Linux Mint dual boot.  One thing I would like to see in Windows is a CPU thermal over heat warning like Linux. 

    Also, why is Micrsoft delving into the sacred OS territory that pure Linux/Unix already provides? Is this a way to get me to pay for Linux? Am I missing something?

  • User profile image

    Great questions Seth.

    I liked how you managed to "dial it back" very early on. "If I knew nothing about compilers & operating systems, etc..." that helped refocus into something a little easier to digest.

  • User profile image

    FreeBSD has a Linux emulation layer also. So Windows will be able to do the same things:

  • User profile image


    another one here asking availibility of WSL for Windows Server 2016 ?

  • User profile image

    Very helpful. How does this approach differ with Wow64, which requires emulation of 32 bit system calls on 64 bit OS?

  • User profile image
    Tomas Thiemel

    This reminds me one great already existing tool:
    Are you trying to re-invent something similar on Windows for Linux? ]:->

  • User profile image


  • User profile image

    It would be nice to also clarify how Linux programs/packages installation fits into windows ecosystem. Where do they go, are they observable only to the Linux subsystem, and what happens with them once I uninstall this subsystem?

  • User profile image

    Very cool, what a smart approach to emulate the kernel calls!  

    Questions: is the file system shared?  iow, are the same files visible to each other in either mode?

Add Your 2 Cents