1 / 17

Operating Systems Lecture 17 Scheduling III - PowerPoint PPT Presentation

Operating Systems Lecture 17 Scheduling III. Recall Scheduling Criteria. CPU utilization –fraction of time the CPU is busy. CPU efficiency – fraction of time the CPU is executing user code. Throughput – # of processes completed per unit time

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Operating Systems Lecture 17 Scheduling III' - chesmu

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Operating SystemsLecture 17

Scheduling III

Operating System Concepts

• CPU utilization –fraction of time the CPU is busy.

• CPU efficiency – fraction of time the CPU is executing user code.

• Throughput – # of processes completed per unit time

• Average Turnaround time – average delay between job submission and job completion.

• Normalized turnaround time – Ratio of turnaround time to service time per process. Indicates the relative delay experienced by a process.

• 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.

Operating System Concepts

P1

P3

P2

P4

0

3

7

8

12

16

Process Arrival TimeBurst Time

P1 0.0 7

P2 2.0 4

P3 4.0 1

P4 5.0 4

• SJF (non-preemptive) Selection criterion: min(s)

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

• Avg service time = (7 + 4 + 1 + 4)/4 = 4

• Throughput = 4/16 = 0.25

• Avg turnaround = (7 + 10 + 4 + 11)/4 = 32/4 = 8

• Check consistency. Wait = (Turnaround - Service - Dispatch)

Operating System Concepts

P1

P2

P3

P2

P4

P1

11

16

0

2

4

5

7

Process Arrival TimeBurst Time

P1 0.0 7

P2 2.0 4

P3 4.0 1

P4 5.0 4

• SJF (preemptive) Selection criterion: min(s - e)

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

• What statistics are different from non-preemptive SJF?

What are the values of these stats?

Operating System Concepts

• Can be done by using the length of previous CPU bursts, using exponential averaging.

If we expand the formula, we get:

n+1 =  tn+(1 - )  tn-1+ …

+(1 -  )j  tn-j+ …

+(1 -  )n+1 0

Operating System Concepts

Priority Scheduling first)

• A priority number (integer) is associated with each process.

• The CPU is allocated to the process with the highest priority

• Some systems have a high number represent high priority.

• Other systems have a low number represent high priority.

• Text uses a low number to represent high priority.

• Priority scheduling may be preemptive or nonpreemptive.

Operating System Concepts

Assigning Priorities first)

• SJF is a priority scheduling where priority is the predicted next CPU burst time.

• Other bases for assigning priority:

• Memory requirements

• Number of open files

• Avg I/O burst / Avg CPU burst

• External requirements (amount of money paid, political factors, etc).

• Problem: Starvation -- low priority processes may never execute.

• Solution: Aging -- as time progresses increase the priority of the process.

Operating System Concepts

Round Robin Scheduling first)

• Each process gets a small unit of CPU time (time quantum).

• A time quantum is usually 10-1000 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.

Operating System Concepts

P1

P2

P3

P4

P1

P3

P4

P1

P3

P3

0

20

37

57

77

97

117

121

134

154

162

ProcessBurst Time

P1 53

P2 17

P3 68

P4 24

• The Gantt chart is:

• Compute: Avg service time, Throughput, avg turnaround, avg wait:

• Typically, higher average turnaround than SJF, but better response.

• Suppose P1 arrives at 0, P2 at 19, P3 at 23 and P4 at 25. What changes? What are the new values?

Operating System Concepts

RR Performance first)

• Performance varies with the size of the time slice, but not in a simple way.

• Short time slice leads to faster interactive response.

• Problem: Adds lots of context switches. High Overhead.

• Longer time slice leads to better system throughput (lower overhead), but response time is worse.

• If time slice is too long, RR becomes just like FCFS.

• Time slice vs process switch time:

• If time slice = 20 msec and process switch time = 5 msec, then 5/25 = 20% of CPU time spent on overhead.

• If time slice = 500 msec, then only 1% of CPU used for overhead.

• The time slice should be large compared to the process switch time.

• A typical time slice is 1 sec (4.3 BSD UNIX)

• RR makes the implicit assumption that all processes are equally important.

• Cannot use RR is you want different processes to have different priorities.

Operating System Concepts

Multilevel Queues first)

• Ready queue is partitioned into separate queues: E.g.:foreground (interactive)background (batch)

• Each queue has its own scheduling algorithm, e.g.:foreground – RRbackground – FCFS

• Scheduling must be done between the queues. Possible methods:

• 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

• Works well for time sharing systems.

Operating System Concepts

Operating System Concepts

• 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

• 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 (where to put new processes)

Operating System Concepts

• New processes go to the highest priority queue for that job type.

• Top priorities reserved for system processes.

• If process uses full time slice, it moves down a priority.

• If process blocks before using full time slice, it remains at the same priority.

• Higher priority queues have smaller time slices than lower priority queues.

Operating System Concepts

• Three queues:

• Q0 – time quantum 8 milliseconds

• Q1 – time quantum 16 milliseconds

• Q2 – FCFS

• Scheduling

• A new job enters queue Q0which is servedFCFS. 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 Q2.

Operating System Concepts

Operating System Concepts

• Short processes are favored.

• Good for interactive processes with short CPU bursts.

• Is starvation Possible?

• Yes--Long processes may wait forever.

• To avoid--increase the priority of a process if it has been waiting for some period of time in some queue.

Operating System Concepts