Xref: utzoo comp.sys.amiga.misc:81 comp.sys.amiga.advocacy:76 Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!snorkelwacker.mit.edu!ai-lab!life!jimb From: jimb@pogo.ai.mit.edu (Jim Blandy) Newsgroups: comp.sys.amiga.misc,comp.sys.amiga.advocacy Subject: Re: How do we change the scheduler? (Was Re: Multitasking at home...) Message-ID: Date: 14 Jan 91 19:31:21 GMT References: <17210@cbmvax.commodore. <7504@sugar.hackercorp.com> Sender: news@ai.mit.edu Organization: Free Software Foundation Lines: 35 In-reply-to: burley@geech.ai.mit.edu's message of 14 Jan 91 16:09:25 GMT This discussion makes True Multitasking sound like the True Grail, or True Love. There's an implicit value judgement there, and nobody wants their machine to lack True Multitasking, even if they can't agree on what that actually means. Let's abandon the term, and talk about what actually happens. A Mac running the Multifinder has non-preemptive multitasking; each task voluntarily gives up control. The Amiga does preemptive multitasking; a task may be stopped at any time. It is nice to be able to run other tasks while a task waits for its I/O to complete. The Mac won't do this (will it?); big-machine OS's like VMS and Unix will do this. The Amiga does this. My college OS textbook talks about "strict" and "non-strict" priority systems for scheduling. A strict priority system never runs a lower-priority task when a higher-priority task is runnable. Under a non-strict scheme, lower-priority tasks get less time, but don't starve. Both have their uses, but don't confuse them. The Amiga exec does provide system calls to disable and re-enable multitasking; I imagine this is because Commodore would rather provide a system call than have people non-portably hack it when they need it, but one doesn't need these calls in normal Amiga programming. I think the Amiga support for multi-tasking is a bit cleaner, perhaps because it was in the design early. Separate application heap zones are unnecessary, and processing can go on concurrently with I/O, for example. Backward compatibility is very important to Apple, and this constrains them. -- -Jim Blandy jimb@ai.mit.edu