Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!samsung!munnari.oz.au!metro!cluster!necisa!boyd From: boyd@necisa.ho.necisa.oz.au (Boyd Roberts) Newsgroups: comp.unix.internals Subject: Re: Nice Message-ID: <2004@necisa.ho.necisa.oz.au> Date: 31 Jan 91 03:33:33 GMT References: <1991Jan22.184055.3641@demott.com> Organization: NEC Information Systems Australia Pty. Ltd. Lines: 19 In article richard@locus.com (Richard M. Mathews) writes: >... In many (most?) versions of Unix if an interrupt >makes a process runnable at a higher priority than the running process, >a context switch will be forced immediately. No, UNIX does not have pre-emptive scheduling. When the above event occurs the kernel context switches at the next user-mode trap, system call, sleep() or the once-a-second context switch (time quantum expiry). The low level scheduling is done by code executed by the running process which checks whether a context switch is required. If it is, the process gives up the CPU. A higher priority process being made runnable doesn't _force_ the current process to give up the CPU, it gives it up when it notices that it has to. Boyd Roberts boyd@necisa.ho.necisa.oz.au ``When the going gets wierd, the weird turn pro...''