搶占式優先順序調度演算法
❶ 五種進程調度演算法的總結;
1、時間片輪轉調度 演算法 (RR):給每個進程固定的執行時間,根據進程到達的先後順序讓進程在單位時間片內執行,執行完成後便調度下一個進程執行,時間片輪轉調度不考慮進程等待時間和執行時間,屬於搶占式調度。優點是兼顧長短作業;缺點是平均等待時間較長,上下文切換較費時。適用於分時系統。
2、先來先服務調度演算法(FCFS):根據進程到達的先後順序執行進程,不考慮等待時間和執行時間,會產生飢餓現象。屬於非搶占式調度,優點是公平,實現簡單;缺點是不利於短作業。
3、優先順序調度演算法(HPF):在進程等待隊列中選擇優先順序最高的來執行。
4、多級反饋隊列調度演算法:將時間片輪轉與優先順序調度相結合,把進程按優先順序分成不同的隊列,先按優先順序調度,優先順序相同的,按時間片輪轉。優點是兼顧長短作業,有較好的響應時間,可行性強,適用於各種作業環境。
5、高響應比優先調度演算法:根據「響應比=(進程執行時間+進程等待時間)/ 進程執行時間」這個公式得到的響應比來進行調度。高響應比優先演算法在等待時間相同的情況下,作業執行的時間越短,響應比越高,滿足段任務優先,同時響應比會隨著等待時間增加而變大,優先順序會提高,能夠避免飢餓現象。優點是兼顧長短作業,缺點是計算響應比開銷大,適用於批處理系統。
❷ 進程調度的方式有哪兩種試列舉至少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、多級反饋隊列:
多級隊列方法:將系統中所有進程分成若干類,每類為一級。多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權。
❸ 嵌入式實時操作系統中,基於優先順序的搶占式調度演算法(如uC/OS)與RMS調度演算法有關系嗎
第一個問題:rms不是實時調度演算法,不具有實時性,是為了單處理器條件下達到利用率最高的靜態調度演算法
第二個問題:上面已經指出,ucos的調度演算法是基於靜態優先順序的搶占式調度,rms沒有搶占。至於你說的其他聯系。。。都是調度演算法吧,,,
最後一個問題:我大概都給你說明一下吧,我的見解。
①實時性:rms不具有實時性,長作業可能長時間得不到執行;ucos的調度演算法是實時性的,每個節拍都會調用調度演算法
②優先順序:rms是動態優先順序,優先順序是進程的剩餘執行時間,會動態變動;ucos的調度演算法是靜態優先順序,創建進程時候確定
③搶占性:短作業優先分為可搶占和不可搶占,搶占的時機是有新作業就緒的時候;ucos是搶占性的,只要節拍到了,就進行調度,誰優先只看優先順序。
對於調度演算法,要靈活一點掌握,拿那些實時性搶占性優先順序的一種取值隨機組合一下都是一種新的調度演算法,一般設計的時候都是按照需求來的。
自己的見解,知識有限,可能有些地方不夠詳盡,只是希望能幫到你
❹ 優先順序調度演算法如何用JAVA實現
在多線程時,可以手動去設置每個線程的優先順序setPriority(int newPriority)
更改線程的優先順序。
❺ 優先權調度演算法可分為_______和______兩種方式。
優先權調度演算法可分為
非搶占式優先權演算法和搶占式優先權調度演算法兩種方式。
1.非搶占式優先權演算法
在這種方式下,系統一旦把處理機分配給就緒隊列中優先權最高的進程後,該進程便一直執行下去,直至完成;
或因發生某事件使該進程放棄處理機時,系統方可再將處理機重新分配給另一優先權最高的進程.這種調度演算法主要用於批處理系統中;也可用於某些對實時性要求不嚴的實時系統中.
2.搶占式優先權調度演算法
系統同樣把處理機分配給優先權最高的進程,使之執行.但在其執行期間,只要又出現了另一個其優先權更高的進程,進程調度程序就立即停止當前進程(原優先權最高的進程)的執行,重新將處理機分配給新到的優先權最高的進程.
這種搶占式的優先權調度演算法,能更好地滿足緊迫作業的要求,常用於要求比較嚴格的實時系統中,
以及對性能要求較高的批處理和分時系統中.
參考:http://louzi8888.blog.163.com/blog/static/22283442010315112010946/