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
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
- Number of queues
- Scheduling algorithm used
- Method used to determine when to upgrade a process
- Method used to degrade a process
- Method choosing which queue a method will join when that process need servicing
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

