In priority scheduling every process has a priority
- It can be user defined
- Or it can be automatically generated by the OS based on criteria such as: Memory requirements (e.g. requesting more heap) Other resource usage (e.g. I/O) Time limits (e.g. real-time constraints)
Processes with the same priority can be scheduled with FCFS OR Round Robin OR Shortest Job First scheduling
Processes that involve interrupts (e.g. mouse, screen, keyboard events) get high priority automatically There are special processes that take priority over everything e.g. Operating System Processes
Priority scheduling could be pre-emptive and non-pre-emptive.
Process are ordered in the Ready queueu in order of their priority. Aging can be used to resolve starvation problems.