| ▲ | layer8 20 hours ago | ||||||||||||||||||||||||||||||||||
A "Windows subsystem" is a specific interface between user-mode applications and the Windows kernel. It's a technical notion that exists in Windows. So there are different Windows subsystems for different types of applications. The naming convention is "Windows subsystem for <application type>". It makes more sense when you read it as "Windows subsystem for [running] Linux [applications]". WSL2 deviates from the native concept of what a Windows subsystem is; it is named that way because it is the successor of the original WSL. | |||||||||||||||||||||||||||||||||||
| ▲ | dataflow 15 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||
I believe you're almost entirely wrong unfortunately. It is true that Windows has subsystems as a technical feature, yes. However, I don't think it's true that WSL (v1, let alone v2) was part of that architecture, despite the name. AFAIK that existing subsystem notion was a user-mode one, where each subsystem was built mostly in user-mode on top of the NT ("native") subsystem, with binaries in the PE format. WSL just completely ignored the whole thing, and even the existing notion of processes, and came up with a separate new thing called "picoprocesses" that it (barely?) wired through some critical kernel components via a custom driver that executed Linux binaries intact, implementing the Linux syscalls. If you want a list of actual subsystems Windows recognizes, this should be pretty accurate: https://learn.microsoft.com/en-us/windows/win32/debug/pe-for... The real reason for calling it a subsystem was almost entirely for familiarity with the previous concept of running Linux programs on Windows, which were based on that subsystem feature (the POSIX subsystem and the Subsystem for UNIX-based Applications). | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | jasomill 18 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
This, and it may have also been a legal thing. "Product for Third-Party OS" has been accepted as a descriptive use of a third-party trademark for decades, requiring only proper attribution rather than a license, whereas marketing a product that didn't even originally use the Linux kernel as a "Linux Subsystem" might have been considered riskier by Microsoft's lawyers in spite of the nonstandard use of the former. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | GeekyBear 16 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
WSL was a traditional subsystem in the Windows NT tradition, it just never worked properly. WSL2 runs real Linux in a virtual machine. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | zarzavat 19 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||
> It makes more sense when you read it as "Windows subsystem for [running] Linux [applications]". You can't have ellipsis when the shortened version already has its own meaning. X for Y when both X and Y are nouns means that X is part of Y, not that Y is part of X. e.g. "I bought new tyres for my car". The tyres are part of my car. You can't flip it and say "I bought new my car for tyres", it's just not how the word "for" works. Grammatically it has to be "Linux for Windows subsystem", or "Windows subsystem for running Linux" as you said. The verb is essential for it to parse correctly. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||