4 ms·
Multitasking was very much a feature the Amiga was both praised for and promoted with. In those where niches the Amiga indeed was successful as a business machi
by BjoernKW 4y ago
Multitasking was very much a feature the Amiga was both praised for and promoted with. In those where niches the Amiga indeed was successful as a business machine, i.e. video editing and - to some extent - 3D rendering, multitasking probably was quite useful.
Moreover, the Amiga's flavour of multitasking was preemptive multitasking. Nowadays, preemptive multitasking is what most operating systems use. Before AmigaOS, operating systems either had no multitasking at all or used cooperative multitasking like, for example, the classic Mac OS. This was no small feat, given AmigaOS has provided this feature since 1985 whereas it took other consumer-oriented operating systems until the mid-90s to follow suit (Windows 95 having been to first such OS to implement preemptive multitasking, too).
The problem with preemptive multitasking - and likely the reason why it took others so long to implement such a useful feature - is that it requires an MMU in the CPU to apply memory protection in order to be performed safely and without crashes.
However, the Motorola 68k processor architecture used by the Amiga didn't include such an MMU until its 68030 iteration (and even that came with an optional 6EC8030 variant, which was often used for cost-cutting reasons). While 68030 processors would've been available in 1987, when the Amiga 500 was released, at the time they would've been way too expensive for Commodore's main business model and target audience for the Amiga (i.e. consumers).
Amiga models such as the A3000 or A4000, which were targeted at professional customers, did include an MMU. Since professional users alone didn't warrant the major rewrite that would've been necessary to adapt AmigaOS to these CPU capabilities as well, no major efforts were ever undertaken in that respect.
Long story short, while Commodore was notorious for making bad business decisions (at times almost preposterously so), not adding memory protection to AmigaOS probably wasn't one of them.
- bediger4000 4y agoI'm a bit elderly at this point but I remember plenty of people in that time frame arguing that cooperative multitasking was better than preemptive.
- Someone 4y agoIt may have been at the time, if UI responsiveness was important to you. On the Mac (maybe not a good example because the original one didn’t even have true cooperative multitasking), it certainly helped make opening and closing menus snappy, for example. When you opened a menu, the OS copied the bits behind it, and when it closed, it copied those bits back, without triggering a redraw of those bits. It could do that became it knew nothing would be drawn while the menu was open. Pre-emptive multitasking also requires code to be re-entrant or to use locks. Re-entrant code uses more memory (can’t use as many globals), and locks slow down code. With memory being scarce and CPUs slow, those were more costly at the time than they are today. On the other hand, it turned “when do I tell the OS it can run another process now if it wants to do so” into a black art.