Xref: utzoo comp.sys.amiga.misc:67 comp.sys.amiga.advocacy:58 Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!mit-eddie!wuarchive!udel!ee.udel.edu From: new@ee.udel.edu (Darren New) Newsgroups: comp.sys.amiga.misc,comp.sys.amiga.advocacy Subject: Re: How do we change the scheduler? (Was Re: Multitasking at home...) Message-ID: <41681@nigel.ee.udel.edu> Date: 14 Jan 91 21:32:10 GMT References: <7504@sugar.hackercorp.com> Sender: usenet@ee.udel.edu Followup-To: comp.sys.amiga.misc Organization: University of Delaware Lines: 29 Nntp-Posting-Host: estelle.ee.udel.edu In article jimb@pogo.ai.mit.edu (Jim Blandy) writes: >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's worse than this. Try starting up multifinder, hypercard, and (say) tetris. I just did this last night because I wanted to play tetris but the owner of the machine had the hypercard stack open. Anyway, the music was all messed up and the blocks fell at different speeds, making it difficult to play. I then realised that hypercard must be sucking up CPU time even though it was not active, it was not running anything, and the mouse was not near the window. I confirmed this by closing hypercard and suddenly everything was fine. On the Amiga's exec, if a task is waiting for input, it does not take any CPU time until the input is ready. With cooperative multitasking (at least as implemented on the Mac), each application is asked "are you ready yet?" and each must answer, and this takes noticable CPU time away from the tasks that *are* ready. It also becomes easy to see where tasks can block other tasks, as the music plays fine if you hold open a menu, and totally stops when a floppy is inserted (until the floppy icon comes up). Anyway, by designing in the multitasking on the Amiga, it is possible for a task to totally give up the CPU and get it back later when it needs it. On the Mac, each task must constantly use CPU time to see if it needs more. -- Darren -- --- Darren New --- Grad Student --- CIS --- Univ. of Delaware --- ----- Network Protocols, Graphics, Programming Languages, Formal Description Techniques (esp. Estelle), Coffee, Amigas ----- =+=+=+ Let GROPE be an N-tuple where ... +=+=+=