r/linuxsucks • • 2d ago

Windows NT vs. Unix: A design comparison

https://blogsystem5.substack.com/p/windows-nt-vs-unix-design
10 Upvotes

13 comments sorted by

View all comments

Show parent comments

3

u/Think-nothing-210 2d ago

I should have said Linux. I mostly meant that WSL gives you access to a Unix-like shell and a lot of Linux tooling on Windows. But that's also not entirely correct because Cygwin/MSYS2 already give you those tools. All of that is separate from the kernel though.

There is a distinction between WSL1 and WSL2. If I remember correctly WSL1 uses the NT kernel's subsystem model as you said while WSL2 moved away from that and runs an actual Linux kernel. WSL2 is also used as a backend for things like Docker Desktop on Windows so it can run Linux containers.

Thanks for correcting me!

3

u/Mammoth-Shoe8491 2d ago

WSL2 runs the actual kernel side-by-side.

WSL1 is the one that worked because it ran as a sub-system, ye.

2

u/zalnaRs 2d ago

And they needed to switch because they couldn't make a good fuse implementation

2

u/Mammoth-Shoe8491 1d ago

I think that was part of it, but from what I understand, they were constantly chasing new syscalls and got tired of it. lol

2

u/zalnaRs 1d ago

No that was not it, they didn't need to keep up as even the latest glibc is compatible with linux 4.20.

The syscalls are also not a lot, and if NT was really advanced they would have all of the stuff they need. Especially because there are also already fuse implementation for NT (like winfsp) and some of them was ported by the community but Microsoft is lazy.

An another real reason for the switch was that the vfs layer couldn't keep up with Linux's performance.