Hacker News new | ask | show | jobs
by doener 6 days ago
> but Amiga multitasking wasn’t memory-protected

This was not the case for Windows 95/98 and ME, either BTW IIRC. Only with Windows XP Microsoft introduced memory protection for the mass market.

3 comments

No, Windows 95 had memory protection for 32-bit apps. Usually when a 32-bit app crashed, the rest of the OS worked fine.
In theory it had memory protection. Processes were reasonably protected from accidentally stepping on each other's tires, but the OS was not. Any app that tried to be clever (which there were plenty of understandable reasons for) or was actively malicious could mess with absolutely everything.
There's definitely a difference in magnitude in how likely crap software is to set the world on fire and ruin your day between Win95 and Amiga.

One big problem is that Amiga "multi-tasking" while not co-operative like Mac or Win 3.x, can be switched off as a convenience for programmers. So all that needs to go wrong is a program switches off multi-tasking to do something and then gets stuck before restoring it. The program which crashed is dead but you can't fix that because it turn off multi-tasking.

In all the years I used an Amiga, I don't think I ever had the machine crash because they used Forbid(). I'm not saying it never happened to people - I'm sure there were badly misbehaving programs in use -, but using Forbid()/Permit() outside of very tight sections was very firmly frowned on, and Forbid was overall relatively uncommon apart from games which took over the system on purpose.
Probably Windows NT rather, which turned into Windows 2000 (and then XP)
Windows 3.11 was pretty unstable, because it wasn't using protected mode. I remember how unstable the Macs were back then too before the introduction of OSX.

Applications also had to voluntarily give up control of the CPU, cooperative multitasking. That's bad when an application crashes and takes down everything with it.

Windows 3.x could (and defaulted to where possible) to running in "386 enhanced" mode which actually used protected mode, IIRC.

The problem was that the Win16 part ran all in one address space, and the separation support was mainly used to handle DOS windows.