在個人計算機,服務器和其他類型的交互式系統上實施了常見的調度算法
為每個過程分配一個時間間隔,稱為其“量子”,在此期間允許其運行。完成其量子過程後,將其封鎖並置於隊列的結尾。調度程序是隱含的假設,即所有過程同樣重要。循環的有趣問題是量子的長度。設置量子太短會導致太多的過程開關並降低CPU效率。但是設置時間太長可能會導致對簡短互動請求的反應不佳。
每個過程都被分配一個優先級,並且可以運行具有最高優先級的可運行的RPOCESS。為了防止高優先級流程無限運行,調度程序可以在每個時鐘刻度或其他時間間隔下降低當前運行過程的優先級。如果此操作導致其優先級降至下一個最高過程的優先級,則會發生一個過程開關。可以將優先級分配給靜態或動態過程。通常方便地將進程分組為優先級CALSSES並在類中使用優先級調度,但是課程優先調度內的圓形旋轉計劃存在無限期阻止或飢餓的問題,在該問題中,低優先級任務可以永遠等待。解決這個問題的一種常見解決方案是衰老,其中工作的優先級增加了,他們等待的時間越長。在這個計劃下,低優先級的工作最終將在時間上獲得足夠高的優先級。
當可以對過程進行分類時,就可以建立多個單獨的隊列,每種都實現任何計划算法最適合該類型的作業。還必須在隊列之間進行調度,這是計劃一個隊列以獲取與其他隊列相對的時間。常見的選擇是優先級和圓形旋轉。進程無法切換隊列,退出隊列或輸入隊列。
由於以下原因,此計劃類似於多級隊列調度計劃,除了作業可以從一個隊列轉移到另一個隊列以外: - 如果過程的特徵在CPU -INTIMESIVE之間切換到I/O密集型。 - 如果過程老化,那麼該過程已經等待了很長時間
該計劃運行最短的過程,並根據過去的行為計算哪些過程最短。計算很簡單,將新值添加到當前估計值中,並將總和除以2。通過獲取當前測量值的加權平均值來估算序列中的下一個值的技術,而先前的估計有時稱為老化。
隨著n個過程的運行,所有事物都相等,每個過程都應得到CPU週期的1/N。系統必須跟踪自創建以來每個過程的CPU數量,然後計算每個過程有權與實際CPU時間比率的CPU量。然後,該算法以最低的評分運行,直到其比率超過其最接近的競爭對手的比率
想法是為系統資源(例如CPU時間)提供流程彩票。當必須做出安排決定時,隨機選擇了彩票,並保存該票證的過程獲取資源。可以給更重要的流程提供額外的門票,以增加其獲勝的IDD。持有門票f的過程將獲得有關資源的一小部分F。如果他們願意