CPUscheduling
CPUScheduling, commonly written as CPU scheduling, is the set of techniques used by an operating system to decide which process should run on the central processing unit at any given time. The goal is to maximize overall system performance and responsiveness while ensuring fair access to CPU time. Scheduling decisions occur when a process becomes ready, blocks on I/O, or when a running process is preempted.
A scheduler selects a process from the ready queue and transfers control to it, an operation that
Common scheduling criteria include CPU utilization, throughput, average turnaround time, average waiting time, response time, and
Common algorithms: First-Come, First-Served (non-preemptive, simple but can yield long waits); Shortest Job First / Shortest Remaining
In practice, OS implementations combine strategies and tune parameters; performance depends on workload, burst time estimates,