Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems CPU Scheduling. Agenda for Today What is Scheduler and its types Short-term scheduler Dispatcher Reasons for invoking scheduler Optimization.

Similar presentations


Presentation on theme: "Operating Systems CPU Scheduling. Agenda for Today What is Scheduler and its types Short-term scheduler Dispatcher Reasons for invoking scheduler Optimization."— Presentation transcript:

1 Operating Systems CPU Scheduling

2 Agenda for Today What is Scheduler and its types Short-term scheduler Dispatcher Reasons for invoking scheduler Optimization criteria FCFS, SJF, SRTF, RR, Multi level Queues With Examples

3 CPU Scheduling  Scheduling processes in the ready queue  Short-term scheduler  Different types of schedulers

4 Life of a Process

5 Histogram of CPU- burst Times

6 CPU Scheduler  Short-term scheduler  Selects a process from among the processes in the ready queue  Invokes the dispatcher to have the CPU allocated to the selected process

7 Dispatcher  Dispatcher gives control of the CPU to the process selected by the short-term scheduler; this involves:  switching context  switching to user mode  jumping to the proper location in the user program to start (or restart) it

8 Dispatcher  Dispatch latency – time it takes for the dispatcher to stop one process and start another running.  Typically, a few microseconds

9 CPU Scheduler  CPU scheduling decisions may take place when a process: 1.Switches from running to waiting state 2.Switches from running to ready state 3.Switches from waiting to ready 4.Terminates

10 CPU Scheduler  Scheduling under 1 and 4 is nonpreemptive.  All other scheduling is preemptive.

11 Scheduling Criteria  CPU utilization – keep the CPU as busy as possible  Throughput – # of processes that complete their execution per time unit  Turnaround time – amount of time to execute a particular process

12 Scheduling Criteria  Waiting time – amount of time a process has been waiting in the ready queue  Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time- sharing environment)

13 Optimization Criteria  Maximize CPU utilization  Maximize throughput  Minimize turnaround time  Minimize waiting time  Minimize response time

14 FCFS Scheduling  The process that enters the ready queue first is scheduled first, regardless of the size of its next CPU burst  Example: ProcessBurst Time P 1 24 P 2 3 P 3 3  Suppose that processes arrive into the system in the order: P 1, P 2, P 3

15 FCFS Scheduling  Processes are served in the order: P 1, P 2, P 3  The Gantt Chart for the schedule is:  Waiting times P 1 = 0; P 2 = 24; P 3 = 27  Average waiting time: (0+24+27)/3 = 17 P1P1 P2P2 P3P3 2427300

16  Suppose that processes arrive in the order: P 2, P 3, P 1.  The Gantt chart for the schedule is:  Waiting time for P 1 = 6; P 2 = 0 ; P 3 = 3  Average waiting time: (6 + 0 + 3)/3 = 3  Convoy effect short process behind long process P1P1 P3P3 P2P2 63300 FCFS Scheduling

17 Shortest-Job-First (SJF) Scheduling  Process with the shortest CPU burst is scheduled first.  Non-preemptive – once CPU given to a process it cannot be preempted until completes its CPU burst.

18 Shortest-Job-First (SJF) Scheduling  Preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt it—Shortest- Remaining-Time-First (SRTF).  SJF is optimal non-preemptive scheduling algorithm – gives minimum average waiting time for a given set of processes.

19 Non-Preemptive SJF  Process Arrival Time Burst Time P 1 0.07 P 2 2.04 P 3 4.01 P 4 5.04  Gantt chart  Average waiting time = (0+6+3+7)/4 = 4 P1P1 P3P3 P2P2 7160 P4P4 12

20 Preemptive SJF  Process Arrival TimeBurst Time P 1 0.07 P 2 2.04 P 3 4.01 P 4 5.04  Gantt chart  Average waiting time = (9 + 1 + 0 +2)/4 = 3 P3P3 P2P2 4 2 11 0 P4P4 57 P2P2 P1P1 16 P1P1

21 Priority Scheduling  A priority number (integer) is associated with each process  The CPU is allocated to the process with the highest priority (smallest integer  highest priority).  Preemptive  Non-preemptive

22 Priority Scheduling  SJF is a priority scheduling where priority is the predicted next CPU burst time.  Problem  Starvation – low priority processes may never execute.  Solution  Aging – as time progresses increase the priority of the process.

23 Round Robin (RR)  Each process gets a small unit of CPU time, called time slice or quantum, which is usually 10- 100 milliseconds. After this time has elapsed, the process is preempted and added to the end of the ready queue.

24 Round Robin (RR)  If there are n processes in the ready queue, the time quantum is q, and context switch time is t cs, then no process waits more than (n-1)(q+t cs ) time units  Used in time-sharing systems where response time is an important performance criteria

25 Performance  q large  FCFS  q small  q must be large with respect to context switch, otherwise overhead is too high. Round Robin (RR)

26 Round Robin Example ProcessBurst Time P 1 53 — 33 — 13 P 2 17 P 3 68 — 48 — 28 — 8 P 4 24 — 4  The Gantt chart with quantum 20 is: P1P1 P2P2 P3P3 P4P4 P1P1 P3P3 P4P4 P1P1 P3P3 P3P3 02037577797117121134154162

27 Round Robin Example ProcessTurnaround TimeWaiting Time P 1 134134 – 53 = 81 P 2 3737 – 17 = 20 P 3 162162 – 68 = 94 P 4 121121 – 24 = 97  Average waiting time = 73  Average waiting time for SJF = 38  Typically, higher average turnaround than SJF, but better response.

28 Quantum vs Context Switch Process Time = 10 Quantum Context Switches 12 0 6 1 1 9

29 Multilevel Queues  Ready queue is partitioned into separate queues: - foreground (interactive) - background (batch)  Each queue has its own priority and scheduling algorithm: - foreground – RR - background – FCFS

30 Multilevel Queues  Scheduling must be done across queues.  Fixed priority scheduling; i.e., serve all from foreground then from background.  Time slice – each queue gets a certain percentage of CPU time, e.g., 80% to foreground in RR and 20% to background in FCFS

31 Multilevel Queues

32 Multilevel Feedback Queues  A process can move between the various queues; aging can be implemented this way.  Multilevel-feedback-queue scheduler defined by the following parameters:  Number of queues  Scheduling algorithms for each queue

33 Multilevel Feedback Queues  Method used to determine when to upgrade a process  Method used to determine when to demote a process  Method used to determine which queue a process will enter when that process needs service

34 Multilevel Feedback Queues


Download ppt "Operating Systems CPU Scheduling. Agenda for Today What is Scheduler and its types Short-term scheduler Dispatcher Reasons for invoking scheduler Optimization."

Similar presentations


Ads by Google