Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rutgers!cbmvax!valentin From: valentin@cbmvax.commodore.com (Valentin Pepelea) Newsgroups: comp.sys.mac.system Subject: Re: PPC, IAC, and True Multitasking (tm) Message-ID: <13888@cbmvax.commodore.com> Date: 20 Aug 90 07:02:17 GMT References: <1990Aug3.040513.14844@d.cs.okstate.edu> <2760@bridge2.ESD.3Com.COM> Reply-To: valentin@cbmvax (Valentin Pepelea) Organization: Commodore, West Chester, PA Lines: 53 In article <2760@bridge2.ESD.3Com.COM> ngg@bridge2.ESD.3Com.COM (Norman Goodger) writes: > > Despite the -:)'s, I say there is no such thing as "True > MultiTasking", you either have "pre-emptive" or "cooperative" > MultiTasking. Take your pick... Actually, you either have pre-emptive multitasking, or you have nothing. Taking it your way, my Apple II has cooperative multitasking since it allows me to load two specially written executables at two different locations, which then branch into each other when they have completed part of their task. Of course the Mac has much more built-in support for such a cooperative effort, but multitasking is not a feature which can be quantitized. Either you have it, or you don't. An operating system has a pre-emptive scheduler, or it doesn't have one at all. There is no such thing as a cooperative scheduler. The term cooperative is used when there is an absence of a scheduler. > Pre_emptive Multitasking I suspect will slow down performance > of current Mac's to much to be acceptable. You misunderstand the concepts behind (pre-emptive) multitasking. The idea is to have the kernel interrupt the task in progress if another task of a higher priority is ready to run or if the quantum of the current one is over. If there is no other other task ready to run, task switching never occurrs. Therefore, whether each task is responsible for lanching cooperatively other tasks, or whether the operating system does that, has nothing to do with the speed at which these tasks will run. Factors which could affect the speed are 1. the size of the time slice (quantum) 2. overhead of the dispatcher 3. the memory model (independent or common address spaces, memory protection, virtual memory, etc.) If anything, a preemptive operating system will be faster, because it will perform task switching only when necessary. The preemptive operating system will also allow the user to set task priorities. Thus if the user wants task B to run only when task A is waiting for an event to complete, all it has to do is lower its priority below that of task A. Such is the nature and purpose of preemtive schedulers. > Lets stamp out the True-MultiTasking rumor...there is no such thing. Thank you for your support. Valentin -- The Goddess of democracy? "The tyrants Name: Valentin Pepelea may distroy a statue, but they cannot Phone: (215) 431-9327 kill a god." UseNet: cbmvax!valentin@uunet.uu.net - Ancient Chinese Proverb Claimer: I not Commodore spokesman be