How To Choose A Scheduling Algorithm
When designing an operating system, a programmer must consider which scheduling algorithm will perform best for the use the system is going to see. There is no universal “best” scheduling algorithm, and many operating systems use extended or combinations of the scheduling algorithms above. For example, Windows NT/XP/Vista uses a multilevel feedback queue, a combination of fixed priority preemptive scheduling, round-robin, and first in first out. In this system, processes can dynamically increase or decrease in priority depending on if it has been serviced already, or if it has been waiting extensively. Every priority level is represented by its own queue, with round-robin scheduling amongst the high priority processes and FIFO among the lower ones. In this sense, response time is short for most processes, and short but critical system processes get completed very quickly. Since processes can only use one time unit of the round robin in the highest priority queue, starvation can be a problem for longer high priority processes.
Read more about this topic: Scheduling Algorithms, Scheduling Disciplines
Famous quotes containing the word choose:
“The majority of persons choose their wives with as little prudence as they eat. They see a trull with nothing else to recommend her but a pair of thighs and choice hunkers, and so smart to void their seed that they marry her at once. They imagine they can live in marvelous contentment with handsome feet and ambrosial buttocks. Most men are accredited fools shortly after they leave the womb.”
—Edward Dahlberg (19001977)