Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!timbuk!cs.umn.edu!kksys!edgar!mmug!p7.f55.n282.z1.fidonet.org!Erik.Funkenbusch From: Erik.Funkenbusch@p7.f55.n282.z1.fidonet.org (Erik Funkenbusch) Newsgroups: comp.sys.amiga.advocacy Subject: How do we change the scheduler? (Was Message-ID: <1.279F39F8@mmug.mn.org> Date: 24 Jan 91 02:48:59 GMT Sender: ufgate@mmug.mn.org (newsout1.26) Organization: FidoNet node 1:282/55.7 - Mike's Diner, Blaine MN Lines: 71 SJ> From: jsd@boreal.rice.edu (Shawn Joel Dube) SJ> Date: 21 Jan 91 17:05:57 GMT SJ> Organization: Rice University SJ> Message-ID: <1991Jan21.170557.25934@rice.edu> SJ> Newsgroups: comp.sys.amiga.advocacy SJ> In article <1991Jan21.101849.13078@eecs.wsu.edu>, SJ> pcooper@eecs.wsu.edu (Phil Cooper - CS495) writes: >|> >|> >|> >|> *=Cycle >|> >|> >|> >|> Amiga Time ---> >|> >|> Task A |******** ******** ******** ********> >|> >|> Task B | ******** ******** ******** > >|> >|> >|> >|> Mac >|> >|> Task A |***** ** ****** ************* ** ***> >|> >|> Task B | *************** ***** * ** ** > >|> >|> >|> >|> In my own opinion cooperative multitasking is not multitasking, simply >|> >|> because its not very transparent. >|> > >|> >Seriously, I think cooperative is better. Take the following for example: >|> >Two task are running. One is waiting on a keypress (via OS subroutine) >|> >and the other is doing some serious number-crunching. With SJ> the Amiga, valuable >|> >time is being spent doing nothing (waiting for a keypress). >|> >|> Of course, this is just wrong... If one task is waiting on a key press, >|> no CPU time is consumed by it. If the program is written correctly (without >|> a polling loop or some such nonsense), it merely waits. When the key is >|> pressed, the task is signalled and it continues. So, as you SJ> can see, no time >|> is being wasted. Also, please check your facts before posting SJ> trash like this. >|> It really angers me (and others) when misinformation is spread under the >|> pretense of truth. SJ> Assuming the chart above is correct, time SJ> is allocated to each process equally. SJ> Any idiot can see that Task A gets just SJ> as much time as Task B, even if Task A SJ> is simply waiting for a keypress. SJ> I didn't make the chart, so if it's SJ> wrong, don't blame me for spreading false SJ> information. Blame the person who made the chart. No, that chart is NOT quite correct, whenever a task needs a resource such as a key pressed or disk I/O it gives up it's processor time with a Wait() instructionn. in this case it's like co-operative multi-tasking, however the big difference is that when task A (or B) has used up it's aloted time it switches to the next task, wheather the program is ready or not. >|> >|> Have a nice day... >|> Phil Cooper SJ> -- SJ> rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr SJ> r ___ _ r SJ> r /__ | \ N U K E I R A Q ! ! ! r SJ> r ___/hawn |__\ube ----------------------- r SJ> r jsd@owlnet.rice.edu r SJ> rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr SJ> n