[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