Priority Scheduling

• The fundamental idea is straightforward: each process is assigned a priority, and priority is permitted to run. Equal-Priority processes are scheduled in FCFS order. The shortest-Job-First (SJF) algorithm is a special case of general priority scheduling algorithm.• Priority can be defined either internally or outwardly. Internally distinct priorities use some measurable quantities or behaviors to compute priority of a process.• An SJF algorithm is simply a priority algorithm where the priority is the inverse of the (predicted) next CPU burst. That is, the longer the CPU explodes, the lower the priority and vice versa.Illustrations of Internal priorities are• Deadlines. • Memory necessities. • CPU Vs I/O necessities. • File necessities, for example, number of open files. Externally distinct priorities are set by criteria that are external to operating system for example:• The significance of process. • Kind or amount of funds being rewarded for computer use. • The division sponsoring the work. • A preemptive priority algorithm will preemptive the CPU if the priority of the newly arrival process is higher than the priority of the currently running process.• This scheduling can be either preemptive or non preemptive• A non-preemptive priority algorithm will simply put the new process at the head of the ready queue. A major trouble with priority scheduling is indefinite blocking or starvation. A solution to the trouble of indefinite blockage of the low-priority process is aging. Aging is a method of gradually increasing the priority of processes that wait in the system for an extended period of time.