Windows Subsystem for Linux: Architectural Overview

Download this episode

Download Video

Download captions

Download Captions


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.






Available formats for this video:

Actual format may change based on video formats available and browser capability.

    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?

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.