from
The Free On-line Dictionary of Computing (8 July 2008)
priority scheduling
<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 {aging}.