Hacker News new | ask | show | jobs
by ndsipa_pomu 32 days ago
I don't know if the Amiga was ahead of its time or the PC was behind its time. AmigaOS was a pre-emptive multitasking OS whilst PCs had to wait for Windows NT/95.
3 comments

The release of Windows 95 was weird. There were PC users talking about how amazing Microsoft were, to have come up with all the things their marketing people were shouting about, such as pre-emptive multitasking and plug-and-play. Then all the Amiga (and Mac) users, completely underwhelmed, pointing out "we've had all these things for years, how has it taken so long?".
Yeah. one thing is not like the other. While AmigaOS was pre-emptive, Mac System - 6-8 weren't. It was co-op. Everyone who used 6 and 7 can remember copying file meant you couldn't do anything else, and 8 got multithreaded support in Finder finally, but it was still co-op. At the time I used various platforms daily. Namely, AmigaOS, Mac System 6-8, IRIX.. the difference was obvious. IRIX and hardware of course being from the future, but at at least 10x the price.
Even Mac OS classic was just cooperative multitasking. Near the end it got some very limited pre-emptive capability, but most only usable to do calculations.
As a Amiga and then Linux and Windows 95 user I remember being flabbergasted over a Mac in 1997 being completely unusable while it was formatting a floppy.
Sort of both.

> AmigaOS was a pre-emptive multitasking OS

Yes, but without memory protection.

> whilst PCs had to wait for Windows NT/95.

While Windows 2 on an 8086 could pre-emptively multitask DOS apps, so long as they all fit into 640 kB at once. Windows/386 could do it in extended memory.

The innovative thing in W95 was doing it to Win32 apps as well.

OS/2 in 1987 or so could multitask OS/2 code on a 286.

>> AmigaOS was a pre-emptive multitasking OS

> Yes, but without memory protection.

That’s why it was so fast. :) Also surprisingly stable all things considered.

I havent seen many desktop like workflows on it with several "big" apps open (and running cpu) at the same time, most ive seen was one software at a time or games. Cooperating with yourself is relatively easier, no ?
Having used AmigaOS, Mac OS, RISC OS, MS-DOS and Windows in the 1980s, I can say that Amiga definitely had the smoothest experience. Even the most basic things like reading/writing a floppy disk could make all but AmigaOS unusable. I remember thinking about Windows 95 "why is the mouse pointer juddery? It should never be juddery!" when trying to run several things at once.

The reason you don't see lots of "big" apps at once is because memory! RAM was expensive.

If you run a CPU-bound task on AmigaOS, you can use ChangeTaskPri on it, and you can easily see the difference. At its default priority of 0, the mouse pointer is still smooth but other applications start to clam up and starting new things is slow. Reduce the priority to -1 and everything's full speed again. Raise the priority to 5 and you'll have trouble moving the mouse pointer. Raise the priority to 20 and the system hangs...

I don't think you've truly experienced "cooperative" multitasking. Try RISC OS, which literally passes control around between applications and has to wait for them to give it back, unlike AmigaOS which will take it back from them. Any kind of error is an immediate modal window that stops the world. Accessing a disk stops the world. Pressing F12 on the desktop drops to a command prompt and stops the world. You can open a command prompt in a window but it runs at a fraction of the speed of the global command prompt.

Remember that without memory protection everybody shares the same memory and everything is visible to every process. If a process doesn't release all their memory that memory leak will stay even if the process ended.

Shared libraries were typically loaded only once into the system's single shared address space. Any process could potentially overwrite another task's memory or shared library state.

I don't have my old setup ready but if I boot into Pimiga, I get about 60 task and processes running.

If you literally mean "seeing" workflows, because of the small monitors back then, you usually didn't have open programs side by side. The Amiga allowed to have multiple screens that were basically a better version of virtual screens combined with fullscreen mode.

Here is an example of somebody having Deluxe Paint open and the Workbench.

https://retrocomputing.stackexchange.com/questions/24842/ami...

The pinnacle of workflow design on the Amiga was of course ARexx which allowed applications to communicate through message ports and automation scripts.

There were early multitasking operating systems starting with the 286, but for demos you'd typically use the entire CPU. Part of the magic was that video routines would run at an extremely constant 50 (or 60) Hz, perfectly in sync with the hardware. This, and color bleeding, resulted in a buttery smooth experience, that I still miss.

One particular example of this experience was that you'd use "raster bars" to time the performance of your routines. If your main loop is synchronized with the vertical retrace, then switching the background color after a piece of code would show up in the margins of your screen.

Animations were tuned to move in constant pixel offsets. All the anti-aliasing in the world cannot bring back the true demoscene spirit :)

An example: https://youtu.be/z2C1uVqCqME

Green is the main music routine. Blue is the sample playback

and any example of a zero bitplane demo. Just using the CPU to switch the background colour

https://youtu.be/z2Ke-Irp7U8