Windows Subsystem for Linux: Architectural Overview

Sign in to queue

Description

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.

 

Tag:

Linux

Embed

Download

The Discussion

  • User profile image
    keichinger

    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
    PhMajerus

    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
    Xavi

    https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo

  • 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
    sethjuarez

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

  • User profile image
    DeepuThomas

    @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
    DeepuThomas

    @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

    Nice!

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

  • User profile image
    Vijay

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

  • User profile image
    Z3ntweak

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

  • User profile image
    Repeters

    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
    alexchesser​01

    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
    Badiane

    FreeBSD has a Linux emulation layer also. So Windows will be able to do the same things:
    http://docs.freebsd.org/doc/7.3-RELEASE/usr/share/doc/en/articles/linux-emulation/article.html

  • User profile image
    Thierry

    Hello,

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

  • User profile image
    suds05

    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

    <irony>
    This reminds me one great already existing tool: https://www.winehq.org/
    Are you trying to re-invent something similar on Windows for Linux? ]:->
    </irony>

  • User profile image
    liz

    awesome

  • User profile image
    andriysavin

    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
    Cullen​Tsering

    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