Live data from Hacker News

DOS Subsystem for Linux

github.com

51–60 of 182 posts

Re: DOS Subsystem for Linux

#51
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 know what it means and what way round it is now due to repetition, but WSL struck me as a weird name and confused me at first.

Usually, saying "for Linux" or "for Windows" about something means there's a thing that is for (or "to run on") Linux or Windows, not that the thing is "of" Linux or to enable the use of Linux. I appreciate there are two ways to look at the semantics, but the one they picked for WSL seems the least common one to me.

Re: DOS Subsystem for Linux

#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 Windows..." or "This is a subsystem FOR Linux... ." I had to consciously avoid using "for" in that sentence to highlight the problem.

So when someone who doesn't know what the thing does reads "Windows Subsystem for Linux" they may walk away with the false impression that the subsystem allows Windows binaries to run on Linux. Likewise, what you're seeing now is that people are seeing "DOS Subsystem for Linux" and thinking that this enables you run DOS on Linux.

Re: DOS Subsystem for Linux

#54
post #32

Earlier quoted context omitted.

EDIT: I stand corrected. A closer look at TFA confirmed that it is indeed DSL. I was confused by the screenshot which at first glance just shows DOS running in QEMU on Linux. But it goes deeper! Yes, that is correct. Windows Subsystem for Linux means it's one of Windows' subsystems which provides linux. This should be called Linux Subsystem for DOS.

This is a thing you execute under DOS to run linux commands. it provides Linux. (or at least pretends to do it that way around)

Misunderstandings aside (I am fully up to speed on that), why do this and WSL each use "for" to mean "provides"? In most software contexts, the noun after the word "for" is the thing you already had, like "Word for Windows" et al.

Re: DOS Subsystem for Linux

#55
post #35
post #12

Earlier quoted context omitted.

Is this explained somewhere? I'd love to read how it works (without trying to understand the source code).

Author here. I am planning to do an in depth write up of how this works, but it seems Hacker News found it sooner :) When DSL is first invoked at the command line it boots up the Linux kernel which takes over control of the computer from DOS. Now here’s the trick: DSL makes use of a processor feature called VM8086 which allows for a 32 bit operating system to run legacy 16 bit code mostly natively. This feature is ho…

> Helpfully Linux does not appear to clobber DOS’s memory during its own boot process.

Is that just a coincidence or intentional somehow?

I guess DOS can only access the first 1MB (err... plus 65520 HMA bytes?), so if Linux just avoids using that space then DOS can keep running happily... I was curious if there's actually a mechanism to tell Linux to avoid that space.

DOS memory management fascinates me in its absurdity.

Re: DOS Subsystem for Linux

#56
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…

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. ¯\_(ツ)_/¯

Re: DOS Subsystem for Linux

#57
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…

Windows (Subsystem for Linux)

- vs -

Windows Subsystem (for Linux)

Re: DOS Subsystem for Linux

#59
post #35
post #12

Earlier quoted context omitted.

Is this explained somewhere? I'd love to read how it works (without trying to understand the source code).

Author here. I am planning to do an in depth write up of how this works, but it seems Hacker News found it sooner :) When DSL is first invoked at the command line it boots up the Linux kernel which takes over control of the computer from DOS. Now here’s the trick: DSL makes use of a processor feature called VM8086 which allows for a 32 bit operating system to run legacy 16 bit code mostly natively. This feature is ho…

That's hilarious. Nice hack!
Post reply on HN