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
prophet001 - Tuesday, May 7, 2019 - link
LOLYou're joking right?
domboy - Tuesday, May 7, 2019 - link
@prophet001 - who/what are you addressing with your "you're joking" question?PeachNCream - Tuesday, May 7, 2019 - link
That'd be me. And I'm not joking, just tossing out a theory about the future. While I will gladly admit that I'm wrong if nothing comes of it, the pieces are slowly falling into place and there is certainly a possibility it may happen.imaheadcase - Wednesday, May 8, 2019 - link
What pieces? Microsoft for a long time has made certain things open source. A console in a windows OS and that is the pieces? lol Everything they do is not to sway towards linux, its to sway people away from linux.linuxgeex - Tuesday, May 7, 2019 - link
OSX is not based on Linux. It's based on MacOS + their version of the Mach microkernel. It has more DNA in common with BSD and NeXT.PeachNCream - Tuesday, May 7, 2019 - link
Wow, dog pile on that one. That's not central to the point I was making. With Microsoft cooking up Linux support and attempting to cut costs because the OS is not as directly monetized through license sales (yes nitpickers, it's still a big part, but MS is chasing a software store) the company is clearly seeking other revenue streams. Cheaping out on OS development by switching the underlying guts over to Linux makes sense. Dabbling with Linux is an indicator of that potential direction and (back to Apple, you nitpickers) given everyone else out there is *nix-based already, Microsoft is behind the times and late to the party. That might change soon enough.That's the point of my original post, not to piss into the wind with you people about Apple's kernel and the fact that it's just lifted BSD code. If you want to nerd out about that, talk to an actual nerd, not someone like me that doesn't do anything technical at all because I'm only focused on the finance and dividend chunk of the puzzle.
imaheadcase - Wednesday, May 8, 2019 - link
What are you talking about? No one in right mind thinks that is a good idea. The reason windows exists is because of ease of use vs linux based system no matter what UI they put on it. I mean case in point its a console being transferred over to windows system..that alone should tell you it will never work.You do know windows primary function is ease of use right? lol
PeachNCream - Wednesday, May 8, 2019 - link
*shrug* I'm only tossing out theories. Given the response, it's clear that a lot of people are feeling awfully insecure and highly emotional about something that will happen at a level of code far beneath their notice. It's interesting to say the least, how much certain people have invested in something as meaningless as the OS that runs the programs they use. The underlying OS's job is to act as an intermediary between a program you're executing and the hardware that will run it. Why is a change that will likely be fairly invisible to the end user worth the emotions? And even more to the point, why is someone tossing out a theory (someone that has literally no control over what will actually happen at Redmond's campus) worth so much feeling?jimbo2779 - Thursday, May 9, 2019 - link
The "feelings", as you put it, are likely more a result of a silly theory being banded despite obvious reasons for the contrary and also because the person stating that theory ignoring counter points.Often a debate turns into an argument not because of the topic at hand but because of the way in which a person is debating that topic.
Lord of the Bored - Wednesday, May 8, 2019 - link
I certainly hope they don't. We have too few choices of operating system already. Everything is a Unix derivative or Windows. I'm actually hoping the great Linux monolith shatters and some portion of that market goes in other directions(it is probably too much to hope that they eschew copying Unix entirely).