Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!lll-winken!taco!hobbes.catt.ncsu.edu!kdarling From: kdarling@hobbes.catt.ncsu.edu (Kevin Darling) Newsgroups: comp.sys.amiga.advocacy Subject: Re: difference between 7.0 and amiga multitasking Message-ID: <1991Jun19.081828.1438@ncsu.edu> Date: 19 Jun 91 08:18:28 GMT References: <330863744000293E@FANDM> <65@ryptyde.UUCP> <1991Jun18.181924.23875@mintaka.lcs.mit.edu> Sender: news@ncsu.edu (USENET News System) Organization: North Carolina State University Lines: 39 >>>The big difference is that on a mac, the frontmost program gets all the >>>time it wants, and has control over how much time it gives to other >>> programs. This is not like the amiga, where the task's priority >>> determines the timesharing. >> >>You're wrong. There's nothing special about the frontmost app. The OS only >>gives the frontmost app more processing power because it has to do user >>I/O. It doesn't have any more control than any other program. > >No, there is definately something special about the front most app. >It can control the CPU for a long as possible. True, but that's not "special"... as _any_ application running, even in the background, can keep the cpu as long as it wishes, once it gets control. What _is_ "special" about the Mac foreground application is that either a non-null event or a sleep timeout will always return control to the _front_ app (once the backgrnd app allows it). That's not true for any other app. Kind of a wimpy definition, but there you have it :-). > What would this do on a Mac? > main() > { int foobar; for(;;) foobar++; } > >My guess is, this program would bring the machine down if it was in front. Yes. Something to note tho: in certain situations all scheduling methods degrade into looking like "something else" :-). For example, if the above program had the highest priority on an Amiga, you'd also get lockup. For that matter, to any Amiga program running with a lower priority, its view of the world above it is that of a cooperative multitasking system... because it only gets to run when higher priority tasks _allow_ it to, by their doing IO or otherwise giving up time voluntarily. But that may get us into the realm of aging vs non-aging discussions, and we already went thru that six months ago, didn't we :-) :-). cheers - kevin