Operating System Design/Scheduling Processes/Priority Scheduling
There are several ways that priorities can be assigned:
- Internal priorities are assigned by technical quantities such as memory usage, and file/IO operations.
- External priorities are assigned by politics, commerce, or user preference, such as importance and amount being paid for process access (the latter usually being for mainframes).
SPN is a form of priority scheduling based on External Priorities.
Internal: At a store, the person with the right change and only two items gets to check out first. External: At a store, the cashier is bribed by the most important customer, who can thus check out first.
Advantages and Disadvantages
A process can sometimes become starved, live locked, or indefinitely blocked. One way to fix this is by aging the priority, so that the longer a process has waited for CPU time, the higher its priority is.