Module 3A.pptx-3
Module 3A.pptx-3
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition 5.2 Silberschatz, Galvin and Gagne ©2009
Objectives
● To introduce CPU scheduling, which is the basis for multiprogrammed operating
systems
Basic Concepts
● Maximum CPU utilization obtained with multiprogramming
Operating System Concepts – 8th Edition 5.4 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition 5.6 Silberschatz, Galvin and Gagne ©2009
CPU Scheduler
● Selects from among the processes in ready queue, and allocates the CPU to one of
them
● Queue may be ordered in various ways
● CPU scheduling decisions may take place when a process:
1. Switches from running to waiting state(in case of I/O request)
2. Switches from running to ready state(in case of interrupt)
3. Switches from waiting to ready(in case of I/O completion)
4. When a process Terminates
● Scheduling under 1 and 4 is nonpreemptive
● All other scheduling is preemptive
● Consider access to shared data
● Consider preemption while in kernel mode
● Consider interrupts occurring during crucial OS activities
● Non-preemptive- Once CPU is assigned to a process, it remains with it until it
releases CPU on termination or entering a waiting state
● All other scheduling is preemptive
Operating System Concepts – 8th Edition 5.7 Silberschatz, Galvin and Gagne ©2009
Dispatcher
● Dispatcher module 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 restart that program
● Dispatch latency – time it takes for the dispatcher to stop one process and start
another running
Operating System Concepts – 8th Edition 5.8 Silberschatz, Galvin and Gagne ©2009
Scheduling Criteria
● CPU utilization – keep the CPU as busy as possible
● 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)
Operating System Concepts – 8th Edition 5.9 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition 5.10 Silberschatz, Galvin and Gagne ©2009
First-Come, First-Served (FCFS) Scheduling
Process Burst Time
P1 24
P2 3
P3 3
3
● Suppose that the processes arrive in the order: P1 , P2 , P The Gantt Chart for the schedule is:
P1 P2 P3
0 24 27 30
P1 P3 P2
0 3 6 30
● Waiting time for P1 = 6; P2 = 0; P3 = 3
● Average waiting time: (6 + 0 + 3)/3 = 3
● Much better than previous case
● Convoy effect - short process behind long process
● Consider one CPU-bound and many I/O-bound processes
Operating System Concepts – 8th Edition 5.12 Silberschatz, Galvin and Gagne ©2009
Example
P2 5 3
P3 0 2
P4 5 1
P5 4 3
Operating System Concepts – 8th Edition 5.13 Silberschatz, Galvin and Gagne ©2009
Solution
Operating System Concepts – 8th Edition 5.14 Silberschatz, Galvin and Gagne ©2009
Cont…
Exit time Turn Waiting time
Process Id Around time
P1 7 7 – 3 = 4 4 – 4 = 0
P2 13 13 – 5 = 8 8 – 3 = 5
P3 2 2 – 0 = 2 2 – 2 = 0
P4 14 14 – 5 = 9 9 – 1 = 8
P5 10 10 – 4 = 6 6 – 3 = 3
Operating System Concepts – 8th Edition 5.15 Silberschatz, Galvin and Gagne ©2009
Question
Process Id Arrival time Burst time
P1 0 2
P2 3 1
P3 5 6
Operating System Concepts – 8th Edition 5.16 Silberschatz, Galvin and Gagne ©2009
Shortest-Job-First (SJF) Scheduling
● Associate with each process the length of its next CPU burst
● Use these lengths to schedule the process with the shortest time
● SJF is optimal – gives minimum average waiting time for a given set of
processes
● The difficulty is knowing the length of the next CPU request
● Could ask the user
Operating System Concepts – 8th Edition 5.17 Silberschatz, Galvin and Gagne ©2009
Example of SJF
ProcessArriBurst Time
P10.0 6
P2 2.0 8
P34.0 7
P45.0 3
● SJF scheduling chart
P
P4 P 3
1
P2
24
Operating System Concepts – 8th Edition 5.18 Silberschatz, Galvin and Gagne ©2009
Shortest-remaining-time-first(Preemptive) ●
Now we add the concepts of varying arrival times and preemption to the analysis
ProcessA arri Arrival TimeT Burst Time
P1 0 8
P2 1 4
P3 2 9
P4 3 5
● Preemptive SJF Gantt Chart
P1P P2 1
P3
P4
0 1 10 17
5 26
● Average waiting time = [(10-1)+(1-1)+(17-2)+5-3)]/4 = 26/4 = 6.5 msec
Operating System Concepts – 8th Edition 5.19 Silberschatz, Galvin and Gagne ©2009
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
● Nonpreemptive
● SJF is priority scheduling where priority is the inverse of predicted next CPU burst
time
● Problem ≡ Starvation – low priority processes may never execute
Operating System Concepts – 8th Edition 5.20 Silberschatz, Galvin and Gagne ©2009
P1
P2 P3 P5 P4
= 8.2 msec
16
18
19
Operating System Concepts – 8th Edition 5.21 Silberschatz, Galvin and Gagne ©2009
Practise question
ProcessA arri Burst TimeT Priority Arrival Time
P1 4 1 0
P2 3 2 0
P3 7 1 6
P4 4 3 11
P5 2 2 12
Operating System Concepts – 8th Edition 5.22 Silberschatz, Galvin and Gagne ©2009
Example-Preemptive priority
ProcessA arri Burst TimeT Priority Arrival Time
P1 4 1 0
P2 3 2 0
P3 7 1 6
P4 4 3 11
P5 2 2 12
P1 P2 P3 P2 P5 P4
0 4 6 13 14 16 20
Operating System Concepts – 8th Edition 5.23 Silberschatz, Galvin and Gagne ©2009
Practise problem
Operating System Concepts – 8th Edition 5.24 Silberschatz, Galvin and Gagne ©2009
Solution
Operating System Concepts – 8th Edition 5.26 Silberschatz, Galvin and Gagne ©2009
P1 P2 P3 P1 P1 P1 P1 P1
410 14 18 22 26 30
● Typically, higher average turnaround than SJF, but better response
● q should be large compared to context switch time
● q usually 10ms to 100ms, context switch < 10 usec
Operating System Concepts – 8th Edition 5.27 Silberschatz, Galvin and Gagne ©2009
Question on RR
Process Burst Time AT
P1 24 0
P2 3 1
P3 3 2
P4 6 5
0 4 7 10 14 18 22 24 36 P1 P2 P3 P1 P4 P1 P4 P1 P1 P1
Operating System Concepts – 8th Edition 5.28 Silberschatz, Galvin and Gagne ©2009
Time Quantum and Context Switch
Time
Operating System Concepts – 8th Edition 5.29 Silberschatz, Galvin and Gagne ©2009
Practise problem
Process Id Arrival Time Burst Time P1 0 5
P2 1 6
P3 2 3
P4 3 1
P5 4 5
P6 6 4
Time quantum =4 ms
Operating System Concepts – 8th Edition 5.31 Silberschatz, Galvin and Gagne ©2009
● Scheduling
●A new job enters queue Q0 which is served FCFS
4 When it gains CPU, job receives 8 milliseconds
Operating System Concepts – 8th Edition 5.35 Silberschatz, Galvin and Gagne ©2009
Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009