[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to protect 65816's 16MB Memory?
Roger Johnstone <rojaws@orcon.net.nz> writes:
> And sometimes more than once. Look at the Apple Lisa, it released in
> 1983 and had cooperative multitasking, virtual memory and memory
> protection, all enabled by a custom memory management unit designed by
Wow! I'm impressed that you actually know that it was cooperative
multitasking. Not many people do; almost everyone seems to spread the
misinformation that it used preemptive multitasking. I've had to
repeatedly correct that on Wikipedia.
There was an article by Bruce Daniels, author of the Lisa OS, in
proceedings of the IEEE in March 1984, in which he explained why it is
nonpreemptive:
The CPU is multiplexed among the runnable processes by using a
priority based nonpreemptive scheduling algorithm. This
nonpreemptive scheduling policy guarantees correct access to shared
resources, such as the bit-mapped display, by interactive processes
without the performance penalty of having to explicitly lock and
unlock these resources for each access.
I think the preemptive myth is spread by people who want to promote some
special mystique of the Lisa being much more advanced than the Macintosh.
Which it surely was in some ways in the early days, but not due to
preemption. The only multitasking the original Macintosh had was
desk accessories. Later Switcher provided some hooks that apps could
use to execute code while they were switched out, but general-purpose
multitasking for the Mac (albeit cooperative) didn't appear until
Multifinder, and preemptive multitasking only appeared much more
recently.
Eric