Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!cbmvax!daveh From: daveh@cbmvax.UUCP Newsgroups: comp.sys.amiga,comp.sys.mac,comp.sys.atari.st Subject: Re: Re: Mac vs. Amiga (vs. ST) Message-ID: <1314@cbmvax.cbmvax.cbm.UUCP> Date: Thu, 29-Jan-87 15:58:31 EST Article-I.D.: cbmvax.1314 Posted: Thu Jan 29 15:58:31 1987 Date-Received: Fri, 30-Jan-87 06:23:49 EST References: <8392@watrose.UUCP> Organization: Commodore Technology, West Chester, PA Lines: 87 Xref: watmath comp.sys.amiga:1769 comp.sys.mac:1017 comp.sys.atari.st:1152 > Keywords: Mac, Amiga, ST > Xref: cbmvax comp.sys.amiga:1618 comp.sys.mac:937 comp.sys.atari.st:1063 > > > In article <636@mit-amt.MEDIA.MIT.EDU> ralph@ATRP.MEDIA.MIT.EDU (Amiga-Man) writes: >> ... [talks about advantages of Amiga] >>- A true multitasking OS. I find this feature very important. > > I'm really curious: just how great is multitasking? I.e., how much do > you, the typical Amiga owners, use this feature? Even on Unix I find that the > only thing I consistently use '&' for is printing, and on my ST I have a wide > range of print spoolers to choose from. ... > > I _DO_ envy your multitasking! I'm just curious how useful it > actually is. I.e., is it that necessary in a personal computer, > and is it worth the slow-down in execution? Even though I would really _like_ > it, would I really use it that much? > > - Jonathan Fischer Well, first of all, even if you never experience a need for multitasking, you get two things from it. First of all, the Operating System uses it. System devices, like disk driver, have a server task that operates them. The DOS will generally send messages to these tasks, which then "take it from there", often asynchronously. The nice thing about this is that a calling program isn't required to wait for the disk operation to finish before going on. Disk I/O is mostly waiting for the heads to move, so as a background task you use very little CPU time on disk access (on the Amiga, the floppy reads and writes are done by a custom chip during an interlaced DMA slot, so you have even more CPU time available. But on any machine this can be a big win). The multitasking system lets you very easily take advantage of CPU time that would otherwise be wasted in some kind of a wait loop. Another example of system multitasking is Intuition, the graphic interface manager on the Amiga. Intuition exists as a high priority background task. It monitors input events, like keyboard or mouse actions. Programs send messages to Intuition, asking for any events Intuition has noticed; Intuition tells each program about only those events its specifically concerned about. As a separate task, Intuition will never miss mouse movements or key strokes, while in a single tasking system you can very easily miss such things, or slow your program down trying not to miss any. Also, the Intuition process as a high level I/O server makes alot of sense when you consider that several different tasks may all be asking about these events. Since Intuition is there, no task need know about any other running with it. Now there's the multitasking I use myself, out of choice versus system design. Truthfully, I use multitasking on the Amiga much more than on UNIX, mainly because the windowing/screening capabilities of the Amiga let me run simultaneous interactive things much better than I can on normal UNIX (may X-Windows on a UNIX system will change this). I do the same amount of multitasking on the Apollo workstations I use here, for basically the same reasons; the windowing. To start off, I usually run a few background tasks, the print server, PopCLI (a new CLI window at the touch of a key, just like on the Apollo), and Emacs if I'm on a machine with enough memory. I can start up Kermit and download from our VAX, click that screen to the back (it keeps running, of course), and edit or compile something while the download is taking place. The ability to multitask also completely eliminates the need for specially written "desk accessory" or "RAM resident" programs, since any number of programs can run together or stick around in memory; none of them have to obey any special constraints. And the result is much greater efficiency; instead of my application program having to poll the system whenever possible to find any request for a desk accessory, my program just does what I intend to do with it. And other tasks like WorkBench or CLI can load an accessory program if I like. And finally, individual programs can benefit from multitasking. First of all, there's never any reason to kludge "DOS" type commands into a program, since you can always fire up a CLI window to do the job the right way. A program can implement things with tasks much more efficiently and effectively than with standard polling methods. One controlling task can operate with an arbitrary number of servent tasks using "software buss" messing protocols. I think most folks feel satisfied with single tasking because they've always done things that way. The more you use a system that multitasks well, like the Amiga (or an Apollo or Sun), the more you feel frustrated with the old single tasking systems. At least, that's been my experience. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dave Haynie {caip,ihnp4,allegra,seismo}!cbmvax!daveh "You can keep my things, they've come to take me home" -Peter Gabriel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~