priority scheduling

priority scheduling

(operating system)Processes scheduling in which thescheduler selects tasks to run based on their priority asopposed to, say, a simple round-robin.

Priorities may be static or dynamic. Static priorities areassigned at the time of creation, while dynamic priorities arebased on the processes' behaviour while in the system. Forexample, the scheduler may favour I/O-intensive tasks sothat expensive requests can be issued as early as possible.

A danger of priority scheduling is starvation, in whichprocesses with lower priorities are not given the opportunityto run. In order to avoid starvation, in preemptivescheduling, the priority of a process is gradually reducedwhile it is running. Eventually, the priority of the runningprocess will no longer be the highest, and the next processwill start running. This method is called aging.