A Policy-Driven Scheduler for a Time-Sharing System The service received by a process from a time-sharing operating system can be characterized by a resource count SUM{w[i]R[ij]} where R[ij] is the number of units of service received by process i from resource i and w[i] is the cost per unit of the service. Each class of users can be characterized by a policy function which specifies the amount of service a user who belongs to this class should receive as a function of time. Priority changes dynamically as a function of the difference between the service promised to the user by the policy function and the service he actually receives. A scheduling and swapping algorithm which keeps the resource count of each process above its policy function will provide the specified level of service. Overhead can be reduced by avoiding swaps of process which have received at least his level of service. The algorithm has been implemented in a general purpose operating system, and it has provided significantly better service to interactive and to batch jobs than the previous scheduler. CACM February, 1971 Bernstein, A. J. Sharp, J. C. scheduler, time-sharing, operating system, resource allocation and swapping 4.32 CA710202 JB February 8, 1978 9:54 AM 2219 4 2219 2344 4 2219 1938 5 2219 2219 5 2219 2219 5 2219 2219 5 2219 2950 5 2219 3072 5 2219 1713 6 2219 2219 6 2219 2219 6 2219 2245 6 2219 2375 6 2219