熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

操作系統:高優先權優先調度算法

2013-11-15 15:53:39  來源: 操作系統 

   高優先權優先調度算法

   優先權調度算法的類型

  )非搶占式優先權算法

  在這種方式下系統一旦把處理機分配給就緒隊列中優先權最高的進程後該進程便一直執行下去直至完成或因發生某事件使該進程放棄處理機時系統方可再將處理機重新分配給另一優先權最高的進程這種調度算法主要用於批處理系統中也可用於某些對實時性要求不嚴的實時系統中

  ) 搶占式優先權調度算法

  在這種方式下系統同樣是把處理機分配給優先權最高的進程使之執行但在其執行期間只要又出現了另一個其優先權更高的進程進程調度程序就立即停止當前進程(原優先權最高的進程)的執行重新將處理機分配給新到的優先權最高的進程因此在采用這種調度算法時是每當系統中出現一個新的就緒進程i時就將其優先權Pi與正在執行的進程j的優先權Pj進行比較如果Pi≤Pj原進程Pj便繼續執行但如果是Pi>Pj則立即停止Pj的執行做進程切換使i進程投入執行顯然這種搶占式的優先權調度算法能更好地滿足緊迫作業的要求故而常用於要求比較嚴格的實時系統中以及對性能要求較高的批處理和分時系統中

   優先權的類型

  ) 靜態優先權

  靜態優先權是在創建進程時確定的且在進程的整個運行期間保持不變一般地優先權是利用某一范圍內的一個整數來表示的例如~~中的某一整數又把該整數稱為優先數只是具體用法各異有的系統用表示最高優先權當數值愈大時其優先權愈低而有的系統恰恰相反

  確定進程優先權的依據有如下三個方面

  ()進程類型

  () 進程對資源的需求

  () 用戶要求

  ) 動態優先權

  動態優先權是指在創建進程時所賦予的優先權是可以隨進程的推進或隨其等待時間的增加而改變的以便獲得更好的調度性能例如我們可以規定在就緒隊列中的進程隨其等待時間的增長其優先權以速率a提高若所有的進程都具有相同的優先權初值則顯然是最先進入就緒隊列的進程將因其動態優先權變得最高而優先獲得處理機此即FCFS算法若所有的就緒進程具有各不相同的優先權初值那麼對於優先權初值低的進程在等待了足夠的時間後其優先權便可能升為最高從而可以獲得處理機當采用搶占式優先權調度算法時如果再規定當前進程的優先權以速率b下降則可防止一個長作業長期地壟斷處理機

   高響應比優先調度算法

  優先權的變化規律可描述為

  由於等待時間與服務時間之和就是系統對該作業的響應時間故該優先權又相當於響應比RP據此又可表示為

  () 如果作業的等待時間相同則要求服務的時間愈短其優先權愈高因而該算法有利於短作業

  () 當要求服務的時間相同時作業的優先權決定於其等待時間等待時間愈長其優先權愈高因而它實現的是先來先服務

  () 對於長作業作業的優先級可以隨等待時間的增加而提高當其等待時間足夠長時其優先級便可升到很高從而也可獲得處理機

——返回教材目錄

了解更多計算機相關基礎課程視頻


From:http://tw.wingwit.com/Article/program/czxt/201311/24154.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.