To start with, the only needed hardware for preemptive multitasking is a interrupt capable timer. Everything else can be done in software. Though, some memory management would be helpful. Beside custom solutions that hardware was already ready off the shelf for 8 Bit CPUs. Beside more generic solutions like TI's 74610 series, more advanced solutions like Motorolas 6829 where available. > Notwithstanding the Amiga being 15 years ahead, Lets skip that subjektive part, ok :)) > why was it such a long time for preemptive multitasking to be supported by the mainstream consumer OS's? Now hold the horses. I hope you agree that CP/M was a mainstram consumer OS, wouldn't you? DR did offer it's preemptive multitasking brother [MP/M][1] already in 1979. It did already work with 'only' 32 KiB, but ofcourse considerable better with several 64 KiB address spaces, one for each. This 'huge' memory requirement also marks the primary reason why usage was limited: THe price for such a computer. MP/M was targeted at 'power users' with an urgent need to have multiple applications running in parallel. While RAM prices did drop, this **need for a use case** stayed. MP/M-86 was available right with the IBM-PC and turned later on into Concurent-DOS. Still it was the missing USE case that stoped a broader usage. Not at least due missing software that would benefit from multitasking at all. Other more limited products like [DoubbleDOS][2] and [desq][3] had more success to the general public by offerering the chance to hold more than one program in memory, handy to reduce load times. Otherwise there was little gain, as these programs worked virually seperated. More problem centric solutions like [Sidekick][4] did gain much popularity, as they offered at least some (workflow) integration. Apple on the other hand did focus from the begining on a more user centric aproach. Already the original Finder supported clipboard exchange and accessories in addition to a (single) main application. With System 5's [Multifinder][5] more than one application could be loaded. still, it took some time until this realy got a foothold thru better integration. **Bottom Line: It's about the appcation, stupid.** From a users perspective there is no real difference between cooperative and preemptive multiprocessing. It's all about what can be done. No matter how we engineering orientatet people value these concepts, Multiprogramming, Multitasking, Multiprocessing and all the other Multi* are only tools to enable the user to do his tasks and no real value in itself. Seperated Addresspaces, premptive multitasking ans so on only became standard when according hardware came for free and at first only support programmers in creating applications (or help handling theri inability to do so), not offering any direct benefit to the user. [1]: https://en.wikipedia.org/wiki/MP/M [2]: https://en.wikipedia.org/wiki/DoubleDOS [3]: https://en.wikipedia.org/wiki/DESQview#Desq [4]: https://en.wikipedia.org/wiki/Borland_Sidekick [5]: https://en.wikipedia.org/wiki/MultiFinder