Operating System allocates priorities to jobs. Deciding which job to run next is the job of the scheduler. The scheduler must maximize throughout try to process as many jobs as possible in as little time as possible. Balance resource use and avoid pushing low-priority jobs to the back of the queue forever.