国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

常見進程調度算法

2019-11-08 02:44:57
字體:
來源:轉載
供稿:網友

調度算法是指:根據(jù)系統(tǒng)的資源分配策略所規(guī)定的資源分配算法。 調度也稱dispatcher 這是內核的主要職責之一就是決定該輪到哪個任務運行了多數(shù)實時內核是基于優(yōu)先級調度算法的每個任務根據(jù)其重要程度的不同被賦予一定的優(yōu)先級基于優(yōu)先級的調度法指CPU 總是讓處在就緒態(tài)的優(yōu)先級最高的任務先運行然而究竟何時讓高優(yōu)先級任務掌握CPU 的使用權有兩種不同的情況這要看用的是什么類型的內核是非占先式還是占先式的內核一個良好的任務調度算法應該主要體現(xiàn)在以下幾個方面   公平保證每個進程得到合理的CPU 時間   高效使CPU 保持忙碌狀態(tài)即總是有進程在CPU 上運行   響應時間使交互用戶的響應時間盡可能短   周轉時間使批處理用戶等待輸出的時間盡可能短   吞吐量使單位時間內處理的進程盡可能多 很顯然在任何操作系統(tǒng)中這幾個目標不可能同時達到所以不同的操作系統(tǒng)會在這幾個方面中做出相應的取舍從而確定自己的調度算法,常用的處理機調度算法有:   1、先來先服務FCFS   2、短作業(yè)優(yōu)先SJF   3、優(yōu)先級   4、時間片輪轉法   5、多級隊列法   6、多級反饋隊列法 一、先來先服務和短作業(yè)(進程)優(yōu)先調度算法   1. 先來先服務調度算法。先來先服務(FCFS)調度算法是一種最簡單的調度算法,該算法既可用于作業(yè)調度, 也可用于進程調度。FCFS算法比較有利于長作業(yè)(進程),而不利于短作業(yè)(進程)。由此可知,本算法適合于CPU繁忙型作業(yè), 而不利于I/O繁忙型的作業(yè)(進程)。   2. 短作業(yè)(進程)優(yōu)先調度算法。短作業(yè)(進程)優(yōu)先調度算法(SJ/PF)是指對短作業(yè)或短進程優(yōu)先調度的算法,該算法既可用于作業(yè)調度, 也可用于進程調度。但其對長作業(yè)不利;不能保證緊迫性作業(yè)(進程)被及時處理;作業(yè)的長短只是被估算出來的。 二、高優(yōu)先權優(yōu)先調度算法   1. 優(yōu)先權調度算法的類型。為了照顧緊迫性作業(yè),使之進入系統(tǒng)后便獲得優(yōu)先處理,引入了最高優(yōu)先權優(yōu)先(FPF)調度算法。 此算法常被用在批處理系統(tǒng)中,作為作業(yè)調度算法,也作為多種操作系統(tǒng)中的進程調度,還可以用于實時系統(tǒng)中。當其用于作業(yè)調度, 將后備隊列中若干個優(yōu)先權最高的作業(yè)裝入內存。當其用于進程調度時,把處理機分配給就緒隊列中優(yōu)先權最高的進程,此時, 又可以進一步把該算法分成以下兩種:     1)非搶占式優(yōu)先權算法     2)搶占式優(yōu)先權調度算法(高性能計算機操作系統(tǒng))   2. 優(yōu)先權類型 。對于最高優(yōu)先權優(yōu)先調度算法,其核心在于:它是使用靜態(tài)優(yōu)先權還是動態(tài)優(yōu)先權, 以及如何確定進程的優(yōu)先權。   3. 高響應比優(yōu)先調度算法     為了彌補短作業(yè)優(yōu)先算法的不足,我們引入動態(tài)優(yōu)先權,使作業(yè)的優(yōu)先等級隨著等待時間的增加而以速率a提高。 該優(yōu)先權變化規(guī)律可描述為:優(yōu)先權=(等待時間+要求服務時間)/要求服務時間;即 =(響應時間)/要求服務時間 三、基于時間片的輪轉調度算法   1. 時間片輪轉法。時間片輪轉法一般用于進程調度,每次調度,把CPU分配隊首進程,并令其執(zhí)行一個時間片。 當執(zhí)行的時間片用完時,由一個記時器發(fā)出一個時鐘中斷請求,該進程被停止,并被送往就緒隊列末尾;依次循環(huán)。   2. 多級反饋隊列調度算法 多級反饋隊列調度算法多級反饋隊列調度算法,不必事先知道各種進程所需要執(zhí)行的時間,它是目前被公認的一種較好的進程調度算法。 其實施過程如下:     1) 設置多個就緒隊列,并為各個隊列賦予不同的優(yōu)先級。在優(yōu)先權越高的隊列中, 為每個進程所規(guī)定的執(zhí)行時間片就越小。     2) 當一個新進程進入內存后,首先放入第一隊列的末尾,按FCFS原則排隊等候調度。 如果他能在一個時間片中完成,便可撤離;如果未完成,就轉入第二隊列的末尾,在同樣等待調度…… 如此下去,當一個長作業(yè)(進程)從第一隊列依次將到第n隊列(最后隊列)后,便按第n隊列時間片輪轉運行。     3) 僅當?shù)谝魂犃锌臻e時,調度程序才調度第二隊列中的進程運行;僅當?shù)?到第(i-1)隊列空時, 才會調度第i隊列中的進程運行,并執(zhí)行相應的時間片輪轉。     4) 如果處理機正在處理第i隊列中某進程,又有新進程進入優(yōu)先權較高的隊列, 則此新隊列搶占正在運行的處理機,并把正在運行的進程放在第i隊列的隊尾。 四、多級隊列調度算法:把就緒隊列劃分成幾個單獨的隊列一般根據(jù)進程的某些特性如內存大小和進程類型永久性地把各個進程分別鏈入其中某一個隊列中,每個隊列都有自己的調度算法,此外在各個隊列之間也要進行調度。通常采用固定優(yōu)先級的搶占式調度,例如某系統(tǒng)中有5 個隊列,各個隊列的優(yōu)先級自上而下降低,只有當前3 個隊列中都為空的時候隊列4 中的進程才可以運行,而當隊列4 中的進程在運行時,如果隊列1 中進入了一個就緒進程,則隊列4 中的進程要立刻讓出CPU 使用權。多級反饋隊列法允許進程在各隊列間移動,其基本思想是把具有不同CPU工作時間這一特性的進程區(qū)分開來,如果一個進程要使用很長的CPU 時間,則應把它移至較低級的隊列中,這種方式把I/O 繁忙型和交互式進程放在較高優(yōu)先級的隊列中同樣在低優(yōu)先級隊列中長時間等待的進程可以移到較高優(yōu)先級隊列中UNIX 系統(tǒng)采用的是多級反饋隊列輪轉法。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肇庆市| 天水市| 哈尔滨市| 特克斯县| 勃利县| 布尔津县| 柘荣县| 资中县| 澄城县| 辽源市| 松桃| 祁东县| 伽师县| 金门县| 德阳市| 鹰潭市| 陆河县| 咸阳市| 杭锦旗| 金华市| 绥江县| 阳信县| 瓦房店市| 中山市| 锡林浩特市| 朝阳县| 象山县| 三河市| 仲巴县| 兰溪市| 天台县| 安达市| 高州市| 镇坪县| 长寿区| 铜川市| 孟州市| 德江县| 广汉市| 海城市| 郸城县|