12
1 Silberschatz, Galvin and Gagne ©2002 6.1 Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation Silberschatz, Galvin and Gagne ©2002 6.2 Operating System Concepts Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU–I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait CPU burst distribution ? Silberschatz, Galvin and Gagne ©2002 6.3 Operating System Concepts Alternating Sequence of CPU And I/O Bursts

Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

  • Upload
    vutram

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

1

Silberschatz, Galvin and Gagne ©20026.1Operating System Concepts

Chapter 6: CPU Scheduling

Basic ConceptsScheduling Criteria Scheduling AlgorithmsMultiple-Processor SchedulingReal-Time SchedulingAlgorithm Evaluation

Silberschatz, Galvin and Gagne ©20026.2Operating System Concepts

Basic Concepts

Maximum CPU utilization obtained with multiprogramming

CPU–I/O Burst CycleProcess execution consists of a cycle of CPU execution and I/O wait

CPU burst distribution ?

Silberschatz, Galvin and Gagne ©20026.3Operating System Concepts

Alternating Sequence of CPU And I/O Bursts

Page 2: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

2

Silberschatz, Galvin and Gagne ©20026.4Operating System Concepts

Histogram of CPU-burst Times

Silberschatz, Galvin and Gagne ©20026.5Operating System Concepts

CPU Scheduler

Selects a ready process to run on CPUConsider process state changes:

1. from running to waiting state2. from running to ready state3. from waiting to ready4. terminate

Preemption ?NON-

Silberschatz, Galvin and Gagne ©20026.6Operating System Concepts

Dispatcher

gives control of the CPU to selected process, actions:

switching contextswitching to user modejumping 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

Page 3: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

3

Silberschatz, Galvin and Gagne ©20026.7Operating System Concepts

Scheduling Criteria

CPU utilization –keep the CPU as busy as possibleThroughput –# of processes that complete per time unitTurnaround time –amount of time to execute a processWaiting time –time a process has been waiting in the ready queueResponse time –time from request submission until the first response is

produced (time for output of response not counter)

Silberschatz, Galvin and Gagne ©20026.8Operating System Concepts

Scheduling Algorithms

First-come first-serveShorted job firstPriority basedRound robin

Silberschatz, Galvin and Gagne ©20026.9Operating System Concepts

First-Come, First-Served (FCFS) Scheduling

Process Burst TimeP1 24P2 3P3 3

Processes arrive in the order: P1 , P2 , P3 The Gantt Chart for the schedule is:

Waiting time for P1 = 0; P2 = 24; P3 = 27Average waiting time: (0 + 24 + 27)/3 = 17

P1 P2 P3

24 27 300

Page 4: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

4

Silberschatz, Galvin and Gagne ©20026.10Operating System Concepts

FCFS Scheduling (Cont.)

Suppose that the processes arrive in the orderP2 , P3 , P1

The Gantt chart for the schedule is:

Waiting time for P1 = 6; P2 = 0; P3 = 3Average waiting time: (6 + 0 + 3)/3 = 3Much better than previous caseConvoy effect short process behind long process

P1P3P2

63 300

Silberschatz, Galvin and Gagne ©20026.11Operating System Concepts

Shortest-Job-First (SJR) Scheduling

Determine processes’ CPU burst lengthSchedule the process with the shortest lengthTwo schemes:

non-preemptiverunning process completes its CPU burst.

preemptive new process arrives with CPU burst length less than remaining time of current process preemptsName: Shortest-Remaining-Time-First (SRTF)

SJF is optimalminimum average waiting time for a given set of processes

Silberschatz, Galvin and Gagne ©20026.12Operating System Concepts

Process Arrival Time Burst TimeP1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4

SJF (non-preemptive)

Average waiting time = (0 + 6 + 3 + 7)/4 - 4

Example of Non-Preemptive SJF

P1 P3 P2

73 160

P4

8 12

Page 5: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

5

Silberschatz, Galvin and Gagne ©20026.13Operating System Concepts

Example of Preemptive SJF

Process Arrival Time Burst TimeP1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4

SJF (preemptive)

Average waiting time = (9 + 1 + 0 +2)/4 - 3

P1 P3P2

42 110

P4

5 7

P2 P1

16

Silberschatz, Galvin and Gagne ©20026.14Operating System Concepts

Determining Length of Next CPU Burst

Can only estimate the lengthCan be done by using the length of previous CPU bursts, using exponential averaging

:Define 4.10 , 3.

burst CPU next the for value predicted 2.burst CPU of lenght actual 1.

≤≤=

=

+

αατ 1n

thn nt

( ) nnn t ταατ −+=+ 1 1

Silberschatz, Galvin and Gagne ©20026.15Operating System Concepts

Prediction of the Length of the Next CPU Burst

Page 6: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

6

Silberschatz, Galvin and Gagne ©20026.16Operating System Concepts

Examples of Exponential Averaging

α =0τn+1 = τn Recent history does not count

α =1τn+1 = tn Only the actual last CPU burst counts

If we expand the formula, we get:τn+1 = α tn+(1 - α) α tn -1 + …

+(1 - α )j α tn -1 + …+(1 - α )n=1 tn τ0

Since both α and (1 - α) are less than or equal to 1, each successive term has less weight

Silberschatz, Galvin and Gagne ©20026.17Operating System Concepts

Priority Scheduling

each process has a priority (integer) process with highest priority gets CPU(smallest integer ≡ highest priority)

preemptivenonpreemptive

SJF is a form of priority scheduling,priority is the predicted next CPU burst timeProblem ≡ Starvation

low priority processes may never execute

Solution ≡ Aging as time progresses increase the priority of the process

Silberschatz, Galvin and Gagne ©20026.18Operating System Concepts

Round Robin (RR)

Each process runs for quantum of CPU time,Time quantum: usually 10-100 milliseconds

After time has elapsed, process is preempted and added to the end of the ready queue

for n processes each gets 1/n of CPUin chunks of time quantum qno process waits more than (n-1)q time unitsperformance

q large ⇒ FIFOq small ⇒ q must be large with respect to context switch, otherwise overhead is too high

Page 7: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

7

Silberschatz, Galvin and Gagne ©20026.19Operating System Concepts

Example of RR with Time Quantum = 20

Process Burst TimeP1 53P2 17P3 68P4 24

The Gantt chart is:

Typically, higher average turnaround than SJF, but better response

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

Silberschatz, Galvin and Gagne ©20026.20Operating System Concepts

Time Quantum and Context Switch Time

Silberschatz, Galvin and Gagne ©20026.21Operating System Concepts

Turnaround Time Varies With The Time Quantum

Page 8: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

8

Silberschatz, Galvin and Gagne ©20026.22Operating System Concepts

Multilevel Queue

Ready queue is partitioned into separate queues:foreground (interactive)background (batch)Each queue has its own scheduling algorithm, foreground – RRbackground – FCFSScheduling must be done between the queues

Fixed priority scheduling; (i.e., serve all from foreground then from background). Possibility of starvation.Time slice – each queue gets a certain amount of CPU time which it can schedule amongst its processes

80% to foreground in RR20% to background in FCFS

Silberschatz, Galvin and Gagne ©20026.23Operating System Concepts

Multilevel Queue Scheduling

Silberschatz, Galvin and Gagne ©20026.24Operating System Concepts

Multilevel Feedback Queue

A process can move between the various queuesaging can be implemented this way

Multilevel-feedback-queue scheduler defined by the following parameters:

number of queuesscheduling algorithms for each queuemethod to determine when to upgrade a processmethod to determine when to demote a processmethod to determine which queue a process will enter when that process needs service

Page 9: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

9

Silberschatz, Galvin and Gagne ©20026.25Operating System Concepts

Example of Multilevel Feedback Queue

Three queues: Q0 – time quantum 8 millisecondsQ1 – time quantum 16 millisecondsQ2 – FCFS

SchedulingA new job enters queue Q0 which is served FCFS When it gains CPU, job receives 8 millisecondsIf it does not finish in 8 milliseconds,

job is moved to queue Q1At Q1 job is again served FCFS and receives 16 additional millisecondsIf it still does not complete, it is preempted andmoved to queue Q2

Silberschatz, Galvin and Gagne ©20026.26Operating System Concepts

Multilevel Feedback Queues

Silberschatz, Galvin and Gagne ©20026.27Operating System Concepts

Multiple-Processor Scheduling

CPU scheduling more complex when multiple CPUs are availableHomogeneous processors within a multiprocessorLoad sharingAsymmetric multiprocessing

only one processor accesses the system data structures, alleviating the need for data sharing

Page 10: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

10

Silberschatz, Galvin and Gagne ©20026.28Operating System Concepts

Real-Time Scheduling

Hard real-time systemsrequired to complete a critical task within a guaranteed amount of time

Soft real-time computingrequires that critical processes receive priority over less fortunate onesMore effective with kernel preemption

Kernel data structures at riskConflict resolution

– Preemption points– Priority inheritance

Silberschatz, Galvin and Gagne ©20026.29Operating System Concepts

Dispatch Latency

Let competing processes finish kernel data access

Silberschatz, Galvin and Gagne ©20026.30Operating System Concepts

Algorithm Evaluation

Deterministic modelingtakes a particular predetermined workload and defines the performance of each algorithm for that workload

Queuing modelsImplementation

Page 11: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

11

Silberschatz, Galvin and Gagne ©20026.31Operating System Concepts

Evaluation of CPU Schedulers by Simulation

Silberschatz, Galvin and Gagne ©20026.32Operating System Concepts

Solaris 2 Scheduling

Maypreempt kernel

RR: TimesliceVs.

priority

PreemptivePriorityBased

Silberschatz, Galvin and Gagne ©20026.33Operating System Concepts

Windows XP Priorities

• Priority is adjusted • after each run: down• up after return from wait, more for GUI wait

• active window gets priority boost• foreground process get larger time quantum

classgrade

Page 12: Operating System Concepts 6.1 Silberschatz, Galvin …ege/cop4610/Slides/ch6.pdfMultilevel Feedback Queue A process can move between the various queues)aging can be implemented this

12

Silberschatz, Galvin and Gagne ©20026.34Operating System Concepts

Linux

Time-sharing methodPriority-based preemptive scheduling

Credit-based algorithmCredits = credits / 2 + priority

Process with highest credit runsEach time slice consumes 1 creditProcess runs until block, or credits exhaustedIf no process has credits, credits are recomputed for all

Gives preference to processes doing I/O