← Back

Priority Scheduler Simulator

What is Priority Scheduling?

A priority scheduler always selects a ready process from the highest non-empty priority queue. Processes with the same priority follow FIFO order. This simulator uses three levels: High, Medium, and Low.

Selection orderHigh → Medium → Low
Same priorityFIFO
Preemption unitConfigurable quantum
Starvation controlOptional aging

Scheduler controls

700 ms

Priority Queues

High PriorityFRONT → REAR
Medium PriorityFRONT → REAR
Low PriorityFRONT → REAR

Current Process

Add a process or load the example workload.

Current time0
Ready processes0
Completed0
Promotions0

Process metrics

ProcessPriorityBurstRemainingArrivalCompletionTurnaroundWaiting

Execution log

  1. No scheduler events yet.

Priority scheduling concepts

Strict priority

The scheduler never selects a lower-priority process while a higher-priority queue contains work.

FIFO tie breaking

Processes within the same priority level are served in arrival order. An unfinished process returns to the rear of its own queue.

Starvation

A steady stream of high-priority work can delay lower-priority processes indefinitely. This is called starvation.

Aging

Aging gradually promotes processes that have waited too long. Set the threshold to 0 to disable aging.

Algorithm summary

StepAction
1Choose the front process from the highest non-empty priority queue.
2Run it for min(quantum, remaining time).
3Complete it or return it to the rear of its priority queue.
4Promote waiting processes whose aging threshold has been reached.