係統粉 > 電腦問答 > 其他問答

已解決調度算法圖怎麼畫

提問者:寂寞式等待55  |  瀏覽次  |  提問時間:2017-03-15  |  回答數量:1

調度算法圖怎麼畫(圖1)

已有1條答案
猥瑣君____

猥瑣君____

回答數:203  |  被采納數:136

調度算法

通常將作業或進程歸入各種就緒或阻塞隊列。有的算法適用於作業調度,有的算法適用於進程調度,有的兩者都適應。

1.先來先服務(FCFS,FirstComeFirstServe)

先來先服務(FCFS,FirstComeFirstServe)是最簡單的調度算法,按先後順序進行調度。

1.FCFS算法

按照作業提交或進程變為就緒狀態的先後次序,分派CPU;

當前作業或進程占用CPU,直到執行完或阻塞,才出讓CPU(非搶占方式)。

在作業或進程喚醒後(如I/O完成),並不立即恢複執行,通常等到當前作業或進程出讓CPU。最簡單的算法。

2.FCFS的特點

比較有利於長作業,而不利於短作業。

有利於CPU繁忙的作業,而不利於I/O繁忙的作業。



2.輪轉法(RoundRobin)

輪轉法(RoundRobin)是讓每個進程在就緒隊列中的等待時間與享受服務的時間成正比例。

1.輪轉法

Ø將係統中所有的就緒進程按照FCFS原則,排成一個隊列。

Ø每次調度時將CPU分派給隊首進程,讓其執行一個時間片。時間片的長度從幾個ms到幾百ms。

Ø在一個時間片結束時,發生時鍾中斷。

Ø調度程序據此暫停當前進程的執行,將其送到就緒隊列的末尾,並通過上下文切換執行當前的隊首進程。

Ø進程可以未使用完一個時間片,就出讓CPU(如阻塞)。

Ø

2.時間片長度的確定

Ø時間片長度變化的影響

²過長->退化為FCFS算法,進程在一個時間片內都執行完,響應時間長。

²過短->用戶的一次請求需要多個時間片才能處理完,上下文切換次數增加,響應時間長。

Ø對響應時間的要求:T(響應時間)=N(進程數目)*q(時間片)

Ø就緒進程的數目:數目越多,時間片越小

Ø係統的處理能力:應當使用戶輸入通常在一個時間片內能處理完,否則使響應時間,平均周轉時間和平均帶權周轉時間延長。

3.多級反饋隊列算法(RoundRobinwithMultipleFeedback)

多級反饋隊列算法時間片輪轉算法和優先級算法的綜合和發展。

優點:

²為提高係統吞吐量和縮短平均周轉時間而照顧短進程。

²為獲得較好的I/O設備利用率和縮短響應時間而照顧I/O型進程。

²不必估計進程的執行時間,動態調節。

1.多級反饋隊列算法

²設置多個就緒隊列,分別賦予不同的優先級,如逐級降低,隊列1的優先級最高。每個隊列執行時間片的長度也不同,規定優先級越低則時間片越長,如逐級加倍。

²新進程進入內存後,先投入隊列1的末尾,按FCFS算法調度;若按隊列1一個時間片未能執行完,則降低投入到隊列2的末尾,同樣按FCFS算法調度;如此下去,降低到最後的隊列,則按“時間片輪轉”算法調度直到完成。

²僅當較高優先級的隊列為空,才調度較低優先級的隊列中的進程執行。如果進程執行時有新進程進入較高優先級的隊列,則搶先執行新進程,並把被搶先的進程投入原隊列的末尾。

²


2.幾點說明

²I/O型進程:讓其進入最高優先級隊列,以及時響應I/O交互。通常執行一個小時間片,要求可處理完一次I/O請求的數據,然後轉入到阻塞隊列。

²計算型進程:每次都執行完時間片,進入更低級隊列。最終采用最大時間片來執行,減少調度次數。

²I/O次數不多,而主要是CPU處理的進程。在I/O完成後,放回優先I/O請求時離開的隊列,以免每次都回到最高優先級隊列後再逐次下降。

²為適應一個進程在不同時間段的運行特點,I/O完成時,提高優先級;時間片用完時,降低優先級。
2017-03-15 14:53:24
讚 20
相關問答
最新其他問答
解決方法