4 ms·
The Linux subsystem also runs unmodified Linux binaries-- with WSL, you can (theoretically) run any piece of software compiled for 64-bit Linux, which gives yo
by JonathonW 10y ago
The Linux subsystem also runs unmodified Linux binaries-- with WSL, you can (theoretically) run any piece of software compiled for 64-bit Linux, which gives you access to everything in Ubuntu's package manager (Ubuntu's the only distro they ship right now). With Cygwin, programs have to be recompiled for Cygwin, which means you're restricted to programs that are either already in Cygwin's package manager or that you can compile yourself.
As you mention, WSL also isn't stuck with the restrictions that come from Win32 compatibility. One of the big impacts of this is that fork() can be faster (although I'm not sure if it actually is right now) than the mess that is Cygwin's emulated fork(). There are some more subtle distinctions, too, though: for example, WSL maintains Linux's conventions around locking open files and has full case-sensitivity. Cygwin doesn't even try to simulate Linux's behavior for either of those; it maintains Win32's behavior.