[comp.sys.mac] Soft-preemption etc.

cjohnson@unisoft.UUCP (Christopher Lyle Johnson) (03/18/88)

 	I was hoping someone else would cover the misinformation
	posted earlier.  It was claimed that UNIX only rescheduled
	on "lbolt" interrupts (every second).  This is false on
	every implementation I have seen.  Before returning from an
	interrupt to user mode (*any* interrupt) the system variable
	"runrun" is checked to see if a scheduling pass is necessary.
	If there is a higher priority process, the kernel context
	switches to it.  (Some of this is done on vaxes by means of
	software interrupts.) This test is also made after system calls.

	There is a concept of a quantum in system V (v.v_ltick) that
	determines how long a particular process can run before a
	scheduling pass is forced.  This variable is initialized in
	units of clock ticks (usually 60Hz).  BSD systems (4.3)
	appears to reschedule every 4 ticks if necessary (also note
	that BSD vax clocks usually run faster - 100Hz by default).

	Thus the kernel can reschedule on every system clock tick
	or so, not every second as was reported earlier.

	Follows have been directed to /dev/null - this has nothing
	to do with Macintoshes and no one in unix.wizards cares.

						cj*