Wanted: New process scheduler with per-uid time slices

idallen at watmath.UUCP idallen at watmath.UUCP
Mon Oct 8 09:56:58 AEST 1984


When our students goof an operating systems assignment, they sometimes
create many cpu-grinder processes that pummel our poor VAX/UNIX into
the ground and make it miserable for the rest of the students.

Any thoughts on implementing a CPU scheduler that assigns time slices
on a UID basis, so that every process the student generates has to share
the time-slice given that UID?  Thus, the student may have one process or
twenty; she/he has the same (small) impact on the other students.

My random thoughts:

Since the idea is to limit the time slice to one unit per logged-on user,
using the UID isn't fair to those logged on twice.  Perhaps the controlling
terminal would be a better way to determine the time-slice allocation.

Perhaps, most conveniently, this feature can be done with a system call
that creates a CPU-process-group (CPUPG).  All members of the same CPUPG
share the same CPU time slice.  A related system call turns on or off
automatic CPUPG creation.  With it turned on, every new process gets
its own unique CPUPG and the net result is every process is scheduled
on its own, as it is under the present scheduler.  With automatic CPUPG
disabled, every new process gets added to the CPUPG of the parent and
has to share the parent's time-slice.  Perhaps set-uid processes should
be exempt from this kind of inheritance.  Details to be worked out...
-- 
        -IAN!  (Ian! D. Allen)      University of Waterloo



More information about the Comp.unix.wizards mailing list