Path: utzoo!attcan!uunet!cs.utexas.edu!sun-barr!newstop!sun!coherent!dplatt From: dplatt@coherent.com (Dave Platt) Newsgroups: comp.sys.mac.misc Subject: Re: System Errors, MF --> Why??? Message-ID: <58604@coherent.coherent.com> Date: 29 May 90 02:16:59 GMT References: <6364.266023a1@umiami.miami.edu> <16795@phoenix.Princeton.EDU> <2545@media-lab.MEDIA.MIT.EDU> Reply-To: dplatt@coherent.com (Dave Platt) Distribution: na Organization: Coherent Thought Inc., Palo Alto CA Lines: 55 In article <2545@media-lab.MEDIA.MIT.EDU> adam@media-lab.media.mit.edu (Adam Glass) writes: > > It's different from Unix > > No kidding. Unix is true multitasking. Sigh. Please... in order to reduce the flame-level which seems to appear whenever this topic arises, it'd help a great deal if people would be willing to avoid the use of the phrase "true multitasking". In this context, "true" is a loaded term... it's terribly suggestive. It's also unnecessary... there are more precise words available for the purpose... I prefer "preemptive" to refer to Unix-style multitasking, and Apple seems to prefer "cooperative" to refer to Mac-style multitasking. It's quite arguable that both of these are "true" multitasking... they both allow two or more tasks to be "alive" on one machine at a time. Based on what Apple has said to date, System 7.0 will be MultiFinder- style multitasking... cooperative (nonpreemptive), with no memory protection. Applications will still have to yield time to one another, and will still be able to step on one another's memory if they're not careful. System 7.0 will be only as robust as 6.0.x when faced with applications that stomp on random areas of memory... sometimes it'll recover with an "Application exited unexpectedly", sometimes it'll bomb. Applications which are _not_ MultiFinder-aware, or are fundamentally incompatible with the MultiFinder environment, won't do at all well under 7.0; I imagine that some will be revised, and others will undergo a Darwinian sort of slow death in the marketplace as the number of 6.0.x (or older) systems dwindles. At some point further down the road (7.x? 8.0?), Apple will probably introduce two new features in the Mac operating system... memory protection, and preemptive multitasking. A memory-protected environment can probably be made compatible with most applications... but many utilities (INITs, etc.) may need to be rewritten to live in the new "thou shalt not mess with the System heap" world. Many applications will probably run quite happily in a preemptive- multitasking environment, too... but I predict that Apple will probably require that preemption-aware applications must set a new flag in their SIZE resources (much like the "MultiFinder aware" bit that's there now). Only applications with this bit set will be preempted; there will probably also be some traps that an application can use to enable and disable preemption. This combination of tweaks will allow applications to yield time more gracefully, while ensuring that those applications which tweak low memory don't get preempted when low memory is in a "dirty" state. When 7.0 arrives, life will become rather interesting... there are probably quite a few popular products which won't work correctly in a virtual-memory environment, and will have to be revised. The same is true of future architectural changes such as protected memory environments and preemptive multitasking. I'm just as happy that not all of these are being dumped on us at once!