Live data from Hacker News

DOS Subsystem for Linux

github.com

171–180 of 182 posts

Re: DOS Subsystem for Linux

#171

Earlier quoted context omitted.

And if you think "Windows Subsystem for Linux" is bad, the subsystem that enables the Win32 API is csrss or "Client/Server Runtime Subsystem" and it makes you think: why does that subsystem not mention Windows but the Linux one does?

I have to assume the answer to that question is marketing. They really want to hammer into you that you're running Linux on Windows.

Agreed. "Linux on Windows" is more clear to me.

The "on Windows" part makes it clear that Windows is the host OS.

Many Microsoft's past products used "for $PLATFORM" in the product name. For example:

Microsoft Word for Windows

Microsoft Word for DOS

Microsoft Word for Mac

It makes it clear that it was the version of the product FOR a given platform.

At first glance "Windows Subsystem for Linux" seems like Microsoft's version of WINE.

Maybe we'll get a real "Windows Subsystem for Linux" when the desktop version of Microsoft Linux arrives.

Re: DOS Subsystem for Linux

#172
post #27

There are a ton of comments here that seem to be misunderstanding what this software is. This creates a WSL-like environment on a DOS host system. It does not create a DOS environment on a Linux host. I'm not sure where this misunderstanding even comes from; the name is perfectly analogous to WSL.

"WSL" is Windows Subsystem for Linux is obviously from the old Services for Unix used to bait-and-switch people to NT, and the grammar in the latter is irrelevant, the meaning of "SFU" is clear.

Re: DOS Subsystem for Linux

#173
For those unfamiliar, confused, or otherwise opposed to the naming of the Windows Subsystem for Linux, I would highly suggest reading chapter 2 of Windows Internals: Seventh Edition, which describes how Windows supported POSIX and OS/2 through its "subsystem" model, and how WSL fits into that model and what additional changes were required. The naming of "Windows Subsystem for Linux" makes perfect sense in this Windows OS centric context.

Re: DOS Subsystem for Linux

#174
post #164

Earlier quoted context omitted.

You could use the possessive form here: "Windows' Subsystem for Linux", but that's not a thing product managers like to use in naming...

It probably had an internal name like "winix" or "lindows" - but PM took the reins and came up with a much worse name, as is tradition.

Oh yes. My favourite example is [0] (and the parent twit).

[0] https://twitter.com/ericlippert/status/1205372172534874112

Re: DOS Subsystem for Linux

#175
post #131

Since it's not entirely clear: this works by loading a Linux kernel into unused memory, saving the current state of DOS, turning over control of the computer to Linux, then having the init process start a new that uses the vm86 system call to resume execution of DOS.

That is actually not far from how the kernel of the Win9x series (and also Win3.x on a 386) is structured --- a "hypervisor"-like kernel runs DOS and Win32 applications in "virtual machines" using the V86 mode of the processor. In Win386/9x, that kernel is known as VMM32. In this case, it's the Linux kernel. It's very interesting to see these "chimeric" OSs appear.

Here's a bit more detail from The Old New Thing blog about Windows 3.11: https://devblogs.microsoft.com/oldnewthing/20100517-00/?p=14...

It includes:

> As you might suspect from its name, the virtual machine manager created virtual machines. Inside the first virtual machine ran a copy of Standard mode Windows. ... The other virtual machines each ran a copy of MS-DOS and were responsible for your MS-DOS sessions. ... It’s kind of stunning to realize that Enhanced mode Windows was really a completely new operating system with multiple virtual machines, pre-emptively multi-tasked with virtual memory.

I think it's quite interesting that, on that version of Windows, all the Windows programs were only cooperatively multitasked while all the DOS programs were pre-emptively multitasked.

Re: DOS Subsystem for Linux

#176
post #56

Earlier quoted context omitted.

The WSL terminology really only makes sense if you are aware that Windows has the concept of subsystems - and which is why swapping other labels makes even less sense. I.e. the run-Windows-on-Linux thing would probably not be called Linux Subsystem for Windows, because what is a "Linux Subsystem"? And of course WSL2 isn't a subsystem anymore, but is stuck with the product name. ¯\_(ツ)_/¯

> And of course WSL2 isn't a subsystem anymore, but is stuck with the product name Even WSL1 is not a classic Windows NT subsystem. Its implementation (picoprocesses) is quite different from that of the classic Windows NT subsystems (Win32, OS/2, POSIX/Interix/SFU/SUA). The classic Windows NT subsystems all involve using ntdll.dll to make NT syscalls; WSL1 processes make Linux syscalls and can't actually make NT sysc…

Aren’t you describing personalities instead of subsystems?

Re: DOS Subsystem for Linux

#177
post #52
post #27

There are a ton of comments here that seem to be misunderstanding what this software is. This creates a WSL-like environment on a DOS host system. It does not create a DOS environment on a Linux host. I'm not sure where this misunderstanding even comes from; the name is perfectly analogous to WSL.

I would imagine it's because WSL is a terribly confusing name itself for a lot of people. There are two ways to read "Windows Subsystem for Linux": 1. This is a subsystem that runs on Windows that enables Linux binaries. 2. This is a subsystem that runs on Linux that enables Windows binaries. The confusion comes in the fact that when I write those two sentences, I naturally want to write "This is a subsystem FOR Wind…

My understanding, especially with WSL1, was that there was a concern about the Linux trademark if MS used the name "Linux Subsystem for Windows" which would have been a better name, since WSL1 didn't actually use a Linux kernel. WSL2 does though.

"Windows' Linux Subsystem" might have been better as well (WLS), using it as a posessive statement, or "Windows' Subsystem of/with Linux" which would keep the same WSL abbreviation.

Re: DOS Subsystem for Linux

#178
post #115

Earlier quoted context omitted.

Why not use "in"/"on"? Linux Subsystem on Windows Linux Subsystem in Windows

I expect Microsoft doesn't want to have "Linux" come first in the name from a branding perspective.

I saw a discussion that it was mostly concerns about the Linux trademark when WSL1 didn't actually use a Linux Kernel with the leading part of the name/term.

Re: DOS Subsystem for Linux

#179
So this is basically the equivalent of a non-dedicated Netware 2.x server, then?

Netware 2 was an 80286 OS. (DOS was an 8086 OS.) https://en.wikipedia.org/wiki/NetWare#NetWare_286_2.x

Normally, Netware took over the whole PC, but if you ran it non-dedicated, it loaded in memory above 1MB (which DOS couldn't use anyway) and then let DOS continue running in a pre-empted box, using the screen and keyboard. So someone could use the console as a DOS PC, while the Netware server ran in the background using the rest of the server's RAM, doing file and print for all the client machines.

It worked really well... the main problem was that the user would often turn off the "PC" when they were done. >_More seriously -- this seems to compare well to the old Locus DOS/Merge product: https://en.wikipedia.org/wiki/Merge_(software)

Is there any benefit to DSL [argh, TLA overload, this is not Damn Small Linux] compared to DOSemu?

Re: DOS Subsystem for Linux

#180

Earlier quoted context omitted.

That is actually not far from how the kernel of the Win9x series (and also Win3.x on a 386) is structured --- a "hypervisor"-like kernel runs DOS and Win32 applications in "virtual machines" using the V86 mode of the processor. In Win386/9x, that kernel is known as VMM32. In this case, it's the Linux kernel. It's very interesting to see these "chimeric" OSs appear.

Here's a bit more detail from The Old New Thing blog about Windows 3.11: https://devblogs.microsoft.com/oldnewthing/20100517-00/?p=14... It includes: > As you might suspect from its name, the virtual machine manager created virtual machines. Inside the first virtual machine ran a copy of Standard mode Windows. ... The other virtual machines each ran a copy of MS-DOS and were responsible for your MS-DOS sessions. ...…

By the way, I get the impression that Windows 95 onwards worked a bit differently, with Windows itself more tightly integrated in managing virtual machines rather than running in one itself (more like a type 2 hypervisor). For example, this post seems to suggest that: https://devblogs.microsoft.com/oldnewthing/20071224-00/?p=24...
Post reply on HN