Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!rutgers!sun-barr!sun!pepper!cmcmanis
From: cmcmanis%pepper@Sun.COM (Chuck McManis)
Newsgroups: comp.sys.atari.st
Subject: Re: Multitasking on the ST
Message-ID: <121858@sun.Eng.Sun.COM>
Date: 16 Aug 89 21:47:17 GMT
References: <8908021826.AA05333@ucbvax.Berkeley.EDU> <15627@watdragon.waterloo.edu> <652@opal.tubopal.UUCP> <471@tw-rnd.SanDiego.NCR.COM> <1066@philmds.UUCP> <482@tw-rnd.SanDiego.NCR.COM>
Sender: news@sun.Eng.Sun.COM
Reply-To: cmcmanis@sun.UUCP (Chuck McManis)
Organization: Sun Microsystems, Mountain View
Lines: 49

In article johnl@tw-rnd.SanDiego.NCR.COM () writes:
>Consider: You are a user of the Spiffy multi-tasking-but-no-
>per-process-memory-protection Machine.  You fire up a ray-trace.  It'll
>finish in 12 hours so you start up a terminal program and download some cool
>PD software from a BBS.  While thats all going on "in the background",  you
>fire up your compiler and start writing a new program.  You run your program
>and it has pointer error which causes random data to scribbled across memory.
>The machine crashes --- badly -- all of the processes on the machine terminate
>and the system reboots.

This is used a lot as an example but it's specious. [Why use a nickel word
when a dollar one will do :-)] Here is another perspective that might 
change how you "view" something like the above situation.

Persons who argue "multitasking-but-no-per-process-memory-protection"
[MBNPPMP] systems are no more or less useful than a
"singletasking-with-Desk Accesories-or-TSR-programs" [SWDAOTP] are
pretty much correct, but they might not see that they both have the
same limitations. If you're desk accessory goes of into hilbert space
you lose the system, if your sidekick TSR writes all over low memory
for some reason you go out to lunch too. Note carefully the
similarities with this situation to the one that John describes.  So
given all this massive similarity, one has to wonder "So why do it one
way or the other?"

The only difference, and it's a big one, is that writing, running, or
starting a desk accessory or TSR type program is "different" than
writing, running, or starting a regular run of the mill program. A
MBNPPMP system has the same model for *all* programs so the distinction
between which is the "main" program and which are the "accessory"
programs goes away. If you want to use the Amiga as an example, you can
think of the workbench screen as a giant desk accessory panel that lets
you pick a desk accessory to start up. Yet, because all programs are
the same to the system, there isn't any problem with starting up the
same desk accessory twice.

The benefits that this buy you are two fold. First, you don't have to 
"install" anything until it's needed. And secondly, because there are
no special cases around the types of programs, as an author and as a 
user, you don't have to "know" what else has happened to the system 
to be confident of working. And these make the system incredibly
flexible. 

I leave it as an exercise for the reader to define which is "better." :-)

--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.
"A most excellent barbarian ... Genghis Kahn!"