X
Tech

Under the hood of Microsoft's Windows Subsystem for Linux

Microsoft is revealing more details about how Bash on Windows 10 works, and the company's 'Drawbridge' pico-process work figures prominently.
Written by Mary Jo Foley, Senior Contributing Editor

Bash on Windows 10 was one of the big reveals at Microsoft's recent Build conference. Since then, there's been a lot of speculation about what Microsoft did to make this possible.

Microsoft is starting to provide more details via blog posts and a new Channel 9 video on what's going on under the covers.

bashlinuxwin10.jpg

Spoiler alert: There's no secret Linux kernel hidden in Windows 10. Instead, it's the Windows Subsystem for Linux (WSL) that was developed by the Windows Kernel team that provides the foundation enabling the Linux binaries to run on Windows. (Update on 8/7/2016: Fixed grammar in this sentence, thanks to @aionescu's helpful edits. If this Windows stuff doesn't work out, Ionescu has a very promising future as a copy editor.)

WSL includes a user mode session manager, pico provider drivers that emulate a Linux kernel and pico processes that host the unmodified user mode Linux, like Bash, as Microsoft officials explain in an April 22 blog post.

"It is the space between the user mode Linux binaries and the Windows kernel components where the magic happens," according to Microsoft's post."By placing unmodified Linux binaries in Pico processes we enable Linux system calls to be directed into the Windows kernel. The lxss.sys and lxcore.sys drivers translate the Linux system calls into NT APIs and emulate the Linux kernel."

The pico process components may ring a bell with folks who've followed along with Microsoft Research's Project Drawbridge work. Drawbridge was developed by many of the same folks who created the Microsoft Singularity microkernel operating system.

The Channel 9 architectural overview video and the related blog post both note that the Windows kernel does include the Drawbridge pico process/pico driver concepts. And it's these pico processes and drivers that "provide the foundation for the Windows Subsystem for Linux."

The post and video are worth checking out for those whose hearts beat just a little quicker when they see an OS architectural diagram.

Editorial standards