Operating Systems { week 06.b }

Preview:

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

Citation preview

Operating Systems{week 06.b}

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

Short-term (CPU) scheduling

the dispatcher operates here

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)

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

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

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

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

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

Multiclass systems

Operating systems that support priority schemes are often called multiclass systems

use a separate schedulingalgorithm for each queue

Multilevel Queue (MQ)

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

Multilevel Feedback Queue (MFQ)

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

quantum is synonymouswith time slice

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

Recommended