Windows Subsystem for Linux: Architectural Overview

Download this episode

Download Video

Download captions

Download Captions

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.

Tag:

Linux

Embed

Format

Available formats for this video:

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

    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?

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.