Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!ames!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!news.funet.fi!funic!santra!santra!mpoutane From: mpoutane@niksula.hut.fi (Matti Samuli Poutanen) Newsgroups: comp.sys.amiga.advocacy Subject: Re: Single user OS schedulers (Was Re: How do we change the scheduler?) Message-ID: Date: 29 Jan 91 09:24:30 GMT References: <1991Jan23.213736.28220@Neon.Stanford.EDU> <1991Jan24.152931.1325@NCoast.ORG> <1991Jan25.073516.29644@Neon.Stanford.EDU> <1991Jan25.161048.8420@convex.com> <1991Jan25.204236.13509@Neon.Stanford.EDU> Sender: news@santra.uucp (Cnews - USENET news system) Organization: Helsinki University of Technology, Finland Lines: 43 In-Reply-To: torrie@cs.stanford.edu's message of 25 Jan 91 20:42:36 GMT In article <1991Jan25.204236.13509@Neon.Stanford.EDU> torrie@cs.stanford.edu (Evan J Torrie) writes: >>In article <1991Jan25.073516.29644@Neon.Stanford.EDU> torrie@cs.stanford.edu (Evan J Torrie) writes: >> [...] >>> Yes, but this raises another issue. In this case, you are running a >>>task which is servicing other users... effectively, you want your >>>scheduler to give good multiuser response [i.e. no starvation]. >>> For these cases, Unix-like schedulers (which it seems the Amiga >>>scheduler is modeled after, judging by the description so far) are >>>definitely the right choice (after all, a lot of work has been put >>>into researching the best scheduling systems for MULTI-USER OSes) >> [...] >>Hmm, I think you are getting an unclear picture of the Amiga multitasking >>mechanism. > Yes, quite probably. > Can someone with knowledge of both please explain the differences >between operation of the Amiga task scheduler, and Unix task scheduler >(especially in the areas of adjusting priorities etc). > I am reasonably familiar with the Unix scheduler (i.e. I've studied >the OS source code), so just differences between the Amiga and Unix >would be sufficient for me. I'll give it a try. On the Amiga, higher priority tasks can and will get the processor AT ANY TIME they need it. If you have and editor running at a high priority and it Wait():s for a keypress, as soon as the input. device detects a keypress the processor will be 'stolen' from the lower priority task that has it and given to your editor. In UNIX the lower priority task will allways finish its time slice. That's why the Amiga is real-time and UNIX is not. >-- >------------------------------------------------------------------------------ >Evan Torrie. Stanford University, Class of 199? torrie@cs.stanford.edu >Fame, fame, fame... What's it good for? Ab-so-lute-ly nothing Matti Poutanen Helsinki University of Technology Dept. of Physics