Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site watmath.UUCP Path: utzoo!watmath!idallen From: idallen@watmath.UUCP Newsgroups: net.unix-wizards Subject: Wanted: New process scheduler with per-uid time slices Message-ID: <9324@watmath.UUCP> Date: Sun, 7-Oct-84 19:56:58 EDT Article-I.D.: watmath.9324 Posted: Sun Oct 7 19:56:58 1984 Date-Received: Mon, 8-Oct-84 03:04:20 EDT Distribution: net Organization: U of Waterloo, Ontario Lines: 26 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