[rescue] Mac Appliance

rescue at sunhelp.org rescue at sunhelp.org
Fri Aug 3 22:02:57 CDT 2001


newell at cei.net writes:

>>  Cooperative multitasking is multitasking in which each process must
>>decide to give up control of the machine periodically...i.e.,
>>user-process-controlled timeslicing.  In preemptive multitasking, the
>>OS maintains control of the machine and "gives" each process
>>timeslices.

>Exactly.  So there's no chance (with coop) of getting interrupted in the
>middle of an operating system call, switching to another task, and having
>the other task re-enter the operating system.  

I think we're back to the vm versus multitasking confusion.

You can't get interrupted during a system call because you're not
running during a system call, the OS is.

The tricky part is when you get interrupted *mid-instruction* and have
to restart the instruction. The 68000 was not capable of this. This only
happens on a page fault. ie: VM.

(The Lisa had a weird homebrew MMU. Don't kow how they dealt with this.
Apollo dealt with it, but at the cost of a second 68000. The Sun-1 did
not deal with it.)

I will accept the argument that going co-operative saved the MacOS
developers some OS complexity, but I think it's more subtle (and
less justifiable. ha.) than what is being discussed here.

Or I'm wrong. Opinions?

>Personally, I think that's fine for simple (Palm) or dedicated (embedded
>project) systems.  I don't think I'd like it one bit on my desktop machine.

Yep.

Further thought: did the original MacOS blur the line between library calls
(Toolbox) and System calls? 

-------- David Fischer --------- dave at cca.org --------- www.cca.org --------
-------- If it wasn't for good luck, I wouldn't have no luck at all. -------



More information about the rescue mailing list