<operating system> Processes scheduling in which the scheduler selects
tasks to run based on their priority as opposed to, say, a simple round-robin.
Priorities may be static or dynamic. Static priorities are assigned at the time
of creation, while dynamic priorities are based on the processes' behaviour
while in the system. For example, the scheduler may favour I/O-intensive tasks
so that expensive requests can be issued as early as possible.
A danger of priority scheduling is starvation, in which processes with lower
priorities are not given the opportunity to run. In order to avoid starvation,
in preemptive scheduling, the priority of a process is gradually reduced while
it is running. Eventually, the priority of the running process will no longer be
the highest, and the next process will start running. This method is called
priority interrupt « priority inversion « priority
priority scheduling » PRISM » Prisoner of Bill »