Today 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.

Windows Terminal
POST A COMMENT

53 Comments

View All Comments

  • alumine - Wednesday, May 8, 2019 - link

    1. Unix =/= Linux. Posix compliance is another matter.
    2. Then why would you need to change this?
    3. So you would call a less than 1.5% marketshare in the desktop space successful? Compared to a 76.17% marketshare?
    4. Correct - other stuff e.g. services, Office, other products. But would you dump a revenue income AND alienate your current large userbase using a, let's admit this, less than perfect emulation compared to the real thing?
    5. Sorry I think someone else did - and for some reason I thought it was yours.
    Reply
  • Korguz - Wednesday, May 8, 2019 - link

    playing games made for windows on an emulator ( wine ) vs playing them in windows where they were programmed for ? no thanks.... wine does work.. but its not 100% its like trying to play some old dos based games on DOSbox for example.. some work just fine.,.. others.. you need to tweak them and find user found fixes to get them to work... Reply
  • PeachNCream - Wednesday, May 8, 2019 - link

    True, WINE is a pain in the backside. I use it quite regularly and when something works out of the box without fooling around with obscure configuration changes and otherwise unnecessary tweaks, it's time to break out the party gear since that's such a rare thing. I'm not saying WINE is ready for prime time, but if Microsoft throws some weight behind some of those bits and pieces like WINE that are already in place, there might be enough momentum to get the company over the hump of a major change at the kernel level until software catches up. It's not like there haven't been issues like this before (9x to NT was one of those humps that had to be overcome though I will absolutely concede that is a lesser degree of change). Reply
  • jimbo2779 - Thursday, May 9, 2019 - link

    If MS made a linus based OS it would be very trivial for competitors to almost perfectly emulate everything make MS irrelevant in the OS space in a very short space of time.

    There are a number of very significant reasons why they would be incredibly foolish to go that route.
    Reply
  • PeachNCream - Thursday, May 9, 2019 - link

    Why? They can keep their source closed. Linux doesn't automatically entail open source. Reply
  • Near - Saturday, May 25, 2019 - link

    1. Linux is a clone of Unix.
    2. It cost money to patch and maintain the NT kernel, for little money in return. Unless you think the next version of Windows will cost money?
    3. 76.76% and decreasing. Global stats have Android (Linux) neck and neck with windows. Developers have been switching too Mac and Linux for the past few years. 2018 was the year that Windows developers where around 49% of the developers. This year they make up 47% of developers according to Stackoverflow survey.
    4. Microsoft could slowly switch the NT kernel for a Linux Kernel overtime. A good amount Office 365, SQL, etc of that software is also already running on a *nix kernel (Android, iOS, and Mac). The future is cloud software which Linux is the main supported OS.
    5. Security is relative to the software. The more people that use it the higher the vector for targeted malware. However, Linux has a number of companies and communities patching and submitting changes.

    Microsoft isn't making as much money off their Windows OS like they use to. They have switched to providing Cloud and AI services for their primary revenue.
    Reply
  • npz - Wednesday, May 8, 2019 - link

    It would certainly help with the broken scheduler issues for AMD's EPYC / Threadripper cpus which has worked perfectly with often double the performance in Linux. AMD already knows what the root cause is, has pointed it out and has been desperately trying to get Microsoft to fix their scheduler over a year now but they've still stubbornly refuse to fix it for whatever reason.

    The same scheduler in Linux that helps AMD cpus *also* helps Intel Xeon cpus btw, just to a lesser degree.
    Reply
  • baka_toroi - Tuesday, May 7, 2019 - link

    I'm gonna find out who you are and punch you in the nose if Windows becomes Linux. Reply
  • mooninite - Tuesday, May 7, 2019 - link

    Why on earth would it be a bad thing? You hate change? If such a thing even occurred you would probably not even see anything change. Reply
  • baka_toroi - Tuesday, May 7, 2019 - link

    I would notice. I can smell Linux's shittyness from a 10 miles distance. Everything running over Linux runs worse than on Windows. The only thing Linux does better is procuring a horde of apologists claiming it's the enduser's fault when something breaks or that my use scenario is not what I really want.

    I hate change when it's for the worse which is exactly what Linux provides: a worse experience overall.

    Cue the retards claiming it's better for servers or supercomputers, as if I give a shit about it.
    Reply

Log in

Don't have an account? Sign up now