The Utah TENEX scheduler

A scheduling algorithm which is a modification of the standard TENEX scheduler is described. This algorithm differs from those commonly used in time-sharing systems in that it treats the case of multiple critical resources. The Utah scheduler considers CPU usage and real core occupancy, but the same techniques can be applied to cases of more than two critical resources. Similar scheduling tehniques can be applied to interactive batch-processing systems and to resource sharing systems.