完全可操作的排程準則(a fully-operational scheduling discipline):
對作業系統中執行的程序(有時也叫工作任務)做出如下的假設:
每乙個程序執行相同的時間。
所有的程序同時到達。
一旦開始,每個程序保持執行直到完成。
所有的程序只是用 cpu(即它們不執行 io 操作)。
每個工作的執行時間是已知的。
周轉時間(turnaround time): 任務的周轉時間定義為任務完成時間減去任務到達系統的時間。t周轉時間 = t
完成時間 − t
到達時間
先進先出(first in first out 或 fifo)排程:
護航效應(convoy effect):一些耗時較少的潛在資源消費 者被排在重量級的資源消費者之後。
最短任務優先(shortest job first,sjf): 先執行最短的任務,然後是次短的任務,如此下去。 如果所有工作同時到達,可以證明 sjf 確實是乙個最優(optimal)排程演算法。
最短完成時間優先(shortest time-to-completion first,stcf)或搶占式最短作業優先(preemptive shortest job first ,psjf)排程程式: 每當新工作進入系統時,它就會確定剩餘工作和新工作中,誰的剩餘時間最少,然後排程該工作。 stcf 可證明是最優的。
響應時間(response time): 響應時間定義為從任務到達系統到首次執行的時間。stcf 和相關方法雖然有很好的周轉時間,但對於響應時間和互動性是相當糟糕的。t響應時間 = t
首次執行 − t
到達時間
輪轉(round-robin,rr)排程:時間片越短,rr 在響應時間上表現越好。但時間片太短,突然上下文切換的成本將影響整體效能。rr 在乙個時間片(time slice,有時稱為排程量子,scheduling quantum)內執行乙個工作,然後切換到執行佇列中的下乙個任務,而不是執行乙個任務直到結束。它反覆執行,直到所有任務完成。
pr的周轉時間指標最差。更一般地說,任何公平(fair)的政策(如 rr),即在小規模的時間內將 cpu 均勻分配到活動程序之間,在周轉時間這類指標上表現不佳。
兩種排程程式,第一種型別(sjf、stcf)優化周轉時間,但對響應時間不利。第二種型別(rr)優化響應時間,但對周轉時間不利。
排程程式結合 i/o:
將每個 cpu 突發作為一項工作,排程程式確保「互動」的程序經常執行。當這些互動式作業正在執行 i/o 時,其他 cpu 密集型作業將執行,從而更好地利用處理器。
排程程式不知道每個工作的長度。
程序排程三 程序排程介紹
一 程序排程介紹 1 程序排程的產生 程序從使用資源方面可以分為如下兩類,不管是i o還是cpu受限類的程序,cpu都希望再盡可能短的時間 完成更多的工作,但另一方面,又希望盡可能的減少資源 i o或cpu 的消耗,這兩則之間存在矛盾,所以程序 的排程管理就是來協調兩者之間的衝突。型別別稱 描述示例...
7 程序排程 介紹
目錄這章介紹了一些基本的排程策略,從周轉時間和響應時間兩個指標分別討論這些策略的優劣。在進入正文之前首先了解周轉時間 響應時間如何計算。t t t t t t 周轉時間代表工作從到達和完成之間所花費時間,響應時間代表工作從到達和開始處理工作之間的時間花費。介紹之前做出如下假設 每個工作執行相同的時間...
程序排程演算法(程序排程策略)
程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...