operating systems { week 06.b }

12
Operating Systems {week 06.b} Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.

Upload: callie-reynolds

Post on 30-Dec-2015

23 views

Category:

Documents


2 download

DESCRIPTION

Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D. Operating Systems { week 06.b }. Short-term (CPU ) scheduling. the dispatcher operates here. CPU scheduling algorithms (i). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Operating Systems { week  06.b }

Operating Systems{week 06.b}

Rensselaer Polytechnic InstituteCSC 432 – Operating SystemsDavid Goldschmidt, Ph.D.

Page 2: Operating Systems { week  06.b }

Short-term (CPU) scheduling

the dispatcher operates here

Page 3: Operating Systems { week  06.b }

CPU scheduling algorithms (i) CPU scheduling requires an algorithm to

determine which process to dispatch next

Scheduling algorithms include: First-Come, First-Served (FCFS) Shortest-Job-First (SJF) Round-Robin (RR) Priority Multilevel Queue (MQ)

Page 4: Operating Systems { week  06.b }

CPU scheduling algorithms (ii)

Preemptive scheduling preempts a running process before itstime slice expires Or it preempts a process

because its time slice has expired

Non-preemptive scheduling gives a process exclusive uninterrupted access to the CPU for the entirety of its execution

process

process process process

Page 5: Operating Systems { week  06.b }

CPU scheduling algorithms (iii) Compare scheduling algorithms by

measuring CPU utilization – keep CPU as busy as possible Throughput – maximize the number of

processes that complete their execution per unit time

Turnaround time – minimize the elapsed time to fully execute a particular process

Waiting time – minimize the elapsed time a process waits in the ready queue

Page 6: Operating Systems { week  06.b }

Round-Robin (RR)

RR is a preemptive algorithmthat gives all ready processesa fair time slice of CPU time Using a time slice of 2 ms....

time

Process

CPU Burst Time

P1 6 ms

P2 2 ms

P3 5 ms

P1 P3P2

62 130

P3

8 124

P1

10

P1 P3

Page 7: Operating Systems { week  06.b }

Priority Scheduling (i)

Associate a priority number with each process The dispatcher selects the process

with the highest priority For multiple ready processes with

identical priority numbers, use FCFS (or ...)

Key problem is starvation▪ Overcome starvation by aging, increasing

the priority of a process as it ages

Page 8: Operating Systems { week  06.b }

Priority Scheduling (ii)

(use this one for Project #1)

Is priority scheduling preemptive or non-preemptive? Non-preemptive priority scheduling

places higher-priority processes at the head of the queue

Preemptive priority scheduling requires a running process to be interrupted and preempted upon the arrival of a higher-priority process

process

Page 9: Operating Systems { week  06.b }

Multiclass systems

Operating systems that support priority schemes are often called multiclass systems

use a separate schedulingalgorithm for each queue

Page 10: Operating Systems { week  06.b }

Multilevel Queue (MQ)

Assign processes to multiple queues,each with its own scheduling algorithm

Page 11: Operating Systems { week  06.b }

Multilevel Feedback Queue (MFQ)

Dynamically assign processes to multiple queues based on actual CPU burst times i.e. feedback

quantum is synonymouswith time slice

Page 12: Operating Systems { week  06.b }

Practice!

Apply the FCFS, SJF, RR, and Preemptive Priority scheduling algorithms to this table:

For RR, use a time slice of 10 ms Calculate the wait and turnaround times of

each process, as well as overall averages

Process

Arrival Time

CPU Burst Time

Priority

P1 0 45 ms 5

P2 0 5 ms 3

P3 20 ms 15 ms 1

P4 60 ms 25 ms 2

lower number indicatesa higher priority

recalculate usingcontext switchtime tcs = 20 μs