Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!apple!heksterb From: heksterb@Apple.COM (Ben Hekster) Newsgroups: comp.sys.mac.system Subject: Re: True Multitasking Summary: Preemptive multitasking is the answer to *all* your problems! (?) Message-ID: <48122@apple.Apple.COM> Date: 15 Jan 91 22:00:41 GMT References: <19019@shlump.nac.dec.com> Organization: Apple Computer Inc., Cupertino, CA Lines: 44 awessels@ccwf.cc.utexas.edu (Allen Wessels) writes: > [...] What exactly do you need your machine to do that "true" multitasking > would allow? long@mcntsh.enet.dec.com (Rich Long) responds: > Oh...let's see. How about being able to switch out of the Finder during copy > operations or disk formatting? How about not having one's download wedge > because a menu was held down too long? How about getting decent foreground > performance with something running in the background that is not a "good > citizen"? How about real print spooling? But these things are basically unrelated to the type of multitasking involved. Non-preemptive multitasking implies some judgment on the part of the application programmer as to the desirability of relinquishing the processor at a given stage in the program. With preemptive multitasking these decisions are always made by a scheduler using some fixed algorithm. In my opinion, a well-written application has the potential of having a much finer and well-tuned use of the processor than probably most general schedulers. I am certainly not disputing that this requires more effort of the application programmer. As to your observation regarding the effect of menu operations (mouse drag operations in general) on background tasks--these are typically `high- intensity' operations that require high feedback fidelity, so suspending background applications seems the correct thing in these cases. Have you ever experienced mouse operations in preemptive multitasking environments? My experience with X Window on high-performance workstations (various window managers), for instance has been that feedback is frequently so *awful* (intermittent, or no reaction to mouse movements at all for periods on the order of many seconds) as to make complicated interactions extremely difficult. (No flame on X intended, just an observation on the workstation environment) If you want to experiment, you might try setting up MenuHook and DragHook to a little routine that calls WaitNextEvent, and see if performance is more to your liking. _______________________________________________________________________________ Ben Hekster | "I don't want to start any blasphemous | rumors/ but I think that God's got a AppleLink: heksterb | sick sense of humor/ and when I die Internet: heksterb@apple.com | I expect to find Him laughing" BITNET: heksterb@henut5 | --Depeche Mode [Some Great Reward]