[comp.sys.amiga] Multitasking at home

pwg8482@isc.rit.edu (P.W. Gousios ) (12/15/90)

In article <1990Dec13.155848.8152@maytag.waterloo.edu> giguere@csg.uwaterloo.ca (Eric Giguere) writes:
>Don't flame me for this, but.... most people DON'T need multitasking on
>their computer.

    Most people don't need a computer... but that is another topic.

>  (Print spooling is about the only thing I can think of
>that the average user will want to do.)

    How about play a game while doing a hard disk backup to tape?
       (don't tell me that all the good games take over the machine)

    How about using both floppys to format a box of disk?
    While printing, and playing background music, and downloading, all of 
    the comp.sys.amiga articles.

    Perhaps you can spend a bit more time thinking about it.
    The disk formatting is enough to impress a lot of people.
    (I sure hate waiting when formatting.)

Pete G.

giguere@csg.uwaterloo.ca (Eric Giguere) (12/17/90)

In article <1990Dec15.031131.17141@isc.rit.edu> pwg8482@isc.rit.edu (P.W. Gousios ) writes:
>    How about play a game while doing a hard disk backup to tape?
>    How about using both floppys to format a box of disk?
>    While printing, and playing background music, and downloading, all of 
>    the comp.sys.amiga articles.

The examples are rather contrived... remember I'm talking about an "average"
user, one who can barely hook up a printer.

>    Perhaps you can spend a bit more time thinking about it.
>    The disk formatting is enough to impress a lot of people.
>    (I sure hate waiting when formatting.)

Oh, I agree, I love being able to format a disk and do something else.  But
it ain't going to be enough to get people to leave their Macs....

People seem to be thinking I'm saying "multitasking is useless".  Not at
all.  Just that most people can function without it.  Ignorance is bliss.
Sure, that's a cynical attitude, but it's not the best computer that wins,
it's the computer with the best marketing....

You know, computers are just like ST:TNG....

	Macintosh == Picard (lots of flair, woos the women, surrenders easily)
    IBM PC == IBM PC (nobody likes him, but he still sticks around and
                     shows up everywhere)
    NeXT == Data (smart piece of machinery, wants everyone to like him)
    Amiga == Wesley (brilliant kid, but whines too much)
    Unix (BSD) == Geordi (just hacks at the source and it works)
    Unix (SVR4) == Worf (quick to take offense, very agressive)

Obviously time to go to bed...

--
Eric Giguere                                       giguere@csg.UWaterloo.CA
           Quoth the raven: "Eat my shorts!" --- Poe & Groening

jet@karazm.math.uh.edu (J. Eric Townsend) (12/18/90)

In article <1990Dec15.031131.17141@isc.rit.edu> pwg8482@isc.rit.edu (P.W. Gousios ) writes:
>In article <1990Dec13.155848.8152@maytag.waterloo.edu> giguere@csg.uwaterloo.ca (Eric Giguere) writes:
>>Don't flame me for this, but.... most people DON'T need multitasking on
>>their computer.
>    Most people don't need a computer... but that is another topic.

Hm, I multitask most often in the following manner:
uploading/downloading stuff to/from bbses or work while playing nethack,

Run a digitizer and a paint program at the same time, or my frame buffer
software (takes forever to process big images on a 68000 :-) and a paint
program.

--
J. Eric Townsend     Internet: jet@uh.edu    Bitnet: jet@UHOU
Systems Mangler - UH Dept. of Mathematics - (713) 749-2120
"If you are the system administrator and this is the first time you are
logging into your system, use the login name root." -- IBM RS/6000 docs

Lee_Robert_Willis@cup.portal.com (12/20/90)

In article <1990Dec13.155848.8152@maytag.waterloo.edu> giguere@csg.uwaterloo.ca (Eric Giguere) writes:
>Don't flame me for this, but.... most people DON'T need multitasking on
>their computer.


Most people *DO* need multitasking!!!  They just don't know that they need
it because they've never experienced it.  

Do you realize what an icredibly huge pain in the arse it is to have
to exit out of a word processor just to check whats on a disk?  
Exiting program A because the user needs to a utility in program B happens
all the time in the MSDOS world.  This is why MACs MultiFinder is so
popular.

True multitasking is even better, since my application can number crunch,
paginate, spell check, update databases, etc. without making me wait.

I think anyone who works with a multitasking machine for any significant
length of time will never want to go back.  (Having to exit an MSDOS
program never bothered me 'til I got my Amiga)

Lee		Lee_Robert_Willis@cup.portal.com

awessels@ccwf.cc.utexas.edu (Allen Wessels) (12/21/90)

In article <37101@cup.portal.com> Lee_Robert_Willis@cup.portal.com writes:

>True multitasking is even better, since my application can number crunch,
>paginate, spell check, update databases, etc. without making me wait.

OK, guys.  I've been following the group for a while since I've been thinking
of getting a 500 or 2000.  Just exactly what does the Amiga's true multitasking
let me do (other than formatting disks) that I can't do on my Mac?

(Please route Mac flames to dev/null.  I'm interested in adding an Amiga to my
computing resources, not replacing my Mac.)

daveh@cbmvax.commodore.com (Dave Haynie) (12/21/90)

In article <37101@cup.portal.com> Lee_Robert_Willis@cup.portal.com writes:
>
>In article <1990Dec13.155848.8152@maytag.waterloo.edu> giguere@csg.uwaterloo.ca (Eric Giguere) writes:
>>Don't flame me for this, but.... most people DON'T need multitasking on
>>their computer.

>Most people *DO* need multitasking!!!  They just don't know that they need
>it because they've never experienced it.  

Actually, it goes farther than that.  Most people EXPECT multitasking.  It's
only certain computer people who have learned to put themselves into the
extremely unnatural singletasking mindset.  

Think of it this way.  Workbench, Finder, whatever are metaphores for a desk
top, workbench, whatever -- essentially a work surface on which to interact
with program objects.  Look at your real work surface.  Did it ever occur to
you that you couldn't use a pencil or stapler just because you were currently
using the phone?  Of course not!  You'll find the same thing, in most cases,
doesn't occur when a computer ignorant person plays around with Workbench.  
It's quite natural, for example, to click on the "Boxes" demo, then click on
the "Lines" demo.  No one would ever think of it being necessary to close the
Boxes demo before opening the Lines demo unless they had learned that most
computers work that way before playing with an Amiga.

>I think anyone who works with a multitasking machine for any significant
>length of time will never want to go back.  (Having to exit an MSDOS
>program never bothered me 'til I got my Amiga)

I think you're right.  And the reason is, humans don't naturally singletask,
so you're much more artifically constrained in a singletasking environment
than you are in a multitasking environment.  Once you get used to being
free of any unnatural constraint, you rarely welcome it back.

>Lee		Lee_Robert_Willis@cup.portal.com
-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
		"I can't drive 55"	-Sammy Hagar

ckp@grebyn.com (Checkpoint Technologies) (12/21/90)

In article <41689@ut-emx.uucp> awessels@ccwf.cc.utexas.edu (Allen Wessels) writes:
>OK, guys.  I've been following the group for a while since I've been thinking
>of getting a 500 or 2000.  Just exactly what does the Amiga's true multitasking
>let me do (other than formatting disks) that I can't do on my Mac?

Given the memory, you can choose any combination of applications and run
them concurrently.  It is like MultiFinder in that respect.  There are
some exceptions. Most games are written to prohibit multitasking, for
better performance.

Unlike Multi-Finder, the Exec controls the execution of tasks in a
pre-emptive fashion, meaning that one application doesn't have to
explicitly "give up" in order to run the next.

Tasks are given "priorities", so that higher priority tasks will take
precedence over lower priority tasks. This is used to good effect by
the user input tasks and Intuition, and provides superb input response.

Finally, IO operations (including keyboard, screen, serial, parallel,
floppy, HD, mouse, joystick, what have you) are not CPU-polled. Many
are DMA driven (floppy, HD, screen [blitter]), and all will signal
their task when they complete.  This allows tasks to Wait(), so that
they consume no CPU time while their IO operations are underway.

So what, in practice, does this mean?  Just overall better
performance and responsiveness.  There isn't any particular thing that
"true" multi-tasking, versus MultiFinder's co-operative multi-tasking,
offers besides this.  Yes, you can format a floppy and run programs, you
can format two floppies at the same time as well, for the same reason.
The Exec helps to make all the tasks as independent of each other as
they want to be, or to cooperate as much as they want to,  and you don't
find yourself asking silly rhetorical questions such as "WHY must I wait
for this to finish before I can... ?"
-- 
First comes the logo: C H E C K P O I N T  T E C H N O L O G I E S      / /  
                                                                    \\ / /    
Then, the disclaimer:  All expressed opinions are, indeed, opinions. \  / o
Now for the witty part:    I'm pink, therefore, I'm spam!             \/

Darin.Arrick@ijcr.fidonet.org (Darin Arrick) (12/21/90)

 The Amiga lets you do anything concurrently with anything else,  as 
long as the programs are well-behaved (i.e. the programs go through the 
operating system calls to hardware instead of direct access, don't 
allocate un-needed memory, etc.).
 
Darin Arrick
 
--- QuickBBS 2.66 (Reg)
 * Origin: I.J.C.R. BBS & B'nai No'ach [Ft.Worth, Texas] (1:130/49)

--  
Darin Arrick - via Fidonet node 1:130/49
UUCP: ...!merch!ijcr!Darin.Arrick
INTERNET: Darin.Arrick@ijcr.fidonet.org

lron (12/23/90)

In article <54.27730FA6@ijcr.fidonet.org>, Darin Arrick writes:

>
>  The Amiga lets you do anything concurrently with anything else,  as
> long as the programs are well-behaved (i.e. the programs go through the
> operating system calls to hardware instead of direct access, don't
> allocate un-needed memory, etc.).

The program doesn't have to be well behaved.  It just shouldn't go accessing
the hardware without getting exclusive access first.  The operating system
can switch tasks at any time.  I.E. if a program is in the middle of playing
with some hardware the operating system is using as well there can be some
serious problems.  On systems like the Mac the actual task switch is
controlled by the program, which means if a program doesn't want to give the
CPU back all other programs will stop, it also means programs on the Mac have
to be well behaved in order for them to multitask.  Same is true for windows
on a 286 PC as well.

And even MS-Dos programs should dealocate unneeded memory.

If a program is written to print the words "hello world" in an endless loop
and was compiled without changes on a Mac, 286 PC, and an Amiga.  The only
machine that would multitask with that program running would be the Amiga.
The Mac and the PC would stop dead as soon as that programs window is selected
because it isn't written to multitask on those systems.
-----------------------------------------------------------------------------
| Dwight Hubbard,                                       |-Kaneohe, Hawaii   |
| USENET: lron@easy.hiam or uunet!easy!lron             |-GT-Power: 029/004 |
-----------------------------------------------------------------------------

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (12/23/90)

awessels@ccwf.cc.utexas.edu (Allen Wessels) writes:
> Lee_Robert_Willis@cup.portal.com writes:

>>True multitasking is even better, since my application can number crunch,
>>paginate, spell check, update databases, etc. without making me wait.

>OK, guys.  I've been following the group for a while since I've been thinking
>of getting a 500 or 2000.  Just exactly what does the Amiga's true multitasking
>let me do (other than formatting disks) that I can't do on my Mac?

Well, I'm not sure what your Mac can do, but here is a very typical scenario
for me, all running at once (I've got a _lot_ of RAM):

    Terminal session going, highest priority, downloading a series of
    files with kermit from my host site into recoverable ram disk
    storage; this typically takes several hours; I have a slow modem.
    The download status is continually being displayed, and I flip to
    this screen with a keypress occasionally to see how things are
    going.

    On another virtual screen, accessible with a keypress, in a window,
    one of the just downloaded files being unpacked into a recoverable
    ram disk directory for repackaging from .zoo to .lharc to save 20%
    of the storage space.

    In another window, a several hour mail merging program is appending
    newly arrived mail to the nearly 2000 existing mail files on my hard
    disk; this requires occassional attention from me.

    Two small windows controlling formatting the two blank floppies in
    my disk drive onto which to store the reformatted files.

Me? I'm not looking at any of this; I'm either using emacs in a window
that covers all the others to whip up a control script for the next
operation, or writing some new code, or, if all is under control for a
moment, I use the mouse to switch to a third screen, and pick up my
nethack game in progress. Now, granted, there are a lot of cpu cycles
being sucked up here, so the nethack motion is a little jerky, but it's
not a real time game, so that doesn't matter much, and it beats staring
at a screen waiting for something to finish, in a monotasking machine,
or whipping from paralyzed program to paralyzed program with a system
that suspends all but one, or possibly one and a trivial one, processes.

I'd been using BSD job control for a while to spawn background jobs to
do cpu intensive batch work, while I did keypress intensive editing or
gameplay; when the Amiga came out, nobody had to sell me on being able
to keep going with multitasking while the computer was busy, rather than
chairwarming until the computer finished the only job it could run, so I
bought one.

I've done professional software development in the PC-clone universe in
some of the interim, and a 33MHz Compaq under DOS, where I have to wait
for the computer, however fast, to finish it's compile, link, test,
update to the network common RCS files operations, isn't nearly as
productive a platform as an Amiga at a little over 7MHz, where I can
continue to work without waiting for the computer, however slow.

_The_ bottleneck limitation on my productivity is the amount of time I
have available to _actually_ _type_ _code_; on an Amiga, that can be 85%
of my time in front of the computer; on the Compaq, rarely could I
manage 15% of my computer time adding bytes of code.

Supporting my keypresses is very undemanding on a cpu, in fact is is
nearly dead idle when I edit a file, yet under vanilla DOS, editing a
file ties up the entire machine, and when the machine is doing almost
any other task I need done, it can't find time to serve my keypress and
editing display needs. The Amiga redresses this imbalance, to my great
benefit.

_That's_ what multitasking means to me.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>
--
Now if you need to know "What Entropy Means to Me", you have to ask
George Alec Effinger.  ;-)

maniac@magic.cs.unlv.edu (Eric J. Schwertfeger) (12/24/90)

	I think the usefullnes of multitasking is something you have
to get used to before you can appreciate.  My best friend is a Mac
fanatic.  One night he came over to visit while I was downloading a
rather large file off of the school mainframe.  Well, part of the way
through the download, my hard disk became full.  Rather than loose an
hour of time spend downloading, I called up WorkBench, copied some
files from the hard disk to a RAM disk, then deleted them.  When I
dropped back to the terminal program, and told it to try the hard disk
again.  Since there was room now, the download finished quite well.
Brent was impressed.
	One of the things multitasking allows is to be able to deal
with the unexpected.
	BTW, My friend has since upgraded his computer so that it has
enough ram to use multifinder effectively, and he still thinks that
the Amiga's multitasking is smoother.
Eric J. Schwertfeger, maniac@jimi.cs.unlv.edu

awessels@ccwf.cc.utexas.edu (Allen Wessels) (12/24/90)

In article <1990Dec23.103612.7666@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:

>Well, I'm not sure what your Mac can do, but here is a very typical scenario
>for me, all running at once (I've got a _lot_ of RAM):
>
>    Terminal session going, highest priority, downloading a series of
>    files with kermit from my host site into recoverable ram disk
>    storage; this typically takes several hours; I have a slow modem.
>    The download status is continually being displayed, and I flip to
>    this screen with a keypress occasionally to see how things are
>    going.

Hmm, I can't do anything about prioritizing tasks, other than deciding what teh
foreground task is.  I'm not sure why I'd download to RAM, but I don't have 
what I think you mean by a recoverable RAMdisk.  (I assume you mean that the
RAMdisk RAM is recoverable by the OS for other tasks.)  The rest of the above 
I do regularly on my Mac (an 030 machine with 5 meg RAM.)

>    On another virtual screen, accessible with a keypress, in a window,
>    one of the just downloaded files being unpacked into a recoverable
>    ram disk directory for repackaging from .zoo to .lharc to save 20%
>    of the storage space.

I can do this too.  The Mac doesn't have the same virtual screen setup that
the Amiga has (I like the way the Amiga does it, but I like the Mac way too.)

>    In another window, a several hour mail merging program is appending
>    newly arrived mail to the nearly 2000 existing mail files on my hard
>    disk; this requires occassional attention from me.

I don't have an analogous task that I do.  I have text indexing program that
continuously updates an index of all the text on my hard disk while the above
stuff is going on.

>    Two small windows controlling formatting the two blank floppies in
>    my disk drive onto which to store the reformatted files.

I can't do this one, but I bulk format all my disks anyway en batch.  When I 
need a blank floppy, I usually want it right away.  Of course, this is just 
another example of changing the way I work to accomodate the limitations of my
machine, but the problem doesn't come up all that often.

>Me? I'm not looking at any of this; I'm either using emacs in a window
>that covers all the others to whip up a control script for the next
>operation, or writing some new code, or, if all is under control for a
>moment, I use the mouse to switch to a third screen, and pick up my
>nethack game in progress. Now, granted, there are a lot of cpu cycles
>being sucked up here, so the nethack motion is a little jerky, but it's
>not a real time game, so that doesn't matter much, and it beats staring
>at a screen waiting for something to finish, in a monotasking machine,
>or whipping from paralyzed program to paralyzed program with a system
>that suspends all but one, or possibly one and a trivial one, processes.

One of the things I miss the most on the Mac is a CLI for scripting.  There are
alternatives, but I don't really like any of them.  I want the scripting built
into the OS, and the Mac isn't gonna get that for a while, unless Microsoft
decides to make a move on the Mac OS.

I just tried a few experiments by loading some games under MultiFinder.  
Stategic Conquest is back  of this window fighting battles (with sound and all
as I type this.  I switch over to SimEarth and can do things while Strategic
Conquest is running the computer opponenet's moves.  I got tired of SimEarth
and loaded Pool of Radiance.  I set Strat Con to Autoplay and played some PoR.

(I'm thinking of upgrading my RAM to 20 meg.  One problem with the Mac is that
it isn't very resource efficient.  I end up filling 5 meg fast and that is
WITHOUT a RAMdisk or a disk cache.)

>Supporting my keypresses is very undemanding on a cpu, in fact is is
>nearly dead idle when I edit a file, yet under vanilla DOS, editing a
>file ties up the entire machine, and when the machine is doing almost
>any other task I need done, it can't find time to serve my keypress and
>editing display needs. The Amiga redresses this imbalance, to my great
>benefit.

There are a bunch of tasks you have to wait for on the Mac, but usually the 
work process can be modified to accomodate those things.  If I have to wait
for a compile or similar task, I can usually do some non-computer task during
that wait.  I can't switch tasks when a modal dialog is displayed (a window 
that requires information), I can't switch tasks, but background tasks still 
run.

I plan on getting an Amiga no matter what, but I want more than just a game
machine, and it is clear that the Amiga is a very cost-effective and efficient
one.  All I need to do now is figure out how it will figure into my computing
enviroment and how best to use it.

The responses I've received have gone a long way towards informing me.  I really
appreciate the help.  

- Allen

kdarling@hobbes.ncsu.edu (Kevin Darling) (12/24/90)

In article <186801ce.ARN0872@easy.UUCP>:
>If a program is written to print the words "hello world" in an endless loop
>and was compiled without changes on a Mac, 286 PC, and an Amiga.  The only
>machine that would multitask with that program running would be the Amiga.

Change the program a bit: write one which simply loops with no I/O at all,
and then boost the priority on it under Amiga Exec to be highest.
What happens to multitasking then?

>The Mac and the PC would stop dead as soon as that programs window is selected
>because it isn't written to multitask on those systems.

Just a minor nit to pick: might be better to explicitly say, "..isn't 
set up to multitask on the current Mac OS or MSDOS."  Otherwise, someone
running Unix or OS/2 or whatever on that other hardware would certainly
have reason to complain.  cheers - kev <kdarling@catt.ncsu.edu>

lron@easy.hiam (Dwight Hubbard) (12/25/90)

In article <186ab528.ARN08a6@easy.hiam>, Dwight Hubbard writes:

> In article <1990Dec24.132204.17059@ncsuvx.ncsu.edu>, Kevin Darling writes:
>
> In article <186801ce.ARN0872@easy.UUCP>:
>>If a program is written to print the words "hello world" in an endless loop
>>and was compiled without changes on a Mac, 286 PC, and an Amiga.  The only
>>machine that would multitask with that program running would be the Amiga.

> Change the program a bit: write one which simply loops with no I/O at all,
> and then boost the priority on it under Amiga Exec to be highest.
> What happens to multitasking then?

Same thing as would happen under Unix or OS/2 it dies.  But then under Windows
or Multifinder which are what I was talking about it would stop all other
programs as soon as it's window was made active.  The only way for it to allow
multitasking under Windows on a 286 or under multifinder would be to recode
the program.

>>The Mac and the PC would stop dead as soon as that programs window is selected
>>because it isn't written to multitask on those systems.

> Just a minor nit to pick: might be better to explicitly say, "..isn't
> set up to multitask on the current Mac OS or MSDOS."  Otherwise, someone
> running Unix or OS/2 or whatever on that other hardware would certainly
> have reason to complain.  cheers - kev <kdarling@catt.ncsu.edu>

My mistake for not making it clearer that I was only talking about Multifinder and
Windows on 286 systems. :-)

-----------------------------------------------------------------------------
| Dwight Hubbard,                                       |-Kaneohe, Hawaii   |
| USENET: lron@easy.hiam or uunet!easy!lron             |-GT-Power: 029/004 |
-----------------------------------------------------------------------------

BAXTER_A@wehi.dn.mu.oz (12/25/90)

In article <41791@ut-emx.uucp>, awessels@ccwf.cc.utexas.edu (Allen Wessels) writes:
> In article <1990Dec23.103612.7666@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:
> 
> There are a bunch of tasks you have to wait for on the Mac, but usually the 
> work process can be modified to accomodate those things.  If I have to wait
> for a compile or similar task, I can usually do some non-computer task during
> that wait.  I can't switch tasks when a modal dialog is displayed (a window 
> that requires information), I can't switch tasks, but background tasks still 
> run.
> 
> I plan on getting an Amiga no matter what, but I want more than just a game
> machine, and it is clear that the Amiga is a very cost-effective and efficient
> one.  All I need to do now is figure out how it will figure into my computing
> enviroment and how best to use it.
> 
> The responses I've received have gone a long way towards informing me.  I really
> appreciate the help.  
> 
> - Allen

Another "what I did last night" posting. This thread has made my try to be
aware of what specific things Multitasking is good for. Last night I 
prepared a graph on Multiplot. The data was in a spreadsheet which I
left open and cut-and-pasted the data to Multiplot. I then printed the
graph to the dot-matrix printer using the print spool, and saved the graph
as data and postscript at the same time. I started VLT, connected to the
mainframe and downloaded the postscript file, routing it to a laser printer.
Leaving everything running, I ducked into work to pick up the laser printed
copy and returned home to the finished dot matrix print.

Regards Alan 

kdarling@hobbes.ncsu.edu (Kevin Darling) (12/28/90)

In <186abe5f.ARN08a9@easy.hiam>, Dwight Hubbard writes:
>> In <1990Dec24.132204.17059@ncsuvx.ncsu.edu>, Kevin Darling writes:
>> Change the program a bit: write one which simply loops with no I/O at all,
>> and then boost the priority on it under Amiga Exec to be highest.
>> What happens to multitasking then?
>
> Same thing as would happen under Unix or OS/2 it dies.

First, hope you had a good holiday!  Second, I thought the answers people
gave to the original "true" question were very good, and pointed out that
preemptive multitasking gives a real, tho sometimes subtle, advantage.
My impulse for posting that obviously leading question <g> was to note
that there _are_ layers of subtlety involved when it comes to defining
"true multitasking"... especially in what it means to an end user.

For instance, the stated example shows that a higher priority task
under Exec with no I/O becomes exactly like a similar Mac process: it
must give up control explicitly... something some of us would not consider
"true" multitasking.  Or at least, not as user-nice.  Under OS9, all
processes also "age", and eventually get a chance to run.  Even OS/2 has
a settable timeout to prevent one process from locking out the others.

There are other subtleties, but I don't want to bore or start flames :-).
So here's just some random comments:
 1. To many users the distinction between "true" and "fake" multitasking
    is just a techie question.  Faking can come close enuf for some.
 2. Every OS has cases where things degenerate away from "true m/ting".
 3. It's hard to drag people away from what they use now.  Good example:
    would you give up all your current Amiga programs in order to switch
    to, say, OS-9, which might (/not) have "truer" multitasking?  Doubtful.

In other words, as much as I've proselytized for (and used) preemptive
m/ting on micros long before even Exec came around, the distinction gets
blurry sometimes in actual use.  But then, you and everyone else pointed
that out yourselves... my article was a time-disjointed reply which
should (along with this one) be passed over, really.  Just wanted to
explain them a bit now.  Cheers - kev  <kdarling@catt.ncsu.edu>

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (12/28/90)

Kevin put lots of disclaimers at the bottom of his article to get him off
the hook on this, but I still want to answer one part.

kdarling@hobbes.ncsu.edu (Kevin Darling) writes:
> Dwight Hubbard writes:
>> Kevin Darling writes:
>>> Change the program a bit: write one which simply loops with no I/O at all,
>>> and then boost the priority on it under Amiga Exec to be highest.
>>> What happens to multitasking then?

>> Same thing as would happen under Unix or OS/2 it dies.

>First, hope you had a good holiday!  Second, I thought the answers people
>gave to the original "true" question were very good, and pointed out that
>preemptive multitasking gives a real, tho sometimes subtle, advantage.
>My impulse for posting that obviously leading question <g> was to note
>that there _are_ layers of subtlety involved when it comes to defining
>"true multitasking"... especially in what it means to an end user.

Right, and "true" and "false" are directions on a continuum, not really
well defined endpoints.  Lots of times it helps in keeping a discussion
like this civil to remember that we are using rather fuzzy terminology
at best.

>For instance, the stated example shows that a higher priority task
>under Exec with no I/O becomes exactly like a similar Mac process: it
>must give up control explicitly... something some of us would not consider
>"true" multitasking.  Or at least, not as user-nice.  Under OS9, all
>processes also "age", and eventually get a chance to run.  Even OS/2 has
>a settable timeout to prevent one process from locking out the others.

Probably so; aging cpu bound processes to get lower priorities and i/o
bound ones to get higher priorities, and old processes to get higher
priorities is a fairly common refinement for multiple user multi-tasking
OSs.

However, I would absolutely _hate_ priority aging on the Amiga, or any
single user machine, except perhaps as an option I have to specifically
_en_able.  When I up the priority of my terminal session, since it is
almost 80% of the big chunks of time either waiting for keystrokes, or
waiting for new text from the host site to show up for the screen, my
extra three priority "points" have little effect; other processes get
almost all the cpu cycles.

_But_, when I turn on the kermit session for which I default the
terminal task priority to 3 in my startup script, I _desperately_ need
that priority to stay high, even, no, especially if the task runs at
high priority for hours. The last thing I want is to start losing
packets long into a multimegabyte single file download, something I do
an average of weekly at least.

On a multi-user system, priority aging is appropriate; it helps prevent
one user from unfairly slowing down the system for everyone else, and it
keeps jobs from sitting in queue "forever".  I think it is entirely
inappropriate to a single user system, where the user has, and wants to
have, complete control over priorities.

In your example, the user has just done something stupid by setting the
priority of a compute bound job high; that is the exact opposite of
normal practice, and the bad results should be blamed on operator error,
not on inferior multitasking algorithms.

Just a comment from out in left field, lest anyone start clamoring for
aged priorities without thinking it through.  You're right in the part
I omitted, Kevin, I would NOT want the OS/9 method for the Amiga; OS/9
is, I understand, fairly often used for multiuser systems.  I hope no
one _ever_ creates a deliberately multiuser Amiga; that would be a huge
step backwards, even though hacks to make BBSs work are fine anyway;
I just don't want to see the machine go multiuser in focus; the world of
computing is moving away from that idea, for me, correctly.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>

kdarling@hobbes.ncsu.edu (Kevin Darling) (12/28/90)

In <1990Dec28.000727.24394@zorch.SF-Bay.ORG>
    xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:

> Kevin put lots of disclaimers at the bottom of his article to get him
> off the hook on this, but I still want to answer one part.

<laughing> Yeah, I was afraid the hook was still there.  I had chopped
tons out of the article, and even then decided to email it, but got
lazy instead at the last moment :-).  Okay, let me see:

> [general comments about aging scheduling omitted]   However, I would
> absolutely _hate_ priority aging on the Amiga, or any single user
> machine, except perhaps as an option I have to specifically _enable_.

Agreed that it's a good idea for kernels have lots of options, and
even better if they're settable by the user at any time.  Choice is good.

> [example of terminal program running at slightly higher priority]
> _But_, when I turn on the kermit session for which I default the
> terminal task priority to 3 in my startup script, I _desperately_ need
> that priority to stay high, [...]

It does.  You're thinking (I think) that when the other processes age
enough to win a slice, that the term program will suffer.  It doesn't,
I assure you.  The hit on its time is very small for several reasons:
the term program is often waiting anyway (another example of fancy
scheduling [aging in this case] degenerating into simpler methods);
the temporarily aged procs often end up doing I/O and waits; and wakeup
of the term program usually inserts it at the front of the ready queue.

> [....]  I think it is entirely inappropriate to a single user system,
> where the user has, and wants to have, complete control over priorities.

Yes sir, we differ here.  I think that a scheduler where "higher priority"
means: a process gets more slices... is more intuitive and gives more
control than when it means: Stop normal preemptive multitasking until an
OS call (which Waits) is done.

> In your example, the user has just done something stupid by setting the
> priority of a compute bound job high; that is the exact opposite of
> normal practice, and the bad results should be blamed on operator error,
> not on inferior multitasking algorithms.

But aging gives the user some interesting slack. You can, for instance,
run a utility at even higher priority than the term program in order to
get quicker output, without too much fear of botching the term program up,
as it'll age and get a chance to run, too.  More importantly, you can
start several compute-bound tasks with different priorities, and ALL
run a little bit, instead of in sequential order as under Exec.  I mean,
if you're going to multitask, then you should _multitask_ ;-).

> Just a comment from out in left field, lest anyone start clamoring for
> aged priorities without thinking it through.  You're right in the part
> I omitted, Kevin, I would NOT want the OS/9 method for the Amiga; OS/9
> is, I understand, fairly often used for multiuser systems.

That's true. NASA, etc.  Frankly, this is one of the reasons OS-9 gets into
places Amigans often wish Exec would (but cannot easily).  So CBM is
going with Unix, which is not exactly a small user's system.

Your comments are appreciated and understood, Kent.  But, well, maybe it's
like.. hmmm. You know how hard it is to explain the benefits of multitasking
to people who haven't used it?  I think the same applies for aging, and for
the multiuser aspect also.  Certainly I've met no one so far who's
programmed under both Exec and OS9, and who didn't prefer OS9's scheduler.
It's stood the test of time for over ten years in many realtime apps.

> I hope no one _ever_ creates a deliberately multiuser Amiga; 

Too late. The A3000UX. A2000 with networking. Okay, okay, jest kidding ;-).

> that would be a huge step backwards, even though hacks to make BBSs work
> are fine anyway; I just don't want to see the machine go multiuser in
> focus; the world of computing is moving away from that idea, for me,
> correctly.

Omigosh, you mean you agree with _Pournelle_ about "one user, one machine"?
<sly grin>  Sorry, that was mean :-).  Seriously now, the multiuser
orientation has beneficial side-effects, especially for the home/biz user.

The first one that comes to mind (in the case of OS9) is the automatic
file record locking.  A commonly given Amiga example is that of "doing
something with a downloaded file while downloading yet another".  Under
OS9, you can dearc/degif/etc a file _while_ it's being downloaded, and
both (or several) programs stay in file sync.  This probably was mostly
meant for multiuser record accesses, but the single user loves it!

Plus it's a piece of cake to network multiuser machines.  Remote logins
are common practice.  BBS's are a snap, of course.  Protection for files
on your hard disk from your kids.  It's cheaper to buy a hot 030 machine
with a large HD, and just get surplus/cheap-computer terminal setups for
the rest of the family (yah, no remote gfx yet, tho that's coming).

Long enuf for now... I was trying to avoid running on like this :-).
Cuts into my work time (anytime you want to drag me away, please do!)
And I'm not after an Exec vs OS9 thingie... but rather to point out
that there are Some Neat Things that could be added to Exec.
  Thx for listening Kent (and all)! - kev <kdarling@catt.ncsu.edu>

sokay@kurgen.mitre.org (Steve Okay W43) (01/03/91)

>From: awessels@ccwf.cc.utexas.edu (Allen Wessels)
>
>Subject: URe: Multitasking at home (Was Reality check: ....)V
>Message-ID: <41689@ut-emx.uucp>
>Date: 20 Dec 90 16:02:40 GMT
>References: <1990Dec13.155848.8152@maytag.waterloo.edu> <1990Dec15.031131.17141@isc.rit.edu> <1990Dec18.002802.624@lavaca.uh.edu> <37101@cup.portal.com>
>Sender: news@ut-emx.uucp
>Reply-To: awessels@ccwf.cc.utexas.edu (Allen Wessels)
>Organization: The University of Texas at Austin
>Lines: 11
>
>In article <37101@cup.portal.com> Lee_Robert_Willis@cup.portal.com writes:
>
>>True multitasking is even better, since my application can number crunch,
>>paginate, spell check, update databases, etc. without making me wait.
>
>OK, guys.  I've been following the group for a while since I've been thinking
>of getting a 500 or 2000.  Just exactly what does the Amiga's true multitasking
>let me do (other than formatting disks) that I can't do on my Mac?   

Ok, some real life examples that are happening even while I type.
My Amiga at home is currently running a 20-node UUCP network, doing some 3D rendering,
plus various other things depending on what time of day it is. Every night it backs 
itself up incrementally, wakes me up in the morning, runs a small LISTSERV-like
program for the UUCP net, etc. all simultaneously. I use cron to schedule the 
wakeup/backup times and the UUCP polling times. At any time even when its doing
all this, I can pop up a shell and hack from the keyboard.The Amiga can accomodate a
task list of up to 20 processes. To me, multi-tasking is the difference between a
personal computer and a {small | full blown} workstation. This ability to have
multiple applications running simultaneously is what really makes multi-tasking
useful.

 You are right in your assessment that cooperative multi-tasking is only
useful for getting a directory or formatting disks. But being able to do word
processing while your spreadsheet crunches away in the background and your modem
picks up your email is much more useful and a better application of your cycles
than continuously cycling 50% or more thru on NO OPs.

---Steve
------------
Steve Okay
sokay@mitre.org   <-----work
steve%amidillo.uucp@uunet.uu.net <---home

lindwall@fossey.ucsd.edu (John Lindwall) (01/10/91)

In article <127515@linus.mitre.org> sokay@kurgen.mitre.org (Steve Okay W43) writes:
>The Amiga can accomodate a task list of up to 20 processes. 

I don't beleive this is actually true.  I think there may be an
arbitrary limit (20 sounds like a familiar number) of CLI/Shells that
you can open, but I beleive that the number of tasks that Exec can
handle is limited only by RAM.  The static limit on CLIs is arbitrary;
i.e. I have seen a PD hack which would remove this limit.  In addition,
I was under the impression that this limit was removed in 2.0 (but I
can't personally prove it).

Other then this mistatement, your article was very informative and
interesting.  Nice to hear about people with some powerful Amiga
environments!  

Could Windows 3.0 on a 386 handle all these processes I wonder?
(This is not flame-bait, I truly don't know).


-- 
John Lindwall			lindwall@ucsd.edu
"Oh look at me! I'm all flooby! I'll be a son of a gun!" -- Flaming Carrot

gjc@lsw.UUCP (Greg) (01/13/91)

> I don't beleive this is actually true.  I think there may be an
> arbitrary limit (20 sounds like a familiar number) of CLI/Shells that
> you can open, but I beleive that the number of tasks that Exec can
> handle is limited only by RAM.  The static limit on CLIs is arbitrary;

I have an Amiga 2500 with 3 megs of RAM and yet I can only have about
20 processes running.  I have experimented with this and found it to be
be very true...  If you open a CLI and type "run clock" 19 times and then 
open another CLI and try to "run" anything then you can't do it! You can't
even run anything from WB!!

I *WOULD* like to know the name of the PD hack to remove this limitation.

Gregory Casamento (The Borgster!)

dege@cs.umn.edu (01/13/91)

In <178@lsw.UUCP> gjc@lsw.UUCP (Greg) writes:

>I have an Amiga 2500 with 3 megs of RAM and yet I can only have about
>20 processes running.  I have experimented with this and found it to be
>be very true...  If you open a CLI and type "run clock" 19 times and then 
>open another CLI and try to "run" anything then you can't do it! You can't
>even run anything from WB!!

   Anything you start with a "run" command ends up in its own CLI.  That is
why you are hitting the 20 CLI limit.  If you will notice, run prints the
CLI number when it starts.  The 20 CLI limit does not apply to processes
not started from the CLI.

------------------------

dac@prolix.ccadfa.oz.au (Andrew Clayton) (01/15/91)

In article <178@lsw.UUCP>, Greg writes:

> > I don't beleive this is actually true.  I think there may be an
> > arbitrary limit (20 sounds like a familiar number) of CLI/Shells that
> > you can open, but I beleive that the number of tasks that Exec can
> > handle is limited only by RAM.  The static limit on CLIs is arbitrary;
> 
> I have an Amiga 2500 with 3 megs of RAM and yet I can only have about
> 20 processes running.  I have experimented with this and found it to be
> be very true...  If you open a CLI and type "run clock" 19 times and then 
> open another CLI and try to "run" anything then you can't do it! You can't
> even run anything from WB!!

Get 2.0. It's wonderful, and removes the '20 cli' restriction.

However, I would question your sanity in wanting to run 20 different CLI's.

I'm that type of guy. :-)

Dac
--