Windows 10 going to add Ubuntu’s bash and Linux command line 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. The whole idea of running Ubuntu Bash shell on Windows is to allow developers to run Linux tools natively on Windows.
Recently Microsoft reveled what they are planning and how bash on Windows 10 will work via the Windows Subsystem for Linux (WSL), through a new Channel 9 video.
Also Read : The best Linux distro for beginners
Bash On Windows 10 Works Via Windows Subsystem For Linux
In the video, team member Deepu Thomas explains how bash on Windows 10 will work. Actually 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 is what provides the foundation that enabled the Linux binaries to run on Windows.
So what is Windows Subsystem for Linux (WSL)
WSL is a collection of components that enables native Linux ELF64 binaries to run on Windows. It contains both user mode and kernel mode components. It is primarily comprised of:
- User mode sessionmanager service that handles the Linux instance life cycle
- Pico provider drivers (lxss.sys, lxcore.sys) that emulate a Linux kernel by translating Linux syscalls
- Pico processes that host the unmodified user mode Linux (e.g. /bin/bash)
According to Microsoft blog post – “It is the space between the user mode Linux binaries and the Windows kernel components where the magic happens. By placing unmodified Linux binaries in Pico processeswe 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.
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 video is worth checking out for those whose hearts beat just a little quicker when they see an OS architectural diagram.