Live data from Hacker News

Windows Subsystem for Linux: The lost potential

jmmv.dev

211–220 of 250 posts

Re: Windows Subsystem for Linux: The lost potential

#211
post #79
post #68

Earlier quoted context omitted.

It's clear that they are not enthusiastic about delivering new features to WSL1. Consider how WSL2 now exclusively features CUDA support, Wayland support, loop mounts, Docker, etc.

Docker support is precisely the sort of feature that would have required significantly more work to support in WSL1 than WSL2.

Docker can also make use of Windows containers, and that is probably easier when everything is running on top of Hyper-V, as type 1 hypervisor.

Re: Windows Subsystem for Linux: The lost potential

#212
post #24

Earlier quoted context omitted.

I agree with the sentiment but, some scenarios have become orders of magnitude more complicated on WSL2 like connecting to a daemon on Windows or vice versa. I understand clear cut security boundaries and separate network interfaces, but it's extremely hard to get them running smoothly now. Everything was on localhost on WSL1. Memory usage has also gone bonkers with the VM approach, causing unnecessary overhead for c…

In WSL 2 the nameserver is the Windows host OS. That's how you get the IP of the host if that's what you're talking about. export WINHOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}') Because the Linux VM in WSL 2 is a "different" computer, mostly, according to Windows, there may be firewall trouble, I suppose.

Windows itself is a different computer, because Hyper-V is a type 1 hypervisor.

Re: Windows Subsystem for Linux: The lost potential

#213

Earlier quoted context omitted.

> the bottleneck is that NTFS is a crappy filesystem. Care to explain why do you think NTFS is crap? From my experience it's usually bad assumptions about files under windows and every application or library tries to stick to posix interface when dealing with files (open, read/write, close) which tends to block for longer periods on windows than on linux counterparts which results in significant perfomance loss . Lin…

so what's the 'Windows way' then? keeping a file open forever and let it lock out other programs from using that file? I'm starting to get an idea why Windows is getting on my nerves so much with file locks....

Here is the thing, UNIX is the strange dude with advisory file locks, every other multiuser OS does the right thing to avoid file corruption.

Re: Windows Subsystem for Linux: The lost potential

#214

Earlier quoted context omitted.

It's a shame the author didn't mention the original POSIX and OS2 subsystems. I guess the idea didn't pan out and contributes to poor performance.

The OS/2 subsystem only ever emulated OS/2 1.x, it never emulated OS/2 2.x or later. That severely limited its usefulness. Also, it only supported text mode apps out of the box, and the GUI was only available from Microsoft as an add-on sold separately (which very few people bought) There was never a huge amount of OS/2 software anyway. And a lot of what software was available for OS/2, also had native Windows versio…

I only cared about Linux, because of the way Microsoft managed their POSIX support.

From my point of view, Linux would never taken off if POSIX had been taken more seriously.

I do disagree with the developer mindshare though, for me they are looking into the market for cloud, where yes UNIX was won, but there are plenty of scenarios out there where UNIX support is meaningless, desktop applications, mobile platforms, IoT, mainframes.

Then they saw an opportunity to bring back into Windows those developers that are buying Apple laptops for shiny UNIX experience, not connect at all with Apple's culture and now looking to move elsewhere.

Personally I am yet to care about using WSL, in any of its variants, all my programming tools are anyway mostly OS agnostic, and the ones that aren't are focused on Windows deployment scenarios anyway.

Re: Windows Subsystem for Linux: The lost potential

#215
post #85

Earlier quoted context omitted.

I see, that makes sense! This is a really interesting design and seeing it this way gives me more respect for the Windows operating system generally. Is this subsystem concept something that has a parallel on the *nix/BSD side of the fence? Or is it unique to the NT architecture?

The closest example outside Windows I can think of is the idea of "zones" in Solaris/Illumos/SmartOS. You can have a "LX branded zone" where the OS will respond to linux syscalls. I don't know if the native solaris syscall interface is itself a zone, while Win32 is a subsystem on Windows.

It is also how IBM mainframes work.

Re: Windows Subsystem for Linux: The lost potential

#216
post #76

I'm extremely ignorant about OS design, but based on this it sounds like WSL1 could be fairly described as basically Linux for the Windows kernel, whereas WSL2 is more like a really fancy VM. Is that the gist of it?

WSL1 is like the "kernel personalities" in other operating systems like the BSDs. WSL2 is more like Linux for Windows, because it is the actual Linux kernel in a VM, hypervised by Windows.

Kind of, Hyper-V is a type 1 VM, so Windows is also a guest OS.

Re: Windows Subsystem for Linux: The lost potential

#217
post #6

I think we all are sometimes guilty of reading too much into things. WSL was announced to support developers. Not Administrators. The Windows/Azure division has a strategy for administration. And that is Powershell (also on Linux). They admin strategy is implement Powershell commandlets for Windows and Linux and execute them via Powershell (and things like DSC). WSL however was always announced as a tool for develope…

we use bash tho

Re: Windows Subsystem for Linux: The lost potential

#218

I want fish as my shell. Easy peasy. I want to type ‘code ‘ and have it open in VSCode. Can’t.

That works for me on bash on WSL1, interested to know why that wouldn't work on fish?

Thought we were talking about WSL2. Apologies for not including that context.

Re: Windows Subsystem for Linux: The lost potential

#219

I want fish as my shell. Easy peasy. I want to type ‘code ‘ and have it open in VSCode. Can’t.

I use fish as my default WSL shell, and I run "code ..." from it all the time. What doesn't work for you?

Doesn’t work for me in WSL2. Can’t recall the error/behavior at the moment. Was easier just to use a Linux VM at that point.

Re: Windows Subsystem for Linux: The lost potential

#220
post #35

Earlier quoted context omitted.

The actual advantage of working on something like WSL1 is that it would ensure that the NT kernel is as capable as the Linux kernel (Linux is of course the best designed and implemented among the non-realtime, not provably correct and not secure kernels). For instance, the complaints about I/O performance are because the NT kernel has a worse implementation, so they should have improved it for both Win32 and Linux ap…

> (Linux is of course the best designed and implemented among the non-realtime, not provably correct and not secure kernels) That is a coffee-spewing statement. Linux generally has a reputation of approaching new features by coming late to the party, seeing the mistakes everyone else made in the feature, and then implementing it somehow even more poorly than everybody else. An example of a particularly bad Linux subs…

I mean, it's entirely possible to implement ptrace if you spend enough time doing it, it will just be complicated and the performance will likely be not that great. (But yes, it's a pretty bad API.)
Post reply on HN