>3 - afaik multitasking on mac doesn't excist so what's the point

I was working at Apple when they introduced the first Mac system that 
did multitasking (not counting A/UX). The best I can remember, it was 
in 1989, but it may have been 1988, seven years before Windows 95.

The style of multitasking on Mac systems other than Mac OS X and A/UX 
(which was the first Unix system that Apple did for the Mac) is 
cooperative multitasking. The idea is that each application can tell 
the system when it wants some more time. If the programmer doesn't do 
anything awkward, the default is every second I think. That means 
that an application sitting in the background will be polled once a 
second to give it a chance to do anything it needs to do.

If anything happens in the meantime, like the user moves a window and 
exposes some of the background application window, it will get a 
message from the system to tell it to update its contents.

The good thing about cooperative multitasking is that you can bias 
your applications (you can't, but the kind programmer can) to take 
just what they need from the system. For example, a kind clock 
application would only take a tiny bit of processor time once every 
second. A communications program might feel it needs more frequent 
updates from the system, but it need not hog the CPU as much as it 
could. A renderer would probably hog away, although you'll notice 
that some applications, Media Cleaner for example, will revert to not 
hogging if the user moves the mouse.

The other multitasking is pre-emptive multitasking. Here the 
applications can't hog the CPU, the system dishes out equal time to 
every one. The advantage would be things like you can continue typing 
while some graphics heavy window in the background is refreshing. Or 
you can hold down a menu for a while, and still the video will play. 
It can appear to be more people friendly to be pre-emptive, but it 
may mean that some applications are given far more time than they 
ever need.

It's always been amusing to follow the non-multitasking claims 
against the Mac. When System 7 came out, it was heralded as being the 
first multitasking Mac OS. One of the set demos people were doing at 
Apple was to open up five or six applications, all of them doing 
something at the same time. Once the audience were impressed with the 
multitasking, the presenter would confess "and this is System 6!".


Meanwhile, there is a Director related thing to know. Rather than 
Macromedia dictating that your projector should get all the CPU time, 
there is a Mac specific function called CPUHogTicks that you can set. 
By playing with this you can create a more multitasking friendly 
application, or you can go for all out performance by hogging all the 
CPU time.


-- 

[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to