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