Problem Statement
What are the main goals of CPU scheduling in an operating system?
Explanation
CPU scheduling aims to optimise several metrics so the system runs efficiently and fairly. These goals include maximising CPU utilization (keeping the CPU as busy as possible), maximising throughput (number of processes completed per unit time), minimising turnaround time (time from submission to completion), minimising waiting time (time a process waits in the ready queue), and minimising response time (time from request submission to first response) especially in interactive systems. An operating system must balance these often-competing goals when choosing its scheduling algorithm.
