Been reading more into how the Windows Subsystem for Linux works[1] and how Pico processes from Project Drawbridge[2] are used to host Linux binaries on a Windows NT kernel.
The original intent of Pico processes was to reduce the Windows syscall API down to a new set of 45 syscalls (closer to that of a VM) and then implement the vast majority of traditional Win32 and WinNT calls in a user-mode NT kernel called NTUM.
This made me wonder - 45 low-level syscalls are much easier to implement on another platform than the full 1000+ Windows APIs - has anyone tried porting them to Linux? Oh look! Microsoft just announced SQL Server for Linux. And the binary makes reference to Drawbridge and libos. Hmmm.... :')
1. https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
2. https://www.microsoft.com/en-us/research/project/drawbridge/
The original intent of Pico processes was to reduce the Windows syscall API down to a new set of 45 syscalls (closer to that of a VM) and then implement the vast majority of traditional Win32 and WinNT calls in a user-mode NT kernel called NTUM.
This made me wonder - 45 low-level syscalls are much easier to implement on another platform than the full 1000+ Windows APIs - has anyone tried porting them to Linux? Oh look! Microsoft just announced SQL Server for Linux. And the binary makes reference to Drawbridge and libos. Hmmm.... :')
1. https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/
2. https://www.microsoft.com/en-us/research/project/drawbridge/