Live data from Hacker News

Windows 9x Subsystem for Linux

social.hails.org

201–210 of 265 posts

Re: Windows 9x Subsystem for Linux

#203
post #93

Is this person a wizard? To me, this seems an impossible feat. But I wonder how it seems to people who understand how it works? I'm reminded of this joke: Two mathematicians are talking. One says a theorem is trivial. After two hours of explanation, the other agrees that it is indeed trivial.

She is indeed some sort of wizard

Re: Windows 9x Subsystem for Linux

#204

Earlier quoted context omitted.

Slow forking is only the second biggest problem IMO. The biggest is the lack of proper signals. There's a bunch of software out there that just isn't architected to work well without non-cooperative preemption.

Huh? Signals have worked fine for a long time under Cygwin.

That's fake cooperative emulation of signals. It isn't preemptive (unless someone got a kernel driver approved while I wasn't looking?) thus many things either work poorly or not at all. Pause-the-world GC algorithms are a good example. Coroutine implementations also have to be cooperative.

If you're curious, I believe the issue was discussed at length in the Go GitHub issues years ago. Also on the mailing lists of many other languages.

Re: Windows 9x Subsystem for Linux

#205
post #94

Earlier quoted context omitted.

Does that explain Word for Windows?

Don't you mean Copilot 365 .NET SharePoint Document Platform for Windows?

No it's the Word app which is included in your organization's Copilot 365 .NET SharePoint license assuming you know how to trigger the download. The chatbot the license is named after doesn't have a clue either so good luck.

Re: Windows 9x Subsystem for Linux

#206
What's a good resource going over the architecture of Windows 3.x and 9x? I know bits and pieces, like that it has a "VM Monitor", and there's support for this sort of thing, though the details are all over the place. Most people summarized Windows as just "running on top of DOS", which is clearly not correct. Obviously, it doesn't use "virtual machines" in exactly the modern sense of the word, but there's clearly something cool and technical going on, that most sources seem to gloss over.

I wonder how similar this project is to "BSD on Windows": https://archive.org/details/bsd-on-windows

Also, I know about https://en.wikipedia.org/wiki/Architecture_of_Windows_9x, but it's not really meaty enough for my taste. :)

Re: Windows 9x Subsystem for Linux

#207
post #43

By microsoft's naming scheme this should be Linux Subsystem for Windows

I agree. Don't have a citation now, but I remember reading that this was a copyright problem. They wanted to name it "Linux Subsystem for Windows", but apparently the Linux foundation does not allow unaffiliated projects to have a name beginning with "Linux", or something like that.

You can parse it as "Windows (Subsystem for [running] Linux)"

Re: Windows 9x Subsystem for Linux

#208
post #105

Earlier quoted context omitted.

Try using the Windows busybox port of "Bash": https://frippery.org/busybox/index.html It has a subset of bash implemented on Ash/Dash. Arrays are not supported, but it is quite fast. The forking problem is still present, though.

Cygwin bash isn't slow either. The problem is a typical bash script isn't a series of bash operations, it's a series of command line program executions. For example, someone might do something like this ( completely ignoring the need to quote in the interests of illustrating the actual issue, forking): for x in *; do new_name=$(echo $x | sed 's/old/new/') mv $x $new_name done Instead of something like this: for x in…

No, seriously, give an ash-derivative a try.

Dash has been benchmarked as 4x faster than bash. The bash manpage ends by stating that "bash is too big, and too slow."

Re: Windows 9x Subsystem for Linux

#209

What's a good resource going over the architecture of Windows 3.x and 9x? I know bits and pieces, like that it has a "VM Monitor", and there's support for this sort of thing, though the details are all over the place. Most people summarized Windows as just "running on top of DOS", which is clearly not correct. Obviously, it doesn't use "virtual machines" in exactly the modern sense of the word, but there's clearly so…

I obtained the DDK from WinWorld: https://winworldpc.com/product/windows-sdk-ddk/windows-95-dd...

It's got lots of very thorough documentation and sample code to dig through

Re: Windows 9x Subsystem for Linux

#210
post #24
post #10

Before WSL, the best ways to run unmodified Linux binaries inside Windows were CoLinux and flinux. http://www.colinux.org/ https://github.com/wishstudio/flinux flinux essentially had the architecture of WSL1, while CoLinux was more like WSL2 with a Linux kernel side-loaded. Cygwin was technically the correct approach: native POSIX binaries on Windows rather than hacking in some foreign Linux plumbing. Since it was me…

Cygwin implements a POSIX API on Win32 with a smattering of Nt* calls to improve compatibility but there's a lot of hoop jumping and hackery to get the right semantics. Fork isn't copy on write, for one thing. I was a Cygwin user from about 1999 to 2022 or so, spent a little time on wsl2 (and it's what I still use on my laptop) but I'm fully Linux on the desktop since last year.

Ha that tracks my own usage and timeline almost precisely, although I was using cygwin and WSL2 in parallel for a while. Lot of complaints about cygwin speed here, but NTFS filesystem access is actually a lot faster on cygwin than WSL2!
Post reply on HN