clive@drutx.ATT.COM (Clive Steward) (03/16/88)
From article <7670@apple.Apple.Com>, by goldman@Apple.COM (Phil Goldman): > Again, it depends on what point of view you take. MF offers many advantages > for the user. It offers most of the same advantages as preemptive > multitasking for well-behaved programs. Here may be a big point that keeps getting missed. Apple is probably shyer than they should be about Multifinder's real abilities. This pre-emption issue vs. Unix seems just about pure eyewash -- the two systems look about equally (non-)pre-emptive. The basic structure of (almost completely all) Macintosh programs is an event loop, with a system GetNextEvent () call made every few tens of milliseconds. Then, Multifinder implementing the (possible) context switch at this point has nearly the same effect as the way the traditional Unix kernel works, doing so at every system call completion or wait-for-service. The timing is likely to be similar since Unix kernel calls don't typically occur nearly as often as Mac Rom calls. Unix is not 'pre-emptive' at all, unless a process stays in it's own computation longer than the 'lightning bolt' timer interrupt period, which has traditionally been a 1 second interval. The only differences then, are that a Mac context switch is less efficient than most Unix ones (until you hit swapping or heavy paging or virtual memory or...), and that there isn't any hardware memory management/protection to keep processes from writing on each other through programming errors. The memory problem is much less severe than I personally thought it would be, probably because all Mac programs are completely relocatable and often are relocated many times during execution, so have to be done right to begin with, or wouldn't run single-tasked either. The end result is that Multifinder multitasking gives useful context switching at about the graininess of a typical real working Unix installation, except for a non-network-dependent private workstation (for $25k plus). Add typical networking to the workstation, and you're usually in about the same boat, as the network gets used. Yes, I'm sure there are exceptions, but does anyone deny the general rule? In other words, it works very, very well, and is in appearance neither better nor worse. I use both every day, and through Mac multitasking, use them both well together. Incidentally, there was a note a few days ago where a person went on about 'he had used Multifinder', and the proceeded to describe lengthy delays from mouse down on the resize icon of a background window, to resize of the window. Of course there may be such a circumstance, but generally, there is no such wait. In fact, the process he described takes two mouse hits -- one to foreground the window, and another to activate the resize. Both occur effectively instantly (<= one-tenth second, reflex time), in every case I run into day-to-day, with 5 largish programs Multifindered on a standard 2.5 mb MacPlus. I didn't answer directly because of the endless and territorial nature of most postings. I think my advice still stands -- please try out the Mac, with Multifinder, with any of the public domain init modifiers which give all the pop-up _and_then_ hierarchical menuing a person could desire -- it's really all there, it's user-modifiable, and it works just fine. Clive Steward