系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux系統(tǒng)進(jìn)程管理

Linux系統(tǒng)進(jìn)程管理介紹(2)

時(shí)間:2015-09-09 15:05:32 作者:zhijie 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20150909/57286.html 手機(jī)查看 評(píng)論

  假設(shè)我們能收集到這些信息,可以有如下幾種調(diào)度算法:

  1.最短運(yùn)行時(shí)間優(yōu)先

  2.最短剩余時(shí)間優(yōu)先

  3.綜合已經(jīng)運(yùn)行時(shí)間和剩余時(shí)間來(lái)排序

  但是在真實(shí)世界中,一般這個(gè)信息是無(wú)法預(yù)測(cè)的。即使是同一個(gè)進(jìn)程,之前運(yùn)行的情況對(duì)當(dāng)前運(yùn)行的進(jìn)程也不一定有參考價(jià)值。比如cat程序,不同參數(shù)對(duì)運(yùn)行時(shí)間影響很大。

  Feedback

  這個(gè)是基于Prediction來(lái)優(yōu)化的。如果說(shuō)Prediction是需要預(yù)測(cè)將來(lái)進(jìn)程還需要多少資源的話,F(xiàn)eedback算法就是基于已經(jīng)消耗了的資源來(lái)判斷優(yōu)先級(jí)。

  一般來(lái)說(shuō),也就是運(yùn)行時(shí)間越長(zhǎng),優(yōu)先級(jí)越低的調(diào)度算法。

  Unix調(diào)度算法

  老版調(diào)度算法

  這是2.6版本之前的調(diào)度算法,該算法采用優(yōu)化的RR算法,每個(gè)進(jìn)程的優(yōu)先級(jí)算法如下:

  p(i) = base(i)+nice(i)+cpu(i)

  其中base和nice值都是靜態(tài)固定的,可以由用戶指定的。

  cpu是隨著進(jìn)程占用CPU時(shí)間越長(zhǎng)權(quán)重就越低的調(diào)整因子,該因子調(diào)整邏輯如下:

  cpu(i) = cpu(i-1)/2

  也就是每次進(jìn)程被選中調(diào)度一遍之后,下次對(duì)應(yīng)的cpu因子的值都會(huì)被除以2,降低下次運(yùn)行的權(quán)重。

  新版調(diào)度算法

  內(nèi)核2.6版本之后重寫了調(diào)度算法。也叫O(1)算法。

  該算法針對(duì)普通進(jìn)程,設(shè)置了100~139共40個(gè)優(yōu)先級(jí),進(jìn)程屬于哪個(gè)優(yōu)先級(jí)的計(jì)算跟老版調(diào)度算法類似。系統(tǒng)再存儲(chǔ)了一個(gè)位圖,每個(gè)位圖代表一個(gè)優(yōu)先級(jí)是否有等待的進(jìn)程。然后每次都選擇優(yōu)先級(jí)最高的且有進(jìn)程的那個(gè)隊(duì)列選取第一個(gè)進(jìn)程來(lái)運(yùn)行。

  SMP的調(diào)度

  對(duì)于多處理器的處理,跟上面的調(diào)度算法類似,只是在選擇出進(jìn)程之后,需要再判斷一下給哪個(gè)CPU合適。

  一般來(lái)說(shuō),考慮到CPU的本地cache,所以盡量將進(jìn)程調(diào)度到之前運(yùn)行的CPU上運(yùn)行。當(dāng)然,考慮到CPU本身的均衡性,所以肯定還是會(huì)有遷移的工作。

標(biāo)簽 進(jìn)程管理

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄