91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 嵌入式系統

計算機操作系統調度策略(箅法)

發布時間:2009/1/16 0:00:00 訪問次數:1250

  調度策略是依靠調度算法來實現的。調度算法有很多種,它們各有特點。這里只簡要介紹如下幾種。

  (1)時閭片輪轉法

  這種方法要求系統中的每個進程輪流占用處理器運行一個相同的時間片。

  具體做法是:將就緒的進程排列為一個就緒進程隊列。調度器每次把處理器分配給處在隊列首部的進程,并使之運行一個規定的時間。當時間片結束時,強迫當前進程讓出處理器,并把這個進程插人就緒進程隊列的尾部,然后就把處理器分配給排在隊列首部的進程,并同樣使之運行一個規定的時間,之后再重復上述過程,如此循環輪轉地運行系統中的所有就緒進程。時間片輪轉法的示意圖如圖1所示。

  圖1 具有8個進程的時閭片輪轉調度示意圖

  時間片輪轉法是一種運行時問一到就剝奪進程處理器使用權的剝奪式調度。

  (2)優先級調度法

  在這種調度算法中,是按進程的優先級別來確定待運行進程的,即系統中的所有進程都各自有一個優先級別,這個級別就標志著一個進程在搶占處理器時的權利大小。調度器在調度時,通過觀察就緒進程的優先級別首先選擇優先級別最大的進程來作為待運行進程。

  一般來說,使用外圍設各頻繁的進程所具有的優先級別要大一些,這樣有利于提高效率;承擔重要計算任務的進程所具有的優先級別要大一些,這樣有利于盡早得到計算結果;交互式用戶的進程所具有的優先級別要大一些,這樣可使用戶等待響應的時間短一些,等等。

  在調度時,也可對進程的優先級別進行動態的調整,即在當進程耗盡時間片或重新被調度時,根據前一次運行的情況再次計算并調整所有進程的優先級別。例如,若一個進程占用處理器時間越長,那么當它被阻塞之后再次獲得調度的優先級別就應降低一些;也可根據一個進程等待處理器的時間長短來重新確定進程新的優先級別。一個進程在隊列中等待處理器的時間越長,那么在它再次被調度時,它的優先級別就可以適當地提高一些。

  (3)多級反饋隊列調度法

  這種調度算法的思想是,把系統中的所有進程分成若干個具有不同優先級別的組,同一組的進程都具有與所在組同樣的優先級別,并且把每組進程組織成一個先進先出的隊列。在設計時,按優先級別越高的組中的進程應得時間片越短的原則分配時間片。在調度時,調度器每次都從優先級別高的就緒隊列中隊首選擇就緒進程。當在高優先級別的隊列中找不到就緒進程時,才到低優先級別的就緒進程隊列中選取。

  多級反饋隊列調度法示意圖如圖2所示。

  圖2 具有24個進程的多級反饋隊列調度選中高級別進程時的示意圖

  調度工作以獲得待運行進程的進程控制塊為最終目的。調度器在調度部分根據調度算法、一旦得到了待運行進程的進程控制塊之后,立即就會開始進行進程切換工作。之所以在進程切換前一定要獲得待運行進程的進程控制塊,是因為控制塊中存放了進程切換時需要用到一個重要信息——進程的私有堆棧指針。

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



  調度策略是依靠調度算法來實現的。調度算法有很多種,它們各有特點。這里只簡要介紹如下幾種。

  (1)時閭片輪轉法

  這種方法要求系統中的每個進程輪流占用處理器運行一個相同的時間片。

  具體做法是:將就緒的進程排列為一個就緒進程隊列。調度器每次把處理器分配給處在隊列首部的進程,并使之運行一個規定的時間。當時間片結束時,強迫當前進程讓出處理器,并把這個進程插人就緒進程隊列的尾部,然后就把處理器分配給排在隊列首部的進程,并同樣使之運行一個規定的時間,之后再重復上述過程,如此循環輪轉地運行系統中的所有就緒進程。時間片輪轉法的示意圖如圖1所示。

  圖1 具有8個進程的時閭片輪轉調度示意圖

  時間片輪轉法是一種運行時問一到就剝奪進程處理器使用權的剝奪式調度。

  (2)優先級調度法

  在這種調度算法中,是按進程的優先級別來確定待運行進程的,即系統中的所有進程都各自有一個優先級別,這個級別就標志著一個進程在搶占處理器時的權利大小。調度器在調度時,通過觀察就緒進程的優先級別首先選擇優先級別最大的進程來作為待運行進程。

  一般來說,使用外圍設各頻繁的進程所具有的優先級別要大一些,這樣有利于提高效率;承擔重要計算任務的進程所具有的優先級別要大一些,這樣有利于盡早得到計算結果;交互式用戶的進程所具有的優先級別要大一些,這樣可使用戶等待響應的時間短一些,等等。

  在調度時,也可對進程的優先級別進行動態的調整,即在當進程耗盡時間片或重新被調度時,根據前一次運行的情況再次計算并調整所有進程的優先級別。例如,若一個進程占用處理器時間越長,那么當它被阻塞之后再次獲得調度的優先級別就應降低一些;也可根據一個進程等待處理器的時間長短來重新確定進程新的優先級別。一個進程在隊列中等待處理器的時間越長,那么在它再次被調度時,它的優先級別就可以適當地提高一些。

  (3)多級反饋隊列調度法

  這種調度算法的思想是,把系統中的所有進程分成若干個具有不同優先級別的組,同一組的進程都具有與所在組同樣的優先級別,并且把每組進程組織成一個先進先出的隊列。在設計時,按優先級別越高的組中的進程應得時間片越短的原則分配時間片。在調度時,調度器每次都從優先級別高的就緒隊列中隊首選擇就緒進程。當在高優先級別的隊列中找不到就緒進程時,才到低優先級別的就緒進程隊列中選取。

  多級反饋隊列調度法示意圖如圖2所示。

  圖2 具有24個進程的多級反饋隊列調度選中高級別進程時的示意圖

  調度工作以獲得待運行進程的進程控制塊為最終目的。調度器在調度部分根據調度算法、一旦得到了待運行進程的進程控制塊之后,立即就會開始進行進程切換工作。之所以在進程切換前一定要獲得待運行進程的進程控制塊,是因為控制塊中存放了進程切換時需要用到一個重要信息——進程的私有堆棧指針。

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

DFRobot—玩的就是
    如果說新車間的特點是“靈動”,FQPF12N60C那么... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
九寨沟县| 永济市| 广东省| 谢通门县| 哈巴河县| 双桥区| 常熟市| 七台河市| 会东县| 峡江县| 格尔木市| 永州市| 平安县| 金湖县| 南充市| 门头沟区| 布拖县| 广平县| 泗洪县| 襄城县| 龙州县| 江津市| 四川省| 什邡市| 南皮县| 仙居县| 建昌县| 河西区| 易门县| 天门市| 咸阳市| 玉林市| 电白县| 虎林市| 磴口县| 巴青县| 平和县| 谢通门县| 东阳市| 隆林| 长岛县|