OS-06

23
Prof. D.S.R. Murthy OS-6 CPU Scheduling 1 CPU Scheduling Basic Concepts Scheduling Criteria Sche duli ng Algor ithms FCFS SJF Nonpreemptive Preemptive (SRTF) Priority RR Multilevel Queue Multilevel Feedback Queue Multiple-Pr ocessor Scheduling Real-Time Scheduling

Transcript of OS-06

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 1/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 1

CPU Scheduling

Basic Concepts

Scheduling Criteria

Scheduling Algorithms

FCFS

SJF

NonpreemptivePreemptive (SRTF)

Priority

RR 

Multilevel Queue

Multilevel Feedback Queue

Multiple-Processor Scheduling

Real-Time Scheduling

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 2/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 2

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.

Alternating Sequence of CPU and I/O Bursts

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 3/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 3

Basic Concepts

CPU Scheduler

Selects from among the processes in memory that are ready to execute,

and allocates the CPU to one of them.

CPU scheduling decisions may take place when a process:

1. Switches from running to waiting state Nonpreemptive.

2. Switches from running to ready state Preemptive.

3. Switches from waiting to ready Preemptive.

4. Terminates Nonpreemptive.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 4/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 4

Basic Concepts

Dispatcher

module gives control of the CPU to the process

selected by the short-term scheduler.

involves:

Switching context.

Switching to user mode.

Jumping to the proper location in the user program to restart that program.

Di spatch latency

Time it takes for the dispatcher to stop one process and start another running.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 5/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 5

Scheduling Criteria

CPU utilization

Keep the CPU as busy as possible.Range 0 ± 100%

ThroughputNo. of processes completed execution per time unit.

Turnaround timeAmount of time to execute a particular process.

Waiting timeAmount of time a process has been waiting in the ready queue.

Response time

Amount of time it takes to start responding, not output

(for time-sharing environment).

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 6/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 6

Scheduling Criteria

Opt imiz at ion Cr i ter i a

MaximiseCPU utilization

Throughput

MinimiseTurnaround time

Waiting time

Response time

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 7/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 7

Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Process that requests the CPU first is allocated the CPU first.

Nonpreemptive.Example:

Process Burst Time

P1 24

P2 3

P3 3

Suppose that the processes arrive in the order: P1, P2, P3

Gantt Chart for the schedule is:

P1 P2 P3

24 27 300

Waiting time for P1 = 0; P2 = 24; P3 = 27

Average waiting time: (0 + 24 + 27) / 3 = 17

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 8/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 8

Scheduling Algorithms

First-Come, First-Served (FCFS) Scheduling

Example:

Process Burst TimeP1 24

P2 3

P3 3

Suppose that the processes arrive in the order P2, P3, P1.

Gantt Chart for the schedule is:

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

Much better than previous case.

Convoy effect short process behind long process

P1P3P2

63 300

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 9/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 9

Scheduling Algorithms

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.

Schemes:

Nonpreemptive

Once CPU given to the process it cannot be preempted

until completes its CPU burst.Preemptive

If a new process arrives with CPU burst length less than

remaining time of current executing process, preempt.

Shortest-Remaining-Time-First (SRTF).

SJF is optimal

Gives minimum average waiting time for a given set of processes.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 10/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 10

Scheduling Algorithms

Shortest-Job-First (SJF) Scheduling

Ex ample of Non-Preempt ive SJF 

Process Arrival Time Burst Time

P1 0 7

P2 2 4

P3 4 1

P4 5 4

Gantt chart for the schedule is:

P1 P3 P2

73 160

P4

8 12

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

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 11/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 11

Scheduling Algorithms

Shortest-Job-First (SJF) Scheduling

Ex ample of Preempt ive SJF / SRTF 

Process Arrival Time Burst Time

P1 0 7

P2 2 4

P3 4 1

P4 5 4

Gantt chart for the schedule is:

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

P1 P3P2

42 110

P4

5 7

P2 P1

16

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 12/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 12

Scheduling Algorithms

Priority Scheduling

Priority no. (integer) is associated with each process.

CPU is allocated to the process with the highest priority

(Smallest integer ± Highest priority).

Preemptive

Nonpreemptive

SJF is a priority scheduling

where priority is the predicted next CPU burst time.

Major Problem

Starvation ± low priority processes may never execute.

Solution

Aging ± as time progresses increase the priority of the process.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 13/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 13

Scheduling Algorithms

Priority Scheduling

Ex ample of Pr ior i ty Schedul i ng Process Burst Time Priority

P1 10 3

P2 1 1

P3 2 4

P4 1 5

P5 5 2

Gantt chart for the schedule is:

P2 P5

61 180

P4

16 19

P1P3

Average waiting time = (6 + 0 + 16 + 18 + 1) / 5 = 8.2

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 14/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 14

Scheduling Algorithms

Round Robin (RR)

Each process gets a small unit of CPU time (t ime quantum),

usually 10-100 milliseconds.

After this time has elapsed, the process is preempted

and added to the end of the ready queue.

If there are n processes in the ready queue and the time quantum is q,

then each process gets 1/n of the CPU time

in chunks of at most q time units at once.

No process waits more than (n-1)q time units.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 15/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 15

Scheduling Algorithms

Round Robin (RR)

Ex ample of RR wi th T ime Quantum = 20

Process Burst Time

P1 53

P2 17

P3 68

P4 24

Gantt chart is:

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

Average waiting time= [(77 + 24) + (20) + (37 + 40 + 17) + (57 + 40)] / 4

= [101 + 20 + 94 + 97] / 4

= 312 / 4

= 78

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 16/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 16

Scheduling Algorithms

Multilevel Queue Scheduling

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 17/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 17

Scheduling Algorithms

Multilevel Queue Scheduling

Ready queue is partitioned into separate queues:Foreground (interactive)

Background (batch)

Each queue has its own scheduling algorithm

Foreground ± RR 

Background ± FCFS

Scheduling 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;

i.e., 80% to foreground in RR 

20% to background in FCFS

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 18/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 18

Scheduling Algorithms

Multilevel Feedback Queue Scheduling

Allows process to move between various queues.

Aging can be implemented.

Defines the following parameters:

No. of queues

Scheduling algorithms for each queueMethod 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

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 19/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 19

Scheduling Algorithms

Multilevel Feedback Queue Scheduling

Example of Multilevel Feedback Queue

Queues:

Q0 ± time quantum 8 milliseconds

Q1 ± time quantum 16 milliseconds

Q2 ± FCFS

Scheduling

A new job enters queue Q0 that is served FCFS.

When it gains CPU, job receives 8 milliseconds.

If it does not finish in 8 milliseconds, job is moved to queue Q1.

At Q1 job is again served FCFS and receives 16 additional milliseconds.

If it still does not complete, it is preempted and moved to queue Q 2.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 20/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 20

Scheduling Algorithms

Multiple-Processor Scheduling

CPU scheduling more complex when multiple CPUs are available.

H omogeneous pr ocessors within a multiprocessor.

Load shar i ng 

Asymmetr i c mult i pr ocessi ng 

Only one processor accesses the system data structures,

alleviating the need for data sharing.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 21/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 21

Scheduling Algorithms

Real-Time Scheduling

Hard real-time systemsrequi red complet i ng a cr i t i cal task wi thi n a guaranteed amount of t ime.

Soft real-time comput i ng 

requi res that cr i t i cal pr ocesses receive pr ior i ty over less fortunate ones.

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 22/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 22

Scheduling Algorithms

Solaris 2 Scheduling

8/7/2019 OS-06

http://slidepdf.com/reader/full/os-06 23/23

Prof. D.S.R. Murthy OS-6 CPU Scheduling 23

Scheduling Algorithms

Windows 2000 Priorities