Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!tnc!m0154 From: m0154@tnc.UUCP (GUY GARNETT) Newsgroups: comp.sys.amiga.introduction Subject: Amiga Multitasking Message-ID: <663@tnc.UUCP> Date: 11 Jan 91 15:22:31 GMT Reply-To: m0154@tnc.UUCP (GUY GARNETT) Organization: The Next Challenge, Fairfax, Va. Lines: 46 In comp.sys.amiga, there was a question about Amiga multitasking; I thought I would answer it here ... Multitasking operating systems can be broken down into two broad categories, "preemptive" and "cooperative". The Amiga, as well as OS/2, Unix, and most mainframes use preemptive multitasking. Multifinder for the Mac, and some other computers, use cooperative multitasking. Preemptive multitasking is particularly well suited for doing several things at once (which is why it is used so often); some have been known to call it "true" multitasking. Cooperative multitasking is also valid multitasking, but it is less generally usefull (anything which can be done on a cooperative multitasking system can also be done with a preemptive system, in theory, but the reverse is not true). Programs on the Amiga have a time limit, or "slice"; when the time expires, Exec (a part of the Amiga operating system) takes control away from the running program, and gives it to the next eligible program. The time slice is so short that it appears that many programs are running at once. Programs can also give up control volunatrily; usually this happens when the program is waiting for something, like disk drives, user input, or other "real world" events. The program in effect says "I have noting to do until someone moves the mouse (or whatever)", and so Exec starts up another program. This helps make efficient use of the computer. Unlike many preemptive multitasking operating systems, the Amiga has "real-time response". This means that external events can be detected and responded to quickly ("quickly" is a relative term; the Amiga can respond much faster than most other multitasking systems, although there are several which are designed to respone even faster still). For example, the system can be set up so that a certian program runs between every frame of video (this is how some programs manage color cycling). This post was designed to be a general overview ... more detailed technical questions can go to comp.sys.amiga.programmer (I have omitted or glossed over a huge number of things) and discussions of which is better, Mac, Amiga, Unix, OS/9, OS/2, or whatever can go to comp.sys.amiga.advocacy. If anyone has general questions, I'll be glad to continue the discussion here. Wildstar