CPU Scheduler :
CPU Scheduler A CPU scheduler is responsible for
Removal of running process from the CPU
Selection of the next running process
Based on a particular strategy
Goals for a Scheduler :
Goals for a Scheduler Maximize
CPU utilization: keep the CPU as busy as possible
Throughput: the number of processes completed per unit time
Goals for a Scheduler :
Goals for a Scheduler Minimize
Response time: the time of submission to the time the first response is produced
Wait time: total time spent waiting in the ready queue
Turnaround time: the time of submission to the time of completion
Goals for a Scheduler :
Goals for a Scheduler Suppose we have processes A, B, and C, submitted at time 0
We want to know the response time, waiting time, and turnaround time of process A A B C A B C A C A C Time response time = 0
Goals for a Scheduler :
Goals for a Scheduler Suppose we have processes A, B, and C, submitted at time 0
We want to know the response time, waiting time, and turnaround time of process B A B C A B C A C A C Time
Goals for a Scheduler :
Goals for a Scheduler Suppose we have processes A, B, and C, submitted at time 0
We want to know the response time, waiting time, and turnaround time of process C A B C A B C A C A C Time
Goals for a Scheduler :
Goals for a Scheduler Achieve fairness
There are few obstacles to achive these goals