Priority Scheduling

What is Priority Scheduling

A integer is given to each process (smaller num higher priority)
CPU is allocated process with smallest number

SJF is an example, where the priority is set by predicted next CPU burst

ISSUE - (starvation) - low priority things may never execute

SOLUTION - (ageing) - as processes get older, their priority increases


Example

Multilevel Queue

Have a Queue for each priority

Schedule the processes in the highest priority queue

Prioritise based upon process type

A process can move between levels

Parameters that make up a multilevel queue

Example

Three Queues:

Q0 - RR with q = 8ms

Q1 - RR with q = 16ms

Q2 - FCFS

All processes join at Q0 - if it doesn’t finish in the allocated time it is demoted
Same again for Q1