Live data from Hacker News

Windows 11 will happily execute a binary compiled 30 years ago

twitter.com

121–130 of 424 posts

Re: Windows 11 will happily execute a binary compiled 30 years ago

#121
post #110
post #12

yes it can run things that don't use much of the API surface (just using libc? probably fine) however try running a game from the Windows 95/98 days and you've got a maybe 50/50 chance of it working e.g. they changed the return code from BitBlt from 95/98 -> XP, they used to return the number of scanlines but switched it to a boolean same with the heap management functions, directory traversal functions, etc

Those issues only apply to Windows 9x linage. Current Windows versions trace back to Windows NT 3.51/2000 linage. Naturally 9X => XP don't work flawlessly, they are two different OS stacks.

well yes

however it sort of undermines the "insane compatibility" / "stable API" point if mass-market Windows software produced before the 2001 release of XP mostly doesn't work on modern Windows

NT effectively forked Win32 (introduced with Windows 3.1) into something incompatible

(meanwhile it all runs on Wine perfectly fine)

Re: Windows 11 will happily execute a binary compiled 30 years ago

#122
post #76
post #63

What I find so frustrating is that Windows, under the hood, is so solid. It's just the UI with Bing/Ads/telemetrics/etc integration is so crap, like they've ruined a solid OS with crappy surface level stuff.

Really? Filesystem performance on Windows is absolutely horrible compared to Linux. It blows me away how, even using SSDs, the performance of git over large repos is at least 10x slower than a Linux box with the same CPU. It is the bane of my existence. It's not just git. rsync of a large directory takes >10x as long. This is with Server 2016 (and 2012 r2). My 2012 r2 machine had spinning disks and when I tested on 2…

Did they not try to fix that user attention gets resources Bug called a scheduler?

Re: Windows 11 will happily execute a binary compiled 30 years ago

#123

See also https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Win…

Search for the bonus chapters to Raymond Chen's "Old new thing", which goes through MANY examples of how there was an entire team who's job was to go through popular applications and hack windows to make them work on the new OS

Re: Windows 11 will happily execute a binary compiled 30 years ago

#124

Earlier quoted context omitted.

You forgot the mandatory MSFT accounts to sign in with no way around last I checked (a few months ago).

Last time I checked you could log in locally if the install process never detected an internet connection. A terrible work around but (at the time) a functional one.

Afaik this doesn't work anymore on Windows 11 unless you change some configuration in the shell and reboot before doing the setup.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#125

Earlier quoted context omitted.

It's as if, it's a product made by a giant corporation with over a dozen different teams of skilled people, with different managers and different visons on how their own team's work should impact the final product for their own career advancement purposes.

Sure. Apple is also giant and (probably?) fits those descriptors as well. Why is Mac so solid under similar circumstances?

There's B2B Windows and B2C Windows. B2C is the license sold to OEMs, who will fill up the OS image with bloatware anyway to make a few extra bucks. Microsoft is just getting in on that now.

B2B Windows is the stuff you would see for enterprise buyers with strict IT policies. Your experience will be mostly unchanged from "classic Windows".

Re: Windows 11 will happily execute a binary compiled 30 years ago

#126
post #110

Earlier quoted context omitted.

Those issues only apply to Windows 9x linage. Current Windows versions trace back to Windows NT 3.51/2000 linage. Naturally 9X => XP don't work flawlessly, they are two different OS stacks.

well yes however it sort of undermines the "insane compatibility" / "stable API" point if mass-market Windows software produced before the 2001 release of XP mostly doesn't work on modern Windows NT effectively forked Win32 (introduced with Windows 3.1) into something incompatible (meanwhile it all runs on Wine perfectly fine)

What? Windows NT never forked anything.

Windows 3.1 introduced Win16 protected mode with segmented memory.

Win32s was a backport from a Win32 subset from Windows NT 4.0.

Windows NT linage exists since 1993.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#127
post #58

Earlier quoted context omitted.

That depends on if they are using 64 bit or not. The 16bit VDM was deprecated on that move from 32 to 64. Which is the majority of most installs these days. What is kind of neat is every windows application/dll is a valid DOS application. The first part of all of them is a valid MZ DOS 16 EXEcutable. Windows just treats it as a skippable header and reads the real header that is about 100 bytes in and then decides whi…

If that was a Windows 10 screenshot then yes there would have been the possibility of it being the 32-bit edition running a DOS app through NTVDM. But the poster says Windows 11, which does not have a 32-bit edition. I’m not aware of 64-bit Windows being able to run 32-bit DPMI DOS apps natively, I think those still required NTVDM.

> I think those still required NTVDM

Pretty sure you are right. As I think that is what setup the interrupts for it. Win9x did it very differently and would basically just put command.com back in charge of stuff to sort of make it work with a sys file. NT with DPMI programs was usually very hit or or miss (more miss). If they did not play just right with windows the thing would just crash out.

Think there might be a win11 32 bit out there. But nothing that MS sells to normal end customers. But my brain may be playing tricks on me and I am confusing different articles I have read. But that would probably be some sort of weird kiosk ODM build. Not what most normal people would have (like in that post).

Re: Windows 11 will happily execute a binary compiled 30 years ago

#128
post #79

Earlier quoted context omitted.

This is true. I'm not sure what the obstacle is, and I know a lot of smart people have worked on it, but opening a ton of files and traversing a bunch of them in directories is very slow. Once the file is open, IO is just as fast though.

Filesystems are a database and have to deal with CAP Theorem trade-offs like everything else. Windows and NTFS both took a heavy focus on Consistency/(lack of) Partitions over Availability. Most POSIX operating systems and their filesystems took a heavy focus on Availability at the expense of Eventual Consistency and Sometimes Partitions. Neither approach is wrong, they are just very different approaches with very di…

a local filesystem that can only be mounted once and of which state is 100% controlled by one entity (the local kernel) is not a distributed system

the CAP theorem simply does not apply

Windows IO subsystem was simply designed for extensibility over performance

Re: Windows 11 will happily execute a binary compiled 30 years ago

#129
post #5

I've always been sad that my old Mac software just won't run. It's one thing for Apple to move to new architectures. Maybe that was necessary. But when the emulators break after a few years, well, that's the part that bugs me. Microsoft's devotion to its customers shouldn't be so amazing-- it's the way that every company should behave.

Apple had a time where they would allow even 1st gen iMacs (300MHz?) to get the latest MacOS X. You might have to max out ram but that was it, and it was very usable.

Re: Windows 11 will happily execute a binary compiled 30 years ago

#130

Earlier quoted context omitted.

Counter-example: Soldier of Fortune is broken on modern windows because of a misapplied compatibility hack. Rename the binary and it works with no problems. This is an awful way to implement backwards compatibility. Opaque and ad-hoc. They have been using similar toolset to break competitors applications. The choice of what old version of windows to run the program on is typically to try them one by one. Linux is no…

> They have been using similar toolset to break competitors applications Source(s) ?

This, for example. And they got caught. How many times they did not?

https://www.theregister.com/1999/11/05/how_ms_played_the_inc...

Post reply on HN