WSL was created by the Microsoft Windows Kernel team and contains both user mode and kernel mode components. More specifically, the system is composed of:
a user mode session manager service handling the Linux instance life cycle Pico provider drivers (lxss.sys, lxcore.sys) whose role is to emulate a Linux kernel by translating Linux syscalls Pico processes hosting the unmodified user mode Linux (e.g. /bin/bash).
The connection between the three components is described as follows: The main challenge in the process is to make the two systems work together: Taken into account Microsoft’s interest in open-source platforms, many people wondered whether the tech giant should acquire major Linux- focused companies such as Canonical, the company behind the Ubuntu operating system. Although Microsoft and Canonical cooperated on open-source software, neither issued any comments on this possibility. The Windows Subsystem for Linux includes kernel mode drivers (lxss.sys and lxcore.sys) that are responsible for handling Linux system call requests in coordination with the Windows NT kernel. The drivers do not contain code from the Linux kernel but are instead a clean room implementation of Linux-compatible kernel interfaces. On native Linux, when a syscall is made from a user mode executable it is handled by the Linux kernel. On WSL, when a syscall is made from the same executable the Windows NT kernel forwards the request to lxcore.sys. Where possible, lxcore.sys translates the Linux syscall to the equivalent Windows NT call which in turn does the heavy lifting. If you are interesting in how the Linux – Windows interaction evolves, go to Microsoft’s Blog. The team promised that more blog posts on this topic would follow. RELATED STORIES YOU NEED TO CHECK OUT:
Linux Users Report “Headphones Stopped Working in Windows 8.1” Problems Microsoft and Canonical bring Bash to Windows 10 at Build 2016 Munich Starts Distributing Free Ubuntu CDs to Windows XP Users
Name *
Email *
Commenting as . Not you?
Save information for future comments
Comment
Δ