Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The amount of effort that went into WSL1 including the number of bug-for-bug changes involved was tremendous. It blew my mind when WSL2 was announced because the hyper visor approach was already possible (and in use) before WSL1 was announced but MS made an explicit decision to do the extra work to make their own Linux subsystem for Windows the harder/better way… then gave up.


They were amazingly successful -- more successful than should have been thought possible -- but they couldn't overcome the semantic file system differences.


Is this documented anywhere? I’d be interested in reading more


Neither the Windows IO API or even the low-level NTFS APIs map cleanly to POSIX semantics. It means you can’t just forward calls from the subsystem to the IO stack, you need to actively marshal them to and fro. This, in addition to certain operations just being plain more expensive on Windows/NTFS (opening files, creating processes) due to different programming paradigms/approaches just give a very high impedance mismatch that makes performant IO highly unlikely by nature for anything trying to run on top the existing system rather than virtualized.


Yeah, the greatest features of WSL1 was the fact that it wasn't a VM. All apps were running natively and managed by the windows kernel.

I now have to deal with the fact that every so often the WSL 2 VM will simply consume too much memory, which really stinks.

WSL1 felt SO close to being perfect.


You can switch back and forth as required, from https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#what-w...:

What will happen to WSL 1? Will it be abandoned? We currently have no plans to deprecate WSL 1. You can run WSL 1 and WSL 2 distros side by side, and can upgrade and downgrade any distro at any time.


I get all that, but it's hard to imagine with the current naming scheme that you'll be doing much beyond the bare minimum support for WSL1. I have a hard time believing that new WSL1 features will land.

There's a giant chasm between "not deprecated" and "actively supporting".

For example, I'm guessing that running a docker container with WSL1 is something that will never happen.


Yea, but WSL1 has basically seen no new features or meaningful fixes since WSL2 was introduced.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: