CPU Scheduling | Principles of Operating Systems
CPU (Central Processing Unit) SCHEDULING
Scheduling is the fundamental operating system function. Scheduling refers to set of policies and mechanisms built into the operating system. Almost all computer resources (RAM, CPU, Hard disk etc.) are scheduled before use. The CPU is one of the primary computer resources, so its scheduling is necessary before its usage. Thus its scheduling is the central to operating system design.
CPU scheduling is the basis of multi-programmed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. Note that the objective of multiprogramming is to have some process running all times, in order to maximize CPU utilization and optimize the system performance.
A scheduler is an OS module that selects the next jobs to be admitted into the system & the next process to run.
SCHEDULING CRITERIA
Different CPU scheduling algorithms have different properties. Many criteria have been suggested for comparing CPU scheduling algorithms.
CPU utilization: Note that we must keep CPU as busy as possible. CPU utilization may range from 0% to 100%. In a real system, it should range from 40% (lightly loaded) to 90% (heavily loaded).
Throughput: Number of processes completed per unit time is throughput. Throughput refers to the work done by CPU. For long processes, this rate may be 1 process per hour.