skank@iastate.edu (Skank George L) (12/22/90)
In article <1990Dec15.031131.17141@isc.rit.edu> pwg8482@isc.rit.edu (P.W. Gousios ) 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) My personal favorite thing to do is to start a really large download using Handshake and then forget about it while using MSS Excellence. Which, I might add, is not too hard to do as both programs are quite stable and multitask well together. My other personal favorite is to decompress and execute the files I've just downloaded while simultaneously downloading another. Yes, it's true that you don't REALLY need multitasking, but it sure is nice!! --George
cr1@beach.cis.ufl.edu (Anubis) (12/23/90)
Hi, I've heard Amiga's multitasking defined in so many ways it makes my head spin. Now, I have a general idea of how things work, but could someone with a good grasp on the topic please explain to me exactly how Amiga's multitasking works, and why it can be given the honored term 'true multitasking' ? Also on this subject, where can I find a good source about the inner workings of the Amiga? Not one of these annoying 'this is your disk drive' books, but a real good source. -- =-=-=-=-=-=-=-=That is not dead which may eternal lie-=-=-=-=-=-=-=-=-=-=-=-= * Christoper Roth * "Machines have no * InterNet : cr1@beach.cis.ufl.edu * Conscience..." =-=-=-=-=-=-=-=Yet with strange eons even death may die-=-=-=-=-=-=-=-=-=-=-=
xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (12/23/90)
cr1@beach.cis.ufl.edu () writes: > I've heard Amiga's multitasking defined in so many ways it makes my > head spin. Now, I have a general idea of how things work, but could > someone with a good grasp on the topic please explain to me exactly > how Amiga's multitasking works, and why it can be given the honored > term 'true multitasking' ? Probably the best way to see why the Amiga's is "true multitasking" is by looking at some of the "near multitasking" methods for contrast. I'll assume you understand monotasking: one and only one job in the machine at a time. The next step up the the IBM TSR; a little program that can sit in a little piece of memory, and is brought up by an interrupt, usually a special keystroke combination. Here, you characterize the TSR task: it is _small_ because the main task has to fit in the limited memory; it is normally _idle_, because the OS doesn't know how to swap tasks, the TSR installs a task swapping routine off the interrupt vector to save the main program's registers and load its own; it is _user_ _initiated_; the OS doesn't kick it off for you, you have to do it yourself. In contrast, the Amiga, with a larger flat address space, can have _large_ programs in memory together; they can all be running in an alternation fast enough to look simultaneous, because the OS knows how to swap tasks, and the swapping is _OS_ _initiated_, either because a task says it is going to sleep to wait for an event, or because the OS decides the current process has eaten enough time and it is another process's turn. Above TSRs is the Finder style simultaneously resident processes; the large, flat address space allows several tasks to reside in memory simultaneously, and the OS knows how to swap tasks, but the task swapping is still _user_ _initiated_; the OS sees a click in a new window, and idles the running task associated with another window, and restarts the process associated with the just-clicked window. This is only a little help; it saves the overhead of reloading and finding your place in the routine, but still all the idle time while your finger reaches for the next key is going to waste. In contrast, the Amiga OS takes the initiative to share time among all the running processes; so that you can watch something being drawn or processed in another window, or have it going on in a window out of your sight, while you type or draw or whatever in a separate window. A third sort of "near multitasking" is _cooperative_ multitasking; each software writer is tasked with finding explicit places in the code where control can safely be let go, and put in explicit "wait" commands. This is tough; if the programmer gives up control too often, the overhead eats performance alive, while if the programmer gives up control too infrequently, other processes starve. This has a habit of not working very well, but if the OS doesn't know how to seize control safely, this is the best that can be done. Here, the OS knows how to save and restore registers for various processes, and schedule the next runnable process to run, but the user program is explicitly asking for this service. In contrast, the Amiga OS sets a timer interrupt when it gives control to a new process, and if the process hasn't given back control because it has run out of things to do (e.g., it has finished processing the last keypress, and my finger hasn't hit the next key; these timeslices are _small_), then the timer wakes up the OS which looks around for another process ready to run. If it finds one, then it squirrels away the (already saved by the interrupt) register and other restart information for the (nominally) running process and preempts it to give the next one it's time slice in turn. This is what makes the Amiga a "true preemptive multitasking" system. But there's more, because the Amiga OS also knows another neat trick; it knows how to _prioritize_ tasks. First an example: when I download files, if I run several other tasks, it can happen that I spend enough time away from servicing the serial port that characters repeatedly get lost and the kermit session times out. However, I can use the "changetaskpri" function to give my terminal session a bigger than average slice of the time, and "Big Hog's first place at the trough" when time is available. This works as follows: when the high priority task gives up control, it does it by waiting on some event (character received, buffer full, disk block written, disk block read, etc.). Events, when they occur, wake up the OS and pause the running process through the interrupt mechanism. Now normally, the next task in line, or the current task if its time slice were not yet exhausted, would be scheduled to run next, and the task which is awaiting the event would be moved from the "waiting event" list to the "ready to run" list. With priorities, though, the OS, when an event occurs, after it has marked the associated process "ready to run", looks for the highest priority task in the "ready to run" queue, and gives it the next spot in the run schedule. This way, the kermit task gets run whenever it is ready, the other tasks share the remaining time. The trick is to give the high priorities to the tasks that run out of work often and are willing to ask to be put to sleep (usually, i/o bound processes), while the tasks that just eat cpu cycles (processing bound tasks) get the low priorities. Now there are some complexities here, because you can starve a process if a high priority process eats more cpu cycles than expected, so there is a job of tuning an OS so that even the low priority tasks get at least a little time to run. That's probably more than you wanted to read, and more generic to "true multitasking on any machine", than specific to the Amiga flavor, but perhaps it clarified a few of the issues for you. My apologies in advance for any error in the details; I'm not a world class AmigaOS expert, just the best one inside these four walls. Kent, the man from xanth. <xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>
mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) (01/06/91)
In article <26060@uflorida.cis.ufl.EDU> cr1@beach.cis.ufl.edu (Anubis) writes:
I've heard Amiga's multitasking defined in so many ways it makes my
head spin. Now, I have a general idea of how things work, but could
someone with a good grasp on the topic please explain to me exactly
how Amiga's multitasking works, and why it can be given the honored
term 'true multitasking' ?
Sigh. The term "true multitasking" was born of immature Amiga users
being worried that their machine would lose some of it's "superiority"
over other machines that had been single tasking before, but recently
acquired a non-preemptive multitasking.
It's use implies that non-preemptive multitasking is somehow "fake" or
"false". This is no more true than the claim that the Isetta isn't a
car because it uses a motercycle engine. Non-preemptive multitasking
is every bit as much "true multitasking" as preemptive multitasking.
The only thing that makes preemptive multitasking deserving of the
word "true" is some Amiga users need for reassurance that they bought
the best machine in the world.
The world would be a better place - and the image of Amiga users would
improve - if Amiga users forgot the phrase "true multitasking", and
used the correct one: "preemptive multitasking".
<mike
--
peterk@cbmger.UUCP (Peter Kittel GERMANY) (01/08/91)
In article <MWM.91Jan5225918@fenris.relay.pa.dec.com> mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: > >It's use implies that non-preemptive multitasking is somehow "fake" or >"false". This is no more true than the claim that the Isetta isn't a >car because it uses a motercycle engine. Sorry to waste bandwidth, but I have to express my deep astonishment that someone in US (or am I wrong here?) knows what an Isetta is!!! I simply can't believe it. -- Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions... Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
daveh@cbmvax.commodore.com (Dave Haynie) (01/08/91)
In article <MWM.91Jan5225918@fenris.relay.pa.dec.com> mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >In article <26060@uflorida.cis.ufl.EDU> cr1@beach.cis.ufl.edu (Anubis) writes: > ..and why it can be given the honored term 'true multitasking' ? >Sigh. The term "true multitasking" was born of immature Amiga users.. It's much more far reaching than that. For example, Personal Workstation magazine equates "true" with "preemptive" in much of their writings on multitasking. >The only thing that makes preemptive multitasking deserving of the >word "true" is some Amiga users need for reassurance that they bought >the best machine in the world. That's silly. Preemptive multitasking has quite a few advantages, and few disadvantages, over non-preemptive multitasking. I have seen a few limited cases where non-preemptive multitasking makes some real sense, but in most cases, it is the wrong solution. It makes the job of task switching dependent on the application program being well behaved, which is just as flawed as moving any other OS job, such as graphics support, memory management, etc. into user programs. >The world would be a better place - and the image of Amiga users would >improve - if Amiga users forgot the phrase "true multitasking", and >used the correct one: "preemptive multitasking". I do agree, anyway, that it would be technically correct for Amiga users to say that. However, it is far from an Amigaizm to equate the two. > <mike -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "Don't worry, 'bout a thing. 'Cause every little thing, gonna be alright" -Bob Marley
mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) (01/08/91)
In article <17193@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes: In article <MWM.91Jan5225918@fenris.relay.pa.dec.com> mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >In article <26060@uflorida.cis.ufl.EDU> cr1@beach.cis.ufl.edu (Anubis) writes: > ..and why it can be given the honored term 'true multitasking' ? >Sigh. The term "true multitasking" was born of immature Amiga users.. It's much more far reaching than that. For example, Personal Workstation magazine equates "true" with "preemptive" in much of their writings on multitasking. So what's your point? I first saw the term "true multitasking" show up when the Mac & IBM worlds got non-preemptive multitasking; and always from Amiga users stating how the Amiga version was better than the other guys (it is, but implying that alternative is in some way not multitasking isn't the way to prove it). >The only thing that makes preemptive multitasking deserving of the >word "true" is some Amiga users need for reassurance that they bought >the best machine in the world. That's silly. Preemptive multitasking has quite a few advantages, and few disadvantages, over non-preemptive multitasking. I have seen a few limited cases where non-preemptive multitasking makes some real sense, but in most cases, it is the wrong solution. It makes the job of task switching dependent on the application program being well behaved, which is just as flawed as moving any other OS job, such as graphics support, memory management, etc. into user programs. So how does any of this make non-preemptive multitasking not "true" Note to Peter Kittel: Hey, this is the San Francisco Bay Area! We've got more than one Isetta on the roads around here. Plus a couple of Deux Chevron's, as well as other oddball cars. I'm still waiting to spot a 170H, though. What's interesting is that many of these cars have stickers in the window explaining what they are, including some history and pointers to the appropriate clubs. Parking an Isetta perpendicularly between to cars parked parallel attracts attention to it - especially in the Bay Area. <mike --
fhwri%CONNCOLL.BITNET@cunyvm.cuny.edu (01/08/91)
I also know what an Isetta is (or was?)...a little car that made a VW Bug look like a stretch limo. It was available in the 50s...showing my age here... --Rick Wrigley fhwri@conncoll.bitnet
daveh@cbmvax.commodore.com (Dave Haynie) (01/08/91)
In article <MWM.91Jan7154817@raven.relay.pa.dec.com> mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >In article <17193@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes: > It's much more far reaching than that. For example, Personal Workstation > magazine equates "true" with "preemptive" in much of their writings on > multitasking. >So what's your point? That folks far outside the Amiga community don't consider non-preemptive task switching to be true multitasking. After all, it is simply a matter of how you define multitasking. It is simple to define the properties of "true multitasking" to either include or exclude non-preemptive systems. >So how does any of this make non-preemptive multitasking not "true" For example, _my_ definition of "multitasking" may have as one of its properties: A completely CPU-bound task at priority N may not completely block tasks at priority N+d, where d>=1. Preemptive systems will pass this test, non-preemptive systems will fail it. Since there is no single, accepted definition of "multitasking", what will or won't constitute "true" multitasking depends on who's definition you apply. A very loose definition might include user-initiated multitasking systems, such as the Macintosh "Switcher" type programs. Or possibly even things like Mac's desk assessories or MS-DOS "TSRs". Both of those are, in fact, forms of multitasking, albeit more limited than the user-initiated switcher, which is more limited than the function call initiated switcher, which is more limited than the hardware-interrupt initiated switcher. Do you draw a line as to which is "real" and which isn't? If you don't, then you're at least being consistent. If you are, then we're (for the sake of argument) simply at odds over where to draw the line, not whether a line should be drawn. Which must fall back on our personal definition of the properties of "true" vs. "false", "simulated", "pseudo", whatever-you-call-it, multitasking. Again, my original point was that a much larger segment of the industry counts non-preemptive multitasking as not quite "true" multitasking. It wasn't the Amiga folks who made it up, though you are correct in that some of them do tend to yell too loudly about it simply to make themselves feel superior to Machine X, often without really understanding the real differences. > <mike -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "Don't worry, 'bout a thing. 'Cause every little thing, gonna be alright" -Bob Marley
daveh@cbmvax.commodore.com (Dave Haynie) (01/10/91)
In article <MWM.91Jan8110848@raven.relay.pa.dec.com> mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >Then again, I'll could decide that "true" multitasking means "no task >can ever be completely blocked out, unless the user specifically >allows it to happen by tagging the blocked task". That makes a lot >more sense to me than just not allowing low priority tasks to starve >higher priority ones. But then the Amiga doesn't have "true" >multitasking. Except, of course, your definition won't permit an operating system to be support both "true" multitasking and "realtime" response. To be real time, or even close to it, you need deterministic behavior. On the Amiga, a task can get very close to this by bumping its priority up, since it will be wholly unaffected by all tasks at a lower priority. Any system that gives CPU time to lower priority tasks cannot easily guarantee that the higher priority tasks get anything even close to realtime response. While not every multitasking OS tries to get close to realtime response, your restriction is nothing you'd expect to find in the average multitasking system, realtime or not. Whereas most every general purpose multitasking operating system would support my previous restriction. And in general, most of these make the fact they you are mulitasking hidden from the programmer. That's certainly not true with TSRs, which are a hack, or desk accessories, which have to be specially written. But under Multifinder, one of those cooperative multitaskers, programs have to be specially written too in order to be multitasked. There are plenty of programs that can run for very long periods of time without naturally requiring a function call. Basically, any program that's CPU intensive, rather than interactive. My restriction is hardly an artificial restraint. From what I've seen of them, AmigaOS, OS/2, UNIX, VAX/VMS, Aegis, TOPS-20, RSTS, OSK, and probably a few I've missed exhibit this expected behavior. While what you consider to be multitasking depends on definition, a wacky restriction designed to exclude mainly the Amiga OS is silly, and you know it. > <mike -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "Don't worry, 'bout a thing. 'Cause every little thing, gonna be alright" -Bob Marley
mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) (01/10/91)
In article <17289@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes: In article <MWM.91Jan8110848@raven.relay.pa.dec.com> mwm@raven.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >Then again, I'll could decide that "true" multitasking means "no task >can ever be completely blocked out, unless the user specifically >allows it to happen by tagging the blocked task". That makes a lot >more sense to me than just not allowing low priority tasks to starve >higher priority ones. But then the Amiga doesn't have "true" >multitasking. While not every multitasking OS tries to get close to realtime response, your restriction is nothing you'd expect to find in the average multitasking system, realtime or not. I disagree - every multitasking OS I've worked with (sans AmigaDOS) either met that restriction, or met it if you never used the real-time facilities. They all "aged" tasks so that a low-priority CPU-bound task would get some cycles, even in the presence of many high-priority cpu-bound tasks. And in general, most of these make the fact they you are mulitasking hidden from the programmer. That's certainly not true with TSRs, which are a hack, or desk accessories, which have to be specially written. But under Multifinder, one of those cooperative multitaskers, programs have to be specially written too in order to be multitasked. Well, defining a term based on what a programmer sees is natural for a programmer. But then you have to explain to a non-programmer why system P is "multitasking", whereas system NP isn't, when there is no difference in what they see happening. I think it makes a lot more sense to define a user interface question (and it is) in terms of what the user sees, instead of in terms of what a programmer sees. While what you consider to be multitasking depends on definition, a wacky restriction designed to exclude mainly the Amiga OS is silly, and you know it. Yup, I know it. To me, it looks like "true multitasking" is defined to exclude multifinder and similar hacks. I think that's silly. I think it's sad that others have picked that useage up (I can't think of any other reason for defining "true multitasking" that way, so ...). That means I go on a campaign to convince people _not_ to use that term, similar to the ongoing campaigns against "hacker" as a synonym for "computer literate criminal" and "PC" as a synonym for "IBM or compatable personal computer." <mike -- Look at my hopes, Mike Meyer Look at my dreams. mwm@relay.pa.dec.com The currency we've spent, decwrl!mwm I love you. You pay my rent.
davego@polari.UUCP (dave oliphant) (01/10/91)
In article <MWM.91Jan5225918@fenris.relay.pa.dec.com> mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: > >It's use implies that non-preemptive multitasking is somehow "fake" or >"false". This is no more true than the claim that the Isetta isn't a >car because it uses a motercycle engine. In article <1990Dec13.155848.8152@maytag.waterloo.edu> <1990Dec22.082240.2443@ news.iastate.edu> <26060@uflorida.cis.ufl.EDU> <MWM.91Jan5225918@fenris.relay.pa.dec.com> peterk@cbmger.UUCP (Peter Kittle GERMANY) writes: >>Sorry to waste bandwidth, but I have to express my deep astonishment >>that someone in US (or am I wrong here?) knows what an Isetta is!!! >>I simply can't believe it. Aw come on, Dr. Kittle, give us a break. There have been hundreds of thousands of americans (if not millions) stationed in Germany and Europe over the past several years, myself included. I lived for three years in Bayreuth, an incredible city. That's where I discovered the joys of Wagner, although I was never quite able to get in to experience the FestSpiel. I have to admit, though, I don't remember hearing of an Isetta. A Citroen Duck maybe, but not an Isetta. :-}! (make that a double) :-) (-: !! Widersehen. -- davego@polari.UUCP Dave G. Oliphant "Just where is dave going, anyway?" (206) 325-5669 2d ACR - Always Ready! (I'm with you guys) send the scouts out
eachus@aries.mitre.org (Robert I. Eachus) (01/12/91)
If I wanted such a silly thing, which I don't, it would take me most of an afternoon to write an Amiga utility which prevented starvation of tasks of lower priority (than the utility). Such a program on the Amiga is Soooo simple, but on many other systems it is next to impossible. (I actually spent a few minutes thinking whether I could hack it together as a script--it is doable, but would probably have too much overhead when just "sitting there". Ah-hah!!! If I needed such a thing, I could probably pipe the input to and output from xoper...just checked the xoper docs--doesn't look too hard.) Okay so not only is this sort of utility possible on the Amgia, Werner Gunther has done most of the work for you. -- Robert I. Eachus When the dictators are ready to make war upon us, they will not wait for an act of war on our part." - Franklin D. Roosevelt
martin@cbmvax.commodore.com (Martin Hunt) (01/13/91)
In article <MWM.91Jan5225918@fenris.relay.pa.dec.com> mwm@fenris.relay.pa.dec.com (Mike (My Watch Has Windows) Meyer) writes: >In article <26060@uflorida.cis.ufl.EDU> cr1@beach.cis.ufl.edu (Anubis) writes: > > I've heard Amiga's multitasking defined in so many ways it makes my > head spin. Now, I have a general idea of how things work, but could > someone with a good grasp on the topic please explain to me exactly > how Amiga's multitasking works, and why it can be given the honored > term 'true multitasking' ? > >Sigh. The term "true multitasking" was born of immature Amiga users >being worried that their machine would lose some of it's "superiority" >over other machines that had been single tasking before, but recently >acquired a non-preemptive multitasking. The term "true multitasking" did not originate with Amiga users. >It's use implies that non-preemptive multitasking is somehow "fake" or >"false". This is no more true than the claim that the Isetta isn't a >car because it uses a motercycle engine. Non-preemptive multitasking >is every bit as much "true multitasking" as preemptive multitasking. Yes and the Issetta is every bit as much a "true" sports car as a Ferrarri. > >The world would be a better place - and the image of Amiga users would >improve - if Amiga users forgot the phrase "true multitasking", and >used the correct one: "preemptive multitasking". > > <mike >-- Every multitasking OS has at least one of the following characteristics: A. The ability to have multiple tasks loaded in memory. B. The ability to switch rapidly between tasks. C. The processor controls which task gets the CPU. There are many different scheduling algorithms that may be used. Generally, some type of priotity scheme is implemented. When a task does not need the CPU (such as when waiting for I/O), it will immediately give up the CPU. The Amiga, Unix, OS/2, VMS, OS9, etc. have all of these. They are generally considered "true" multitasking systems. Because MeSSyDOS and the MAC OS were not designed to multitask, they cannot be easily be made to do A,B, and C. However, many different companies produced kludges that at least allowed them to do A. Now the problem is that MSDOS users were told that they now had "multitasking". Unix, Amiga, and other users cried foul. That isn't truly multitasking, they said. It's just a kludge. So, don't criticize others just because they aren't using the current popular jargon. At least Amiga users know there is a difference, even if they have problems describing exactly what it is. Martin Hunt Commodore-Amiga martin@cbmvax.commodore.com "Windows 3.0 is hot because it's really fun. It has brought some excitement back into the PC industry" - Microsoft I wonder who took the excitement out in the first place?
AABENSON@MTUS5.BITNET (01/14/91)
To everybody arguing about what's true multitasking and what isn't: What difference does it make? If you like Amiga's OS, then fine. If I like Unix, then fine. Really a dumb argument, guys. - Andrew. (aabenson@balance.cs.mtu.edu or aabenson@mtu.edu)