Microsoft Build Day 1: Windows Subsystem For Linux Gets More Linux
by Brett Howse on May 7, 2019 11:00 AM ESTToday at Microsoft’s Build developer conference, the Redmond company announced some major changes to the Windows Subsystem for Linux, as well as some improvements to Windows 10 command line with the Windows Terminal. Both expand the already robust ways to develop on Windows, and offer some fantastic features and additions.
Windows Subsystem for Linux has evolved dramatically since it was first introduced as a Bash shell back in the Windows 10 Anniversary Update in 2016. Windows Subsystem for Linux, or WSL, offered native support for Linux by translating Linux system calls into Windows APIs that could be executed by Windows itself, and the feature allowed developers that required Linux to install a distro of their choice and access its command line side by side with Windows.
While the translation layer added compatibility and ease of use, one area where it could stumble would be performance, so for Microsoft’s second iteration of WSL, Microsoft is adding a custom Linux kernel to Windows itself to handle to Linux APIs. It is doing this through virtualization, with Linux running in a lightweight Hyper-V Virtual Machine (VM) that is tightly integrated into Windows, which will allow for full system call compatibility because the Linux kernel will be responding to requests, rather than having them translated.
Although this is a VM, there will be no resources to configure, and launching a shell will only take a couple of seconds to get up and running. It’ll still be able to access the Windows file system to retrieve and modify files, just like WSL v1, but also provide the capabilities to run most Linux software, such as X-Server, Docker, and more, right in Windows. As a VM, it’ll have its own network card, although it’ll be set by default to be shared with the physical NIC in the host PC for now, although that may be changed prior to WSL v2 being formally released.
The Linux kernel itself will be a custom-compiled one for Windows based on 4.19, which is the current long-term stable branch, and kernel updates will be handled through Windows Update, so no user involvement will be required to keep the Linux system up to date by the end-user.
In addition to the added compatibility, the new virtualized Linux kernel brings some hefty performance increases for tasks that are heavy on system calls, with Microsoft seeing up to 20 times better performance with WSL v2 compared to v1 when unpacking a zipped tarball, and 2 to 5 tives better performance using git clone and other projects. Plus, you can still access and edit files with Windows utilities as well, and Microsoft has been adding support to the different end of line characters for Linux vs Windows in applications like Notepad.
If you use Windows Subsystem for Linux, these changes should be all good news. There will likely be some teething pains during the transition, but Microsoft is releasing this in June to the Windows Insider Program for feedback. That program hasn’t had a great reputation at finding bugs before release in the past, but it will allow people to get some hands-on time with the changes before they roll into production. Microsoft hasn’t officially stated what release this will be a part of, but it could be as early as this fall depending on how far along the team is and how the feedback goes.
53 Comments
View All Comments
Kevin G - Tuesday, May 7, 2019 - link
This seems weird, as if hell itself has frozen over.This goes alongside the HP Lovecraft story of things-that-should-not-be called MS SQL Server for Linux.
jenesuispasbavard - Tuesday, May 7, 2019 - link
This is great news. Updating packages on Ubuntu on Windows takes significantly longer than on native Ubuntu. And maybe I can finally mount a WebDAV folder in the WSL root instead of having to mount it in Windows and then accessing that from WSL.peevee - Thursday, May 9, 2019 - link
I am not sure it is such a great news. It's to be seen if the WSL2 compatible with Windows-based VPN software from, say, Cisco. It would be funny if I can get to corporate git from Win but not from WSL.And where the hell is Fedora/Centos/RH branch?
PeachNCream - Tuesday, May 7, 2019 - link
Interesting changes indeed, but it might make more sense for Microsoft to simply discontinue running an internally built OS and instead join the Linux community by evolving Windows into a Linux-based operating system in much the same way Apple and Google do. It would be a big change, but a lot of the emulation work for backwards compatibility is already there through WINE. MS is the only holdout these days in the PC/server space.HardwareDufus - Tuesday, May 7, 2019 - link
because everything must be assimilated?and think how much easier it will be for hackers and malware folks to only have to focus on one kernel. they will be so much more destructive.... sorry, I meant productive....
PeachNCream - Tuesday, May 7, 2019 - link
Windows is already the prime target for malware so the single target situation is status quo already.At any rate, it looks like Microsoft is self-assimilating already. The company contributes significant code to the open source community and I think you're seeing things like WSL as baby steps in the general direction of moving to something Linux-based. It might be a moonshot project MS is keeping under wraps, but I believe that development will be less expensive if Microsoft leaves their current OS model behind and I feel it is likely someone in Redmond isn't tallying up the costs and benefits of making the transition at some point in the future. After all, it's clear that Microsoft wants to draw revenue from the Store and through user data monetization rather than through software sales. If the operating system is not going to generate revenue (ala Windows 10 on-going, incremental release schedule), it should at least cost as little as possible to create.
nevcairiel - Tuesday, May 7, 2019 - link
There is way too much tech debt in desktop, 3D, multimedia, and whatnot on Linux, it would take years to get all of those components into a shape where it would even be "equal", nevermind that "Windows" would stagnate for that time.The entire WSL approach is not for "users", its for developers. They want developers to choose Windows, and they know that many tools work only, or at least better, on Linux. So they offer a combined effort. This has absolute no indications of wanting to abandon the NT kernel or anything of that sort. Thats never going to happen. Microsoft has always been rather religious about backwards compat for everything, and such a move would put that in serious jeopardy.
In before "this is the year of the Linux Desktop" crowd going ham on this comment.
PeachNCream - Tuesday, May 7, 2019 - link
It didn't take Google all that long to build an ecosystem around the Linux kernel....twice if you count Chrome OS. Microsoft is in an even better position to navigate that sort of change and, since the current kernel is closed source, I wonder how much of it is borrowed from Linux already. At the moment, there's no indication that we aren't already relying on some *nix-derived core under current Windows.alumine - Tuesday, May 7, 2019 - link
That's simply not how it works. First, Apple's kernel isn't a Linux kernel - it's XNU, derived originally from Mach (which is NOT Linux).Second - what's wrong with the NT kernel? So far it's still the most popular desktop platform (not talking embedded of course), and it has generated billions to MS. Also consider Azure and the Xbox (which runs an NT kernel).
Third - Chrome OS - can you *really* call that a success?
Fourth - why the hell would you compete in the already crowded Linux space, with an open source kernel anyone can modify and suddenly become your competitor whilst you have an offering NO ONE ELSE can offer AND it's successful to boot?
Fifth - security - what makes you think Linux is more secure? This is the same argument MacOS fanboys spout ("we don't get viruses"). Given the market share (although Android is now making it super large) it's just not worthwhile unless you target the very high end (banking institutions, government, etc) and even then as far as I'm aware you rarely target the OS kernel itself.
PeachNCream - Tuesday, May 7, 2019 - link
1 - It's BSD Unix - already discussed below, but you're splitting a lot of hair to support getting yourself upset.2 - Nothing at all. Where did I say there was something wrong with it? Please quote me exactly.
3 - Yes
4 - MS wants to monetize stuff other than the OS itself. Also, seems to work fine for Google.
5 - I didn't make a claim about Linux being more secure.