導航:首頁 > 源碼編譯 > 哪種調度演算法對短進程不利

哪種調度演算法對短進程不利

發布時間:2022-04-30 10:25:31

A. 哪種調度演算法會導致飢餓

一、處理機調度相關基本概念
1、調度方式和調度演算法的若干准則
1)面向用戶的准則:周轉時間短(CPU執行用時Ts、周轉時間T=Ts+Tw、帶權周轉時間W= T/Ts)、響應時間快、均衡性、截止時間的保證、優先權准則
2)面向系統的准則:系統吞吐量高、處理機利用率好、各類資源的平衡利用
3)批處理系統為照顧為數眾多的短作業,應採用短作業優先的調度演算法;分時系統為保證系統具有合理的響應時間,應採用輪轉法進行調度
二、常用調度演算法
1、先來先服務調度演算法FCFS
(1)按照作業提交,或進程變為就緒狀態的先後次序分派CPU;
(2)新作業只有當當前作業或進程執行完或阻塞才獲得CPU運行
(3)被喚醒的作業或進程不立即恢復執行,通常等到當前作業或進程出讓CPU。(所以,默認即是非搶占方式)
(4)有利於CPU繁忙型的作業,而不利於I/O繁忙的作業(進程)。

2、短作業(進程)優先調度演算法SJF(非搶占)/SPF(搶占)
(1)平均周轉時間、平均帶權周轉時間都有明顯改善。SJF/SPF調度演算法能有效的降低作業的平均等待時間,提高系統吞吐量。
(2)未考慮作業的緊迫程度,因而不能保證緊迫性作業(進程)的及時處理、對長作業的不利、作業(進程)的長短含主觀因素,不一定能真正做到短作業優先。

3、高優先權優先調度演算法HPF
(1)兩種方式:非搶占式優先權演算法、搶占式優先權演算法(關鍵點:新作業產生時)
(2)類型:靜態優先權:創建進程時確定,整個運行期間保持不變。動態優先權:創建進程時賦予的優先權可隨進程的推進或隨其等待時間的增加而改變。
(3)高響應比優先調度演算法HRRN
HRRN為每個作業引入動態優先權,使作業的優先順序隨著等待時間的增加而以速率a提高:優先權 =(等待時間+要求服務時間)/要求服務時間= 響應時間 / 要求服務時間。
什麼時候計算各進程的響應比優先權?(作業完成時、新作業產生時(搶占、非搶占)、時間片完成時、進程阻塞時)

B. 如果多個進程同時到達系統,則平均周轉時間最短的進程調度演算法是什麼

如果多個進程同時到達系統,則平均周轉時間最短的進程調度演算法是 短進程優先調度演算法 。
短進程優先調度演算法SJ(P)F,是指對短作業或短進程優先調度的演算法。它們可以分別用於作業調度和進程調度。短作業優先(SJF)的調度演算法是從後備隊列中選擇一個或若干個估計運行時間最短的作業,將它們調入內存運行。而短進程(SPF)調度演算法則是從就緒隊列中選出一個估計運行時間最短的進程,將處理機分配給它,使它立即執行並一直執行到完成,或發生某事件而被阻塞放棄處理機再重新調度。
優點是SJ(P)F調度演算法能有效地降低作業(進程)的平均等待時間,提高系統吞吐量。
缺點是該演算法對長作業不利;完全未考慮作業的緊迫程度,因而不能保證緊迫性作業(進程)長期不被調度;由於作業(進程)的長短只是根據用戶所提供的估計執行時間而定的,而用戶又可能會有意或無意地縮短其作業的估計運行時間,致使該演算法不一定能真正做到短作業游戲那調度。
該程序定義了一個進程數據塊(struct spf),該數據塊有進程名(name)、到達時間(arrivetime)、服務時間(servicetime)、開始執行時間(starttime)、完成時間(finishtime)、周轉時間(zztime)、平均周轉時間(averzztime)。用到的公式有:完成時間=到達時間+服務時間;周轉時間=完成時間-到達時間;(第一次執行的進程的完成時間=該進程的到達時間;下一個進程的開始執行時間=上一個進程的完成時間)。運行進程的順序需要對進程的到達時間和服務時間進行比較。如果某一進程是從0時刻到達的,那麼首先執行該進程;之後就比較進程的服務時間,誰的服務時間短就先執行誰(如果服務時間相同則看它們的到達時間,到達時間短的先執行);如果到達時間和服務時間相同,則按先來先服務演算法執行。

C. 進程調度演算法到達時間怎麼理解

是指自己在設計的任務完成到達的時間。另外調度演算法是指:根據系統的資源分配策略所規定的資源分配演算法。
一、先來先服務和短作業(進程)優先調度演算法
1. 先來先服務調度演算法。先來先服務(FCFS)調度演算法是一種最簡單的調度演算法,該演算法既可用於作業調度, 也可用於進程調度。FCFS演算法比較有利於長作業(進程),而不利於短作業(進程)。由此可知,本演算法適合於CPU繁忙型作業, 而不利於I/O繁忙型的作業(進程)。
2. 短作業(進程)優先調度演算法。短作業(進程)優先調度演算法(SJ/PF)是指對短作業或短進程優先調度的演算法,該演算法既可用於作業調度, 也可用於進程調度。但其對長作業不利;不能保證緊迫性作業(進程)被及時處理;作業的長短只是被估算出來的。
二、高優先權優先調度演算法
1. 優先權調度演算法的類型。為了照顧緊迫性作業,使之進入系統後便獲得優先處理,引入了最高優先權優先(FPF)調度演算法。 此演算法常被用在批處理系統中,作為作業調度演算法,也作為多種操作系統中的進程調度,還可以用於實時系統中。當其用於作業調度, 將後備隊列中若干個優先權最高的作業裝入內存。當其用於進程調度時,把處理機分配給就緒隊列中優先權最高的進程。

D. 作業調度演算法的短作業優先法

短作業優先(SJF, Shortest Job First)又稱為「短進程優先」SPN(Shortest Process Next);這是對FCFS演算法的改進,其目標是減少平均周轉時間。 (1) 優點:
比FCFS改善平均周轉時間和平均帶權周轉時間,縮短作業的等待時間;
提高系統的吞吐量;
(2) 缺點:
對長作業非常不利,可能長時間得不到執行;
未能依據作業的緊迫程度來劃分執行的優先順序;
難以准確估計作業(進程)的執行時間,從而影響調度性能。 「最短剩餘時間優先」SRT(Shortest Remaining Time)(允許比當前進程剩餘時間更短的進程來搶占)
「最高響應比優先」HRRN(Highest Response Ratio Next)(響應比R = (等待時間 + 要求執行時間) / 要求執行時間,是FCFS和SJF的折衷)

E. 在進程調度演算法中,對短進程不利的度演算法是()

一般認為是A選項吧,加入先到的都是長進程,後面是短進程,這樣對段進成就相當不利。

F. 什麼是進程調度常用的進程調度演算法有哪些試比較他們之間的性能。 什麼是進程調度

進程調度,用戶進程數進程調度一般都多於處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。無論是在批處理系統還是分時系統中,用戶進程數 進程調度 一般都多於處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。這就要求進程調度程序按一定的策略,動態地把處理機分配給處於就緒隊列中的某一個進程,以使之執行。 進程調度的的分級 高級、中級和低級調度作業從提交開始直到完成,往往要經歷下述三級調度: 高級調度:(High-Level Scheling)又稱為作業調度,它決定把後備作業調入內存運行; 低級調度:(Low-Level Scheling)又稱為進程調度,它決定把就緒隊列的某進程獲得CPU; 中級調度:(Intermediate-Level Scheling)又稱為在虛擬存儲器中引入,在內、外存對換區進行進程對換。先進先出演算法 進程調度 演算法總是把處理機分配給最先進入就緒隊列的進程,一個進程一旦分得處理機,便一直執行下去,直到該進程完成或阻塞時,才釋放處理機。 例如,有三個進程P1、P2和P3先後進入就緒隊列,它們的執行期分別是21、6和3個單位時間, 執行情況如下圖: 對於P1、P2、P3的周轉時間為21、27、30,平均周轉時間為26。 可見,FIFO演算法服務質量不佳,容易引起作業用戶不滿,常作為一種輔助調度演算法。 最短CPU運行期優先調度演算法(SCBF--Shortest CPU Burst First) 該演算法從就緒隊列中選出「下一個CPU執行期」最短的進程,為之分配處理機。 例如,在就緒隊列中有四個進程P1、P2、P3和P4,它們的下一個執行期分別是16、12、4和3個單位時間,執行情況如下圖: P1、P2、P3和P4的周轉時間分別為35、19、7、3,平均周轉時間為16。 該演算法雖可獲得較好的調度性能,但難以准確地知道下一個CPU執行期,而只能根據每一個進程的執行歷史來預測。 輪轉法 前幾種演算法主要用於批處理系統中,不能作為分時系統中的主調度演算法,在分時系統中,都採用時間片輪轉法。 簡單輪轉法:系統將所有就緒進程按FIFO規則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。 多級隊列方法:將系統中所有進程分成若干類,每類為一級。 多級反饋隊列 多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權

G. 什麼是最短作業優先調度演算法

最短作業優先調度演算法是對預計執行時間短的作業(進程)優先分派處理機,通常後來的短作業不搶先正在執行的作業。這種演算法稱為這種演算法會根據作業長短,也就是作業服務時間的多少來調度作業,服務時間短的會被優先調度執行。

這種演算法的優點是比FCFS改善平均周轉時間和平均帶權周轉時間,縮短作業的等待時間;提高系統的吞吐量。
演算法的缺點在於對比較長的作業可能長期得不到調度,對長作業不利;還有就是作業的服務時間是用戶向系統提交作業時設定好的,難免有些用戶為了讓自己的作業先調度,會把服務時間縮短,也就是有人為的因素在裡面。

H. 進程調度的方式有哪兩種試列舉至少4種進程調度演算法。

進程調度的方式有非剝奪方式和剝奪方式。
非剝奪方式:
分派程序一旦把處理機分配給某進程後便讓它一直運行下去,直到進程完成或發生某事件而阻塞時,才把處理機分配給另一個進程。
剝奪方式:
當一個進程正在運行時,系統可以基於某種原則,剝奪已分配給它的處理機,將之分配給其它進程。剝奪原則有:優先權原則、短進程優先原則、時間片原則。
進程調度演算法:
1、先進先出演算法(FIFO):
演算法總是把處理機分配給最先進入就緒隊列的進程,一個進程一旦分得處理機,便一直執行下去,直到該進程完成或阻塞時,才釋放處理機。
舉例:有三個進程P1、P2和P3先後進入就緒隊列,它們的執行期分別是21、6和3個單位時間,對於P1、P2、P3的周轉時間為21、27、30,平均周轉時間為26。可見,FIFO演算法服務質量不佳,容易引起作業用戶不滿,常作為一種輔助調度演算法。
2、最短CPU運行期優先調度演算法(SCBF--Shortest CPU Burst First):
該演算法從就緒隊列中選出下一個「CPU執行期最短」的進程,為之分配處理機。
舉例:在就緒隊列中有四個進程P1、P2、P3和P4,它們的下一個執行進程調度期分別是16、12、4和3個單位時間,P1、P2、P3和P4的周轉時間分別為35、19、7、3,平均周轉時間為16。該演算法雖可獲得較好的調度性能,但難以准確地知道下一個CPU執行期,而只能根據每一個進程的執行歷史來預測。
3、時間片輪轉法:
前幾種演算法主要用於批處理系統中,不能作為分時系統中的主調度演算法,在分時系統中,都採用時間片輪轉法。簡單輪轉法:系統將所有就緒進程按FIFO規則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。
4、多級反饋隊列:
多級隊列方法:將系統中所有進程分成若干類,每類為一級。多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權。

I. 比較演算法優缺點:

作業調度演算法 .
1.先來先服務(FCFS, First Come First Serve)是最簡單的調度演算法,按先後順序進行調度。

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

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

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

適用場景:
比較有利於長作業,而不利於短作業。因為長作業會長時間占據處理機。

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

演算法實現原理圖:

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

定義:
將系統中所有的就緒進程按照FCFS原則,排成一個隊列。

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

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

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

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

時間片長度的確定:
時間片長度變化的影響

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

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

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

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

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

演算法實現原理圖:

3. 多級反饋隊列演算法(Round Robin with Multiple Feedback)
多級反饋隊列演算法是輪轉演算法和優先順序演算法的綜合和發展。

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

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

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

優點:
為提高系統吞吐量和縮短平均周轉時間而照顧短進程。

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

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

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

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

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

為適應一個進程在不同時間段的運行特點,I/O完成時,提高優先順序;時間片用完時,降低優先順序。

演算法實現原理圖:

4. 優先順序法(Priority Scheling)
優先順序演算法是多級隊列演算法的改進,平衡各進程對響應時間的要求。適用於作業調度和進程調度,可分成搶先式和非搶先式。

靜態優先順序:
作業調度中的靜態優先順序大多按以下原則確定:

由用戶自己根據作業的緊急程度輸入一個適當的優先順序。

由系統或操作員根據作業類型指定優先順序。

系統根據作業要求資源情況確定優先順序。

進程的靜態優先順序的確定原則:

按進程的類型給予不同的優先順序。

將作業的情態優先順序作為它所屬進程的優先順序。

動態優先順序:
進程的動態優先順序一般根據以下原則確定:

根據進程佔用有CPU時間的長短來決定。

根據就緒進程等待CPU的時間長短來決定。

5.短作業優先法(SJF, Shortest Job First)
短作業優先又稱為「短進程優先」SPN(Shortest Process Next);這是對FCFS演算法的改進,其目標是減少平均周轉時間。

定義:
對預計執行時間短的作業(進程)優先分派處理機。通常後來的短作業不搶先正在執行的作業。

SJF的特點:
(1) 優點:

比FCFS改善平均周轉時間和平均帶權周轉時間,縮短作業的等待時間;

提高系統的吞吐量;

(2) 缺點:

對長作業非常不利,可能長時間得不到執行;

未能依據作業的緊迫程度來劃分執行的優先順序;

難以准確估計作業(進程)的執行時間,從而影響調度性能。

SJF的變型:
「最短剩餘時間優先」SRT(Shortest Remaining Time)(允許比當前進程剩餘時間更短的進程來搶占)

「最高響應比優先」HRRN(Highest Response Ratio Next)(響應比R = (等待時間 + 要求執行時間) / 要求執行時間,是FCFS和SJF的折衷)

6. 最高響應比優先法(HRN,Highest Response_ratio Next)
最高響應比優先法是對FCFS方式和SJF方式的一種綜合平衡。FCFS方式只考慮每個作業的等待時間而未考慮執行時間的長短,而SJF方式只考慮執行時間而未考慮等待時間的長短。因此,這兩種調度演算法在某些極端情況下會帶來某些不便。HRN調度策略同時考慮每個作業的等待時間長短和估計需要的執行時間長短,從中選出響應比最高的作業投入執行。

響應比R定義如下: R =(W+T)/T = 1+W/T

其中T為該作業估計需要的執行時間,W為作業在後備狀態隊列中的等待時間。每當要進行作業調度時,系統計算每個作業的響應比,選擇其中R最大者投入執行。這樣,即使是長作業,隨著它等待時間的增加,W / T也就隨著增加,也就有機會獲得調度執行。這種演算法是介於FCFS和SJF之間的一種折中演算法。由於長作業也有機會投入運行,在同一時間內處理的作業數顯然要少於SJF法,從而採用HRN方式時其吞吐量將小於採用SJF 法時的吞吐量。另外,由於每次調度前要計算響應比,系統開銷也要相應增加。

閱讀全文

與哪種調度演算法對短進程不利相關的資料

熱點內容
戀聽app哪裡下載 瀏覽:707
金鏟鏟之戰為什麼一直伺服器滿 瀏覽:70
安卓手機如何像蘋果一樣app資源庫 瀏覽:127
安卓本地資料庫加密方式 瀏覽:644
二沖程壓縮比 瀏覽:145
單片機acall指令功能 瀏覽:112
如何下載醫保商戶app 瀏覽:799
python爬蟲實現獲取斗魚主播信息 瀏覽:459
mv命令參數 瀏覽:495
彈射世界強化彈射演算法 瀏覽:439
xp壓縮包軟體下載 瀏覽:717
手機at命令撥號 瀏覽:999
解壓過視頻在哪裡看 瀏覽:184
ipad無法選擇伺服器登錄怎麼辦 瀏覽:828
程序員適合開網店嗎 瀏覽:586
應聘浪潮程序員 瀏覽:873
07年畢業的深圳程序員薪資 瀏覽:924
java解析網頁 瀏覽:837
2020廣西藝術分演算法 瀏覽:102
手機解壓文件大不能解壓 瀏覽:100