Live data from Hacker News

DOS Subsystem for Linux

github.com

121–130 of 182 posts

Re: DOS Subsystem for Linux

#121
post #116

Earlier quoted context omitted.

They're both phrased unnaturally, IMO. This is why we teach sentence diagramming in elementary school. Maybe the person who came up with "WSL" wasn't a native English-speaker?

I expect it's branding. I'm having trouble coming up with a name that sounds unambiguous while keeping "Windows" as the first word. And I doubt Microsoft's branding people would be happy if "Linux" appeared in the title before "Windows".

It's amusing to imagine a stodgy company like Microsoft naming it something indie like "tux4win".

Re: DOS Subsystem for Linux

#122
post #17
post #14

If I recall correctly, there was at one time a Linux boot loader that ran from DOS, which could make use of DOS device drivers. I recall using Yggdrasil Linux which had an option to boot this way, which used the DOS driver for my SCSI card and CDROM drive to make it available under Linux.

That was LOADLIN. When coupled with a Linux filesystem called umsdos, it allowed you to boot Linux without repartitioning your disk or clobbering your MBR. Fun times. Umsdos overlaid a POSIX file system on top of an MS-DOS file system, using a scheme somewhat similar to Windows long filenames (but created before that became a feature of Windows). Basically, every directory would have a magic file called --LINUX-.---…

Brings back old memories. My first Linux experience was with PhatLinux and WinLinux2000. We only had one family computer and I didn't want to risk nuking the disk, which I now know would have inevitably happened.

Re: DOS Subsystem for Linux

#123
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.

The poor naming convention goes back ~20 years or so to (at least) "Windows Services for UNIX" (SFU) [0]. The naming was not intuitive then and it still isn't today.

The "problem" is that these products are not what you automatically assume they are!

To illustrate: SFU provided NFS and NIS servers, a cron daemon, a telnet server, and various CLI "utilities" (i.e., standard "services" provided by "UNIX") running on Windows -- not Windows services that run on UNIX!

Once you know that, the "Windows Services for UNIX" name kinda makes sense and helps to understand what the "Windows Subsystem for Linux" and, now, the "DOS Subsystem for Linux" actually are.

---

[0]: https://en.wikipedia.org/wiki/Windows_Services_for_UNIX

Re: DOS Subsystem for Linux

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

Thanks for the explanations. Very interesting. Please add it to the README.md or the GitHub Wiki if you want to go into much more detail. Thanks!

Re: DOS Subsystem for Linux

#125
post #55
post #35

Earlier quoted context omitted.

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 absurd…

With HIMEM.SYS + EMM386.EXE [0][1], you could include or exclude certain memory segments. But, DOS Subsystem for Linux uses non-standard little documented Unreal Mode [2][3] instead of traditional DOS Memory Management.

[0] http://www.mdgx.com/mem6.htm#6

[1] http://manmrk.net/tutorials/DOS/msdos7/emm386.htm

[2] https://en.m.wikipedia.org/wiki/Unreal_mode

[3] https://github.com/charliesome/doslinux/blob/master/doslinux...

Re: DOS Subsystem for Linux

#126
post #109
post #52

Earlier quoted context omitted.

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…

Also, why linux? Linux is the kernel, which is not what is being run, more like everything on a gnu/linux system apart from linux.

WSL1 emulated Linux kernel syscalls. GNU was run on top of it unmodified, but could be used without GNU. on WSL2 the actual kernel is what is being run, in a thin VM wrapped by lots of wrappers to provide a native-like experience.

Re: DOS Subsystem for Linux

#127
post #116

Earlier quoted context omitted.

I expect it's branding. I'm having trouble coming up with a name that sounds unambiguous while keeping "Windows" as the first word. And I doubt Microsoft's branding people would be happy if "Linux" appeared in the title before "Windows".

It's amusing to imagine a stodgy company like Microsoft naming it something indie like "tux4win".

They completely missed the opportunity to call it LinuxFTW

Re: DOS Subsystem for Linux

#128
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.

It’s because the WSL is confusing and doesn’t follow english naming conventions. “X subsystem for y” reads left to right as X is an adjective describing the subsystem, and for seems to indicate y is the platform that X subsystem is for.

Instead it’s seemingly meant to be parsed inside-out with “subsystem for Linux” as one noun indicating a subsystem that runs Linux apps, and DOS as an adjective describing that noun. Maybe wsl did it to keep the windows brand first? Are there many other “windows subsystems for Y” out there and this is a Microsoft-universe term? I don’t know but it’s very strange.

Re: DOS Subsystem for Linux

#129
So I would love to know if I could run Win98SE/ME and SSH into the native running Linux with this. Perhaps I'd actually prefer that over running Windows10 with WSL2. One problem would be modern browser support for Win98SE so I would need to use an Windows X client to start the linux based browser.

Come to think of it, perhaps you could run Wine to run dos, filemanager/explorer and control panel to emulate the Windows98SE experience.

Re: DOS Subsystem for Linux

#130

Earlier quoted context omitted.

They're both phrased unnaturally, IMO. The suffix "for Linux" strongly implies it's software for use on Linux. It's like the "4j" and "4win" suffixes, implying software built for the Java and Windows environments, respectively. What's more, Windows or DOS as an adjective of subsystem bind more tightly than "for Linux". So if you were to start dropping parts of the name, you'd drop "for Linux" first. Except you can't,…

" on " strikes me as unambiguous.

But it might have the problem of branding the product as a “Linux subsystem” and they want to sell it as a “windows subsystem”, that runs Linux code
Post reply on HN