Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Enthusiast Zone > Classic Macs and Mac OS > To what extent is Mac OS 9.x multi-tasking?

To what extent is Mac OS 9.x multi-tasking?
Thread Tools
MSME
Junior Member
Join Date: Jan 2002
Status: Offline
Reply With Quote
Feb 20, 2002, 11:31 AM
 
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
     
P
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status: Offline
Reply With Quote
Feb 20, 2002, 12:25 PM
 
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.
     
RGray02
Junior Member
Join Date: Sep 2001
Status: Offline
Reply With Quote
Feb 22, 2002, 06:01 PM
 
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.
http://www.****microsoft.com - "Free your mind, and your OS will follow"
     
[APi]TheMan
Mac Elite
Join Date: Sep 2001
Location: Chico, CA and Carlsbad, CA.
Status: Offline
Reply With Quote
Feb 22, 2002, 06:11 PM
 
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 Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 07:19 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,