|
|
To what extent is Mac OS 9.x multi-tasking?
|
|
|
|
Junior Member
Join Date: Jan 2002
Status:
Offline
|
|
I was sitting in my operating systems class yesterday as my professor was going off on an Apple bashing tangent. His main point was that Apple had done the right thing (way too late) by making X a Unix based OS, since Unix is a multi-user, multi-tasking OS. He was saying that all previous Mac OS's did not support any multi-tasking, and were essentially on par with Dos 1 in terms of handling multiple processes. Does anybody know if this is anywhere near correct? Where can I find out more about some of the inner workings of OS 9.x?
MSME
|
Black MacBook C2D 2.0 Ghz, stock, Powerbook 15" 1Ghz (Al), iPhone 8 GB
|
|
|
|
|
|
|
|
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status:
Offline
|
|
The standard multitasking in Mac OS 9 and below was essentially a hack by a pair of college kids. The standard event loop was modified so that it had to release control of the processor to the OS, which could then give it to some other program. It is possible for a program to not give control to the system at all (like games often did) or less often (like IE did, to make itself appear faster). This is called cooperative multitasking.
"Real" multitasking is preemptive, meaning that the OS can give and take back the CPU as it wishes, and processes must accept this. Standard programs on classic Mac OS did not work this way, but it was possible to make preemptive background threads. Play a song in SoundJam to see how it could be done. That said, there are advantages to cooperative multitasking as well, in cases where you need to get control of the CPU at some specific time. Burning a CD, emulating something like in Virtual PC, music and video editing are exmples of this. The faster the CPU, however, the bigger the advantage of preemptive multitasking.
If your professor meant "preemptive multitasking", then he was almost right - a mouse could starve on the difference. If he did not make this distinction, then he was wrong: just run two programs side by side to prove this to yourself. Personally, I always felt that the biggest poblem with Classic Mac OS was the lousy memory handling, not multitasking.
|
The new Mac Pro has up to 30 MB of cache inside the processor itself. That's more than the HD in my first Mac. Somehow I'm still running out of space.
|
|
|
|
|
|
|
|
Junior Member
Join Date: Sep 2001
Status:
Offline
|
|
MacOS definitely had problems with multitasking, and was absolutely horrible with memory protection. But then again, it makes it REAL easy to create a program that would maximize the benefits of the hardware, and make the OS nothing but a loader, as opposed to something that spawns multiple processes like thread managers, and schedulers. Which is why it is amazingly easy to create a program that blasts straight to the hardware, getting the hardware to do something is easy.
Then again, that benefit is a double edged sword, since now it is possible for a process to corrupt the hardware space(or better yet, crash itself before relinquishing control), bad enough the system would HAVE to reboot. But given a good programmer, cranking out a good MacOS app is a lot easier than Winblows.
Can't argue with the fact that computing has shifted to a space where there are many programs competing for the same CPU time. The Mac was designed to one thing at a time well.
Just a way of looking at things.
|
|
|
|
|
|
|
|
|
Mac Elite
Join Date: Sep 2001
Location: Chico, CA and Carlsbad, CA.
Status:
Offline
|
|
Originally posted by P:
<STRONG>
[snip]
The standard multitasking in Mac OS 9 and below was essentially a hack by a pair of college kids. The standard event loop was modified so that it had to release control of the processor to the OS, which could then give it to some other program. It is possible for a program to not give control to the system at all (like games often did) or less often (like IE did, to make itself appear faster). This is called cooperative multitasking.</STRONG>
[/snip]
I noticed this in IE on Classic MacOS. And it pisses me off SO much. When loading semi-large pages in the browser and you try to background IE, you can't... you simply have to wait. God that bugs me. Sometimes I wish I could run OmniWeb in MacOS 9. Grrr.
|
"In Nomine Patris, Et Fili, Et Spiritus Sancti"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Forum Rules
|
|
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
|
|
|
|
|
|