38 votes

Shipping a Linux Kernel with Windows

20 comments

  1. [3]
    Deimos
    Link
    Microsoft is making a lot of announcements today (their "Build" developer conference is on right now). Also related to this: Announcing WSL 2 Introducing Windows Terminal

    Microsoft is making a lot of announcements today (their "Build" developer conference is on right now). Also related to this:

    16 votes
    1. [2]
      lesicnik
      Link Parent
      Well, this is something I never would have expected. Still a bit apprehensive at this "new" Microsoft but they're making a good start.

      We are excited to announce that we are open sourcing not just Windows Terminal, but also the Windows Console which hosts the command-line infrastructure in Windows and provides the traditional Console UX.

      Well, this is something I never would have expected.
      Still a bit apprehensive at this "new" Microsoft but they're making a good start.

      15 votes
      1. PopeRigby
        Link Parent
        My thoughts exactly. This is super weird to see Microsoft doing all this stuff after their use of ahem questionable ethics during their prime.

        My thoughts exactly. This is super weird to see Microsoft doing all this stuff after their use of ahem questionable ethics during their prime.

        5 votes
  2. [6]
    lionirdeadman
    Link
    I always said "WSL is Linux only in name" and now I guess that's not gonna be true anymore. I wonder why they finally did this after they tried re-implementing the Linux kernel inside NT, I guess...

    I always said "WSL is Linux only in name" and now I guess that's not gonna be true anymore. I wonder why they finally did this after they tried re-implementing the Linux kernel inside NT, I guess they had more problems than they expected.

    9 votes
    1. [6]
      Comment deleted by author
      Link Parent
      1. [4]
        lionirdeadman
        Link Parent
        How's Linux not a specific software package? It's a kernel. It's software, you can't just make something API-compatible (which WSL was not) and call it the same thing. For example : WINE is not...

        How's Linux not a specific software package? It's a kernel. It's software, you can't just make something API-compatible (which WSL was not) and call it the same thing.

        For example : WINE is not Windows/Win32, it's a translation layer which implements those APIs.

        10 votes
        1. [4]
          Comment deleted by author
          Link Parent
          1. lionirdeadman
            Link Parent
            Wine is not a full windows implementation and Microsoft Windows is not an implementation of itself - it just is itself in all shapes possible. And WSL does the same as WINE, it translates the APIs...

            Wine is not a full windows implementation and Microsoft Windows is not an implementation of itself - it just is itself in all shapes possible.

            It doesn't implement things the same way as microsoft windows, sure

            And WSL does the same as WINE, it translates the APIs from Linux syscalls to NT syscalls (which is rarely a success might I add).

            But how, really, is that different from a c implementation targeting the web, which has different behaviour regarding the filesystem (forwards it to indexeddb, I think?).

            I don't think I understand what you're trying to say here at all. I'm not familiar with C on the web or web standards so that might be why..

            7 votes
          2. 9000
            Link Parent
            Maybe this is true in some specific philosophical sense, but I don't think it's useful here. That would be like saying that Chrome is an implementation of Firefox because it came after and tried...

            Maybe this is true in some specific philosophical sense, but I don't think it's useful here. That would be like saying that Chrome is an implementation of Firefox because it came after and tried to be compatible. It's not. They are both implementations of a more abstract concept: browsers, and they both implement some of the same specific protocols: HTTP, TLS, ECMA, HTML, etc.

            C is defined primarily as a protocol, which is then implemented as GCC, Clang, whatever browser implementation you're refering to, etc. But, neither GCC nor Clang is C. They both implement C. Windows is Windows. There is only one. Just like Chrome is Chrome. And ultimately, the Linux kernel is the Linux kernel (it supports some of the Unix POSIX specification, but again, it's like the browser implementing web APIs example).

            What has happened here is that Windows implemented a compatibility layer for WSL 1, they did not recreate the kernel. Now, with this announcement for WSL 2, they are releasing a whole kernel that you can easily call a true version of Linux (I think there's some sort of virtualization going on?). Similar with WINE. They aren't recreating Windows, but creating a compatibility layer for Windows applications to run on Linux. What I would argue is recreating Windows, or at least NT, is ReactOS, but that's not based on Linux at all. If you wanted to argue that ReactOS is a version of Windows, I would probably agree with you.

            5 votes
          3. Adys
            Link Parent
            Wine is a win32 implementation in Unix. Definitely not a Windows implementation. For Linux I agree it's a bit more abstract, but either way it's semantics. What to call these matters less than...

            Wine is a win32 implementation in Unix. Definitely not a Windows implementation. For Linux I agree it's a bit more abstract, but either way it's semantics. What to call these matters less than their practical upsides and downsides since there's so few parallels out there.

            5 votes
      2. unknown user
        Link Parent
        Because that's a simplistic take on the situation. Pragmatic use of WSL clearly demonstrates it's filled with edge cases & the isn't quintessential vanilla linux. It's pseudo-linux with a mix of...

        Because that's a simplistic take on the situation. Pragmatic use of WSL clearly demonstrates it's filled with edge cases & the isn't quintessential vanilla linux. It's pseudo-linux with a mix of available, unavailable, and differing functionality.

        This is the right move by Microsoft, and moves them closer to legitimate Windows & Linux parity. In fact, give it a decade and I wouldn't be surprised if Windows was on its way to utilising the Linux Kernel & being POSIX compliant.

        3 votes
  3. [2]
    hereticalgorithm
    Link
    The 20x improvement in file I/O is huge. I wonder how they got the kernel to talk to the filesystem, can't wait to hear more.

    The 20x improvement in file I/O is huge. I wonder how they got the kernel to talk to the filesystem, can't wait to hear more.

    6 votes
    1. Diff
      Link Parent
      Since it used to be 20x slower than normal Linux it sounds like they've completely brought it up to parity. Super interested to hear about this myself after reading through some of the background...

      Since it used to be 20x slower than normal Linux it sounds like they've completely brought it up to parity. Super interested to hear about this myself after reading through some of the background on these issues.

      4 votes
  4. [3]
    gpl
    Link
    Can anyone break down what this means for the average programmer? I currently dual boot Windows 10 and Arch, but I use Arch nearly 100% of the time. I use it mainly for science applications, so...

    Can anyone break down what this means for the average programmer? I currently dual boot Windows 10 and Arch, but I use Arch nearly 100% of the time. I use it mainly for science applications, so I'm curious what having a native Linux subsystems in my windows partition might do for me.

    5 votes
    1. unknown user
      Link Parent
      Yeah, I'm kind of wondering what the catch is. Windows Subsystem for Linux was heralded as "run linux functionality in windows", but there's so many gotchas and edge conditions that don't match...

      Yeah, I'm kind of wondering what the catch is. Windows Subsystem for Linux was heralded as "run linux functionality in windows", but there's so many gotchas and edge conditions that don't match what you'd expect from Linux that it's unreliable for anything more than just the most basic scripting.

      That being said, as a macOS user personally, and having to suffer under Windows 10 at work, if I can live inside a Linux world, I will be immensely happy.

      7 votes
    2. cfabbro
      (edited )
      Link Parent
      As someone already primarily using Arch, you might not (probably won't) get much benefit out of it, other than the convenience of being able to use wsl.exe (WSL bash) instead of cmd.exe or...

      As someone already primarily using Arch, you might not (probably won't) get much benefit out of it, other than the convenience of being able to use wsl.exe (WSL bash) instead of cmd.exe or powershell for command line stuff when you boot into Windows. However as someone not quite ready to leave the MS ecosystem and fully commit to Linux yet, I have been using WSL for over a year now (through Windows Insider program) just as a painless way to get comfortable with the linux environment, software and using bash... and it's been really handy for that.

      It's nothing special, just way more convenient than using VMs or dual-booting, since you can do most everything (including install and use linux software) right in Windows itself and there is no significant performance overhead in doing so. It's basically Wine but in reverse, or at least that's how I have been using it. ;)

      4 votes
  5. [6]
    teaearlgraycold
    Link
    How long until Microsoft builds an NT adapter for Linux and moves windows over to a Linux kernel?

    How long until Microsoft builds an NT adapter for Linux and moves windows over to a Linux kernel?

    2 votes
    1. moocow1452
      Link Parent
      Win32 is kind of a sticky point, but I could see a Windows Lite being similar to something like Chromebooks in it's own Linux like environment with WSL and terminal capacity.

      Win32 is kind of a sticky point, but I could see a Windows Lite being similar to something like Chromebooks in it's own Linux like environment with WSL and terminal capacity.

      4 votes
    2. [3]
      lionirdeadman
      Link Parent
      They could use WINE as a base for this since it's MIT iirc so they could still make a proprietary fork if they wanted. It'd be really interesting if they contributed to WINE.

      They could use WINE as a base for this since it's MIT iirc so they could still make a proprietary fork if they wanted. It'd be really interesting if they contributed to WINE.

      4 votes
      1. [2]
        Adys
        Link Parent
        Wine is LGPL

        Wine is LGPL

        2 votes
        1. lionirdeadman
          Link Parent
          Well, damn. I guess they'd have to contribute back then.

          Well, damn. I guess they'd have to contribute back then.

          1 vote
    3. dblohm7
      Link Parent
      Doubtful IMHO. NT is actually a great kernel.

      Doubtful IMHO. NT is actually a great kernel.