Multitasking and the Amiga
by Eric Schwartz
from the AmiTech Gazette, February 2010
February has been punctuated by repeated snowstorms around here, followed by repeated snow shoveling, followed by repeated curses as the snow comes back. So far 2010 is shaping up to be an interesting time in the Amiga world. With developments such as the Amiga One X1000 hardware somewhere on the horizon, and MorphOS slowly expanding its coverage from the Mac Mini to other PPC-based Mac hardware, the year, or maybe the decade, is showing some potential for growth for the first time in a long time. It's only fitting as the 25th anniversary of the release of the original Amiga 1000 draws close that we get a glimmer of new hope, however small it might be.
I've often talked in the past about how the Amiga excelled in advantages that doubled as disadvantages at other times or circumstances. The Amiga was famous for being the first consumer-level computer with a full pre-emptive multitasking operating system. This was quite the challenge to do affordably in the latter half of the eighties, as most other examples of multitasking required hardware support, such as a memory management unit (which could have priced the system out of the market at the time), but it was managed. The early Amiga OS got a reputation for being crash-prone, as software programmers learned how to code for a multitasking OS, making sure their program didn't step on the toes of other tasks that might be running at the same time. The end result was mostly stable, as good or better than most of its contemporaries, but the lack of on-board hardware resource management meant a big enough error could still take the whole system down with it. Over the years, the Mac and Windows slowly waded into multitasking, first with limited and crippled forms where only one program actually ran no matter how many were open, or the resources any program could use were set from the start. Eventually Windows, Mac and others came to pre-emptive multitasking, thanks in no small part to CPUs with memory management becoming affordable at the consumer level.
By the time the others adopted true multitasking, they didn't have to solve the problem of doing so without hardware help. The advantage the MMU provides makes it easier for separate tasks to keep from overlapping the resources they use, and one failing program can be stopped and removed without dragging the rest down with it. It was around this time the Amiga's multitasking started becoming more of a liability. As the AmigaOS was designed to multitask without hardware memory management, it wasn't possible to just add it in, not without breaking the software that already runs. To be honest this was an issue for the other operating systems too. Mac OS reinvented itself as the Unix-based OSX to achieve true multitasking, and Windows did much the same. There were problems with older software breaking under the multitasking system (Mac OSX was not compatible with older software at all, except when running an older version of the operating system as a separate process) but the problems passed quickly as they plowed ahead, knowing that any software publishers would either release new versions that work properly or be left behind.
Unfortunately years of uncertainty and inviability left the Amiga OS marginalized with hardly any serious software developers remaining, and its modern descendants, MorphOS and Amiga OS4, dependent on compatibility with years-old, even decades-old software, and the baggage of instabilities that come with it. As a contrast, the AROS Amiga-like system does not currently support classic Amiga software transparently, which means the only software available for it is that which is specifically written for it -- which isn't much at this time. Perhaps updates would bring in more stability, either with new software replacing old, or the system managing to shoehorn resource management onto the classic software. It's hard to say either way, but it's fun to hope. I'll be watching either way, if only because Windows, Mac, and Linux still annoy me in ways the Amiga and its relatives don't.