[comp.sys.mac.system] Apple HW & SW questions

soeryant@frith.msu.edu (Herr Soeryantono *) (06/14/91)

I have often heard that the MacOS is not a TRUE MULTITASKING one.
On the other hand UNIX is. Can someone explain the difference to
me in layman's terms?

I've also heard that the MacOS (running on 68030 and 68040) not 
being TRUE MULTITASKING is not Motorola chip's fault but Mac ROM's.
After all Suns use 68020/68030...?

Is this true, and why isn't Apple improving upon it. Instead of
putting 68040 in new machines (as rumoured) Apple should instead
concentrate in making its existing machines a TRUE MULTITASKING one
to compete with Sun/HP/Apollo folks (and making me very happy).
Agreed?

Best,

Herr Soryantono
-- 
*******************************************************************************
* Until the laws of Thermodynamics are repealed, I shall still continue to    *
* relate outputs to inputs.    -Paul Anthony Samuelson                        *
*******************************************************************************

oleary@ux.acs.umn.edu (Doc O'Leary) (06/14/91)

Well, I didn't want to respond to this and start a flame war, but I'm in
a responding kind of mood.


In article <superhugelongnumber> soeryant@frith.msu.edu writes:

>I have often heard that the MacOS is not a TRUE MULTITASKING one.
>On the other hand UNIX is. Can someone explain the difference to
>me in layman's terms?

OK, layman's terms.  Let me use an analogy with cars (most laymen know
cars better than they know computers).  You know how some cars have manual
transmission and some have automatic?  With a manual transmission, the
car runs in the gear you want it to, but with automatic the cars runs in
the gear the car wants to.  I had a friend that had a nice pickup truck
with automatic transmission.  The only problem was that, on the highway,
the truck would often shift gears around the 65mph speed limit.  At 64 it
would shift down; at 65 it would shift up.  My friend doesn't like to break
the law, so he tried to keep it around 65, but found it difficult because
the truck was doing all of that shifting.

"True" multitasking is like an automatic transmission, it will shift (allow
programs you're not currently working on to steal CPU time) on you when you
would rather it didn't.  Co-operative multitasking (like the Mac has) is like
manual transmission, letting you use more of the CPU for the task you're
actually doing.

>I've also heard that the MacOS (running on 68030 and 68040) not 
>being TRUE MULTITASKING is not Motorola chip's fault but Mac ROM's.
>After all Suns use 68020/68030...?

The Macintosh is a user-friendly computer, thus the OS was designed in
such a way as to allow the process the user is working on more CPU time,
since the user will often need feedback when doing something (it is not
user-friendly if you move your mouse and the cursor positon doesn't update
quickly because some process in the background decided it need a huge chunk
of CPU time).  This is not in the ROM, but is part of the well-designed OS.

>Is this true, and why isn't Apple improving upon it. Instead of
>putting 68040 in new machines (as rumoured) Apple should instead
>concentrate in making its existing machines a TRUE MULTITASKING one
>to compete with Sun/HP/Apollo folks (and making me very happy).
>Agreed?
>
>Herr Soryantono

Herr, Herr, beautiful Herr :-).  An SE or Classic with an 8MHz 68000 processor
is not a workstation, nor does Apple try to market them as workstations.
They are PERSONal computers.  Note the PERSON.  That is part of the equation,
you know.  Or do you . . .

         ---------   Doc


**********************   Signature Block : Version 2.6  *********************
*                                     |                                     *
* "Was it love, or was it the idea    |   It's hard to look cool with your  *
*  of being in love?" -- PF           |   arm Super-Glued to your forehead  *
*    (BTW, which one *is* Pink?)      |                                     *
*                                     |   --->oleary@ux.acs.umn.edu<---     *
******************   Copyright (c) 1991 by Doc O'Leary   ********************

rhyde@hubbell.ucr.edu (randy hyde) (06/14/91)

OH NO!  Not the start of the TRUE MULTITASKING Thread again!

rhyde@hubbell.ucr.edu (randy hyde) (06/14/91)

Sorry, I *teach* operating systems and I fail to see the analogy with
automatic and manual transmissions.  The user doesn't really control
the process switching, the individual apps do.  Sure, the foreground app
gets the highest priority, and the user selects that, but the user doesn't
assign priorities and doesn't control what app is actually running at any given
instant and what causes things to shift gears.

BTW, Mac O/S = MULTIPROGRAMMING, not multitasking.  "Cooperative multitasking"
and "Nonpreemptive multitasking" are oxymorons.  We've had the terms to
describe
what the Mac does for over 30 years.  It's MULTIPROGRAMMING.
I'm not religious about this, I teach my students about CM and NM as synonyms
for multiprogramming.  However, you'll all sound more intelligent if you use
the proper terms.

Multitasking ("TRUE" or otherwise) implies preemption.

Multiprocessing implies multiple processors.
*** Randy Hyde

price@uclapp.physics.ucla.edu (John Price) (06/14/91)

In article <1991Jun13.221640.11341@msuinfo.cl.msu.edu>, soeryant@frith.msu.edu (Herr Soeryantono             						      *) writes:
>I have often heard that the MacOS is not a TRUE MULTITASKING one.
>On the other hand UNIX is. Can someone explain the difference to
>me in layman's terms?

Since I'm a layman, those are the only terms I know.  :)  Here's how it was 
explained to me (I'm sure someone will correct me...):

The difference is in how you define multitasking.  To be very precise, no 
single processor can be truly multitasking, since it can only execute one 
instruction at a time.  A better word would be multischeduling.  It's sort 
of like eating and talking at the same time.  Yes, you can do it, but you 
can't do both simultaneously, and each task interferes with the other - 
either you talk slower, or you spit food all over the place.

The word multitasking is, however, firmly entrenched in the minds of people 
using computers, so we'll use that one.  Macs *can* multitask.  Case in 
point: Superclock.  While you sit there, typing away at your word 
processor, the time in the upper right of the screen changes every minute.

A more practical example: you can, given the right software, download a 
file with a modem, print out something on your printer, and play a game all 
at the same time, and that time will *still* change every minute.  Don't 
tell me it can't be done - I do this with a *Plus*!!!

Mac multitasking is, however, different than multitasking on other systems 
(Unix, VMS, etc.).  Those other, Brand X operating systems, use what's 
called preemptive multitasking.  The Mac uses cooperative multitasking.  
(Note to gurus: this is where I get fuzzy...)  In preemptive multitasking, 
the operating system dictates how much CPU time each process receives, 
allocated according to some algorithm defined by the person running the 
system.  In cooperative multitasking, the programs themselves determine how 
much CPU time they get.  

Preemptive multitasking is much easier for the application programmer, 
since {he|she|it} doesn't have to worry about resource allocation - the 
system software takes care of that.  However, the system itself, since it 
has to deal with all this, is much larger.  Cooperative multitasking, on 
the other hand, is much harder for the application programmer (how much 
harder I don't know), who must worry about resource allocation, but results 
in a smaller system file.

As to which is "better", it's sort of a silly argument.  If you're basing 
your computer buying decision on which system supports which kind of 
multitasking, instead of which applications you can run on the machine and 
how well those applications fit your needs, then you're missing the point.

           John Price * * * * price@uclapp.physics.ucla.edu
           Where there is no solution, there is no problem.

russotto@eng.umd.edu (Matthew T. Russotto) (06/14/91)

In article <15262@ucrmath.ucr.edu> rhyde@hubbell.ucr.edu (randy hyde) writes:

>Multitasking ("TRUE" or otherwise) implies preemption.
>
>Multiprocessing implies multiple processors.

But multiprogramming implies that the programs know something about each
other, which in the mac OS.  I'm going to be a real pain here and say that
the Mac OS is PREEMPTIVE MULTITASKING-- a program is pre-empted whenever it
asks for user input.
--
Matthew T. Russotto	russotto@eng.umd.edu	russotto@wam.umd.edu
     .sig under construction, like the rest of this campus.

rhyde@hubbell.ucr.edu (randy hyde) (06/14/91)

>> A program is pre-empted whenever it asks for use input

NO IT IS NOT!  It voluntarily gives up the CPU by calling the O/S (or toolbox,
or whatever you want to call it).  This is what multiprogramming is all about.
Processes keep the cpu until they: (a) quit.  (b) Perform some I/O. or (c)
explicitly give up the cpu.  This is exactly how the current Mac O/S operates
(unless Apple has dramatically changed things since I last looked at it.
Preemption means you can stop a process at any point (via interrupts).  Either
by a timer, a higher priority job showing up in the ready queue (which
generally
occurs on an I/O complete interrupt), etc.
*** Randy Hyde

Lets not propogate errors here folks....
You can correct me if I'm wrong, but please read up on the subject first.
Reference:  The Dinosaur Book.

gross@umiami.ir.miami.edu (Mondo) (06/15/91)

> As to which is "better", it's sort of a silly argument.  If you're basing 
> your computer buying decision on which system supports which kind of 
> multitasking, instead of which applications you can run on the machine and 
> how well those applications fit your needs, then you're missing the point.

Finally!  Someone who's finally realized the whole point to this stupid
back and forth whining about who's got what.

If you really really really can't live without knowing that yer OS 
pre-emptively multitasks, then don't buy a Mac!  Buy a bloody Unix box. 
Or buy an Amiga..(and please let's not get that thread started again!)  Or
get OS/2...there you have multitasking AND multithreading!  Oooo..can you
stand it knowing that yer OS can't multithread? :)

Even better...get a Touchstone Delta...now here you have it all...multitasking
, multithreading, AND multiprocessing!  Of course, you'll need a grant from
the Department of Defense and a few million dollars...but hey...you won't ever
have feature-envy ever again...

Until the next release of the Mac OS. ;)

> 
>            John Price * * * * price@uclapp.physics.ucla.edu
>            Where there is no solution, there is no problem.
-- 
Jason Gross     Comp Sci Ugrad     University of Miami     Class of '91 (?)
===========================================================================
Hey, wanna save the world? | Got sumtin' to say?        gross@umiami.bitnet
Nuke a Godless, Communist, | Pick and choose!     gross@umiami.ir.miami.edu  
gay whale for Christ.      |                      gross@miavax.ir.miami.edu
              - Anonymous  |                     jgross@umbio.med.miami.edu
===========================================================================
               The University of Miami has a lovely fountain. 

ewright@convex.com (Edward V. Wright) (06/19/91)

In article <1991Jun14.220813.10641@umiami.ir.miami.edu> gross@umiami.ir.miami.edu (Mondo) writes:
>Oooo..can you
>stand it knowing that yer OS can't multithread? :)
 
Not to worry.  The current issue of Develop contains a thread package for the Macintosh. :-)