![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Another day, another paean of praise for the Amiga's 1980s pre-emptive multitasking GUI
The thing is, that's only part of the story.
There's a generation of techies who are about 40 now who don't remember this stuff well, and some of the older ones have forgotten with time but don't realise. I had some greybeard angrily telling me that floppy drives were IDE recently. Senile idiot.
Anyway.
Preemptive multitasking is only part of the story. Lots of systems had it. Windows 2.0 could do preemptive multitasking -- but only of DOS apps, and only in the base 640kB of RAM, so it was pretty useless.
It sounds good but it's not. Because the other key ingredient is memory protection. You need both, together, to have a compelling deal. Amiga and Windows 2.x/3.x only had the preemption part, they had no hardware memory management or protection to go with it. (Windows 3.x when running on a 386 and also when given >2MB RAM could do some, for DOS apps, but not much.)
Having multiple pre-emptive tasks is relatively easy if they are all in the same memory space, but it's horribly horribly unstable.
Also see: microkernels. In size terms, AmigaOS was a microkernel, but a microkernel without memory protection is not such a big deal, because the hard part of a microkernel is the interprocess communication, and if they can just do that by reading and writing each other's RAM it's trivially easy but also trivially insecure and trivially unstable.
RISC OS had pre-emptive multitasking too... but only of text-only command-line windows, and there were few CLI RISC OS apps so it was mostly useless. At least on 16-bit Windows there were lots of DOS apps so it was vaguely useful, if they'd fit into memory. Which only trivial ones would. Windows 3 came along very late in the DOS era, and by then, most DOS apps didn't fit into memory on their own one at a time. I made good money optimising DOS memory around 1990-1992 because I was very good at it and without it most DOS apps didn't fit into 500-550kB any more. So two of them in 640kB? Forget it.
Preemption is clever. It lets apps that weren't designed to multitask do it.
But it's also slow. Which is why RISC OS didn't do it. Co-op is much quicker which is also why OSes like RISC OS and 16-bit Windows chose it for their GUI apps: because GUI apps strained the resources of late-1980s/very-early-1990s computers. So you had 2 choices:
• The Mac and GEM way: don't multitask at all.
• The 16-bit Windows and RISC OS way: multitask cooperatively, and hope nothing goes wrong.
Later, notably, MacOS 7-8-9 and Falcon MultiTOS/MiNT/MagiC etc added coop multitasking to single-tasking GUI OSes. I used MacOS 8.x and 9.x a lot and I really liked them. They were extraordinarily usable to an extent Mac OS X has never and will never catch up with.
But the good thing about owning a Mac in the 1990s was that at least one thing in your life was guaranteed to go down on you every single day.
no subject
no subject
The ST was an amazing machine for the price in the 1980s, yes indeed, and I don't think it deserves the relative obscurity it fell into later on.
Although I have never explored the MiNT OS in detail, it does seem like it found ways around a lot of the ST's limitations, while retaining a degree of compatibility.
The Amiga did amazing things with tiny resources, but that cleverness meant it was virtually impossible to expand and enhance the OS to use the better facilities provided by later, more capable CPUs, and its media chipset was so closely tied to the CPU that much of its power was lost if the sound and video chips were replaced.
In other words, its high level of integration and functionality crippled later upgrades.
(The same is largely true of Classic MacOS.)
Whereas the ST had less special hardware cleverness, and less amazing functionality, and so in time it was possible to improve and enhance it -- and yet still run the original apps.
Nowadays there is EmuTOS, a modernised, all-FOSS replacement ST OS, and part of it is based on the original DR PC GEM source code which Caldera made FOSS. That makes me really happy.
I wish someone somewhere would find, open up and share the source code of any of DR's later multitasking CP/M derivatives. DR grew CP/M into a proper multitasking networked 32-bit OS with a GUI, and it seems to be almost all lost, because it was all proprietary.