3 ms·
Ask HN: Why didn't the Amiga discourage multitasking to reduce system crashes?
The Amiga didn't have process protection and multitasking made it highly unreliable.
Maybe the Amiga could have been a more serious contender in business if it didn't crash all the time due to multitasking?
- nikau 4y agowhy not put a speed governor on cars to restrict them to 10 mph so there are less fatalities?
- lordkrandel 4y agoAmiga wasn't crashing all the time. Had it for 15 years. Multitasking in early 1990's was the freaking future, that's it. Amiga did not do well because of Commodore and application support, not for supposed crashes. Do you remember Windows 95???
- BjoernKW 4y agoMultitasking 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.
- snvzz 4y agoAmiga crashing a lot is a misconception. Crashes were actually far in between. But when Amiga launched, it was with an AmigaOS 1.0 that was very, very buggy. 1.1 was considerably better, but still buggy. It took until 1.2 (~1987) to be reasonable. Crashes became a rarity, but the bad reputation sadly stuck.