操作系統(tǒng)原理第六章處理機(jī)調(diào)度_第1頁
操作系統(tǒng)原理第六章處理機(jī)調(diào)度_第2頁
操作系統(tǒng)原理第六章處理機(jī)調(diào)度_第3頁
操作系統(tǒng)原理第六章處理機(jī)調(diào)度_第4頁
操作系統(tǒng)原理第六章處理機(jī)調(diào)度_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第六章第六章 處理機(jī)調(diào)度處理機(jī)調(diào)度o6.1 處理機(jī)的多級調(diào)度處理機(jī)的多級調(diào)度o6.2 作業(yè)調(diào)度作業(yè)調(diào)度o6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度o6.4 unix系統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度6.1 處理機(jī)的多級調(diào)度處理機(jī)的多級調(diào)度o 1. 批處理os中的處理機(jī)調(diào)度n對處理機(jī)的分配分兩級:o 作業(yè)調(diào)度(宏觀調(diào)度):分配資源、建立進(jìn)程o 進(jìn)程調(diào)度(微觀調(diào)度):分配處理機(jī)、時間片o 2.多任務(wù)操作系統(tǒng)中的處理機(jī)調(diào)度 n分時或個人計(jì)算機(jī) os中的處理機(jī)調(diào)度支持多任務(wù)并發(fā)。o 對處理機(jī)的分配:進(jìn)程調(diào)度(并分配處理機(jī)時間)o 調(diào)度對象:就緒進(jìn)程o 3. 多線程os中的處理機(jī)調(diào)度n對處理機(jī)的分配:線程調(diào)度n調(diào)度對象:就緒線

2、程36.2 作業(yè)調(diào)度作業(yè)調(diào)度o 一一. 作業(yè)的狀態(tài)作業(yè)的狀態(tài) 作業(yè)在整個活動期間一共有四種狀態(tài), n 提交狀態(tài):用戶將自己的程序和數(shù)據(jù)提交給系統(tǒng),等待輸入。n 后備狀態(tài):作業(yè)已存放在磁盤上,等待調(diào)度。運(yùn)行就緒完成等待后備提交作業(yè)調(diào)度作業(yè)調(diào)度作業(yè)錄入執(zhí)行n 執(zhí)行狀態(tài):作業(yè)進(jìn)入主存開始運(yùn)行。 n 完成狀態(tài):作業(yè)計(jì)算完成開始,退出系統(tǒng)。 4o 二二. 作業(yè)調(diào)度的功能作業(yè)調(diào)度的功能 n 1. 確定數(shù)據(jù)結(jié)構(gòu)確定數(shù)據(jù)結(jié)構(gòu)o 建立作業(yè)控制塊jcb (job control block)。n作業(yè)控制塊記錄了每個作業(yè)類型、狀態(tài)、資源請求及分配情況。 n 2. 確定調(diào)度策略與調(diào)度算法確定調(diào)度策略與調(diào)度算法o 按一

3、定的調(diào)度策略從磁盤中存放的大量作業(yè)中挑選一個或幾個作業(yè)投入運(yùn)行。n 3. 分配資源分配資源o 為選中的作業(yè)分配所需要的系統(tǒng)資源(主存、外設(shè)等)。 n 4. 善后處理善后處理o 收回該作業(yè)所占用的全部資源,撤消作業(yè)控制塊以及與該作業(yè)有關(guān)的全部進(jìn)程。6.2 作業(yè)調(diào)度作業(yè)調(diào)度5o 三三. .作業(yè)控制塊作業(yè)控制塊n每個作業(yè)進(jìn)入系統(tǒng)時,有系統(tǒng)為其建立jcb。作業(yè)控制塊jcb存在于系統(tǒng)的整個過程中,jcb是一個作業(yè)存在的標(biāo)志。njcb的主要內(nèi)容如下: 作作 業(yè)業(yè) 名名 資資 源源 要要 求求 資資 源源 使使 用用 情況情況 估計(jì)執(zhí)行時間 進(jìn)入系統(tǒng)時間 最遲完成時間 開始執(zhí)行時間 要求的主存量 已執(zhí)行時間

4、 要求外設(shè)的類型及臺數(shù) 主存地址 要求文件量和輸出量 外設(shè)臺號 類類 型型 優(yōu)優(yōu) 先先 級級 控制方式 作業(yè)作業(yè) 狀態(tài)狀態(tài) 作業(yè)類型6.2 作業(yè)調(diào)度作業(yè)調(diào)度6o 四四. 作業(yè)調(diào)度算法性能的衡量作業(yè)調(diào)度算法性能的衡量n 采用平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間來衡量作業(yè)調(diào)度算法性能的好壞。n 1. 周轉(zhuǎn)時間周轉(zhuǎn)時間o 一個作業(yè)提交給計(jì)算機(jī)系統(tǒng)到該作業(yè)的結(jié)果返回給用戶所需要的時間。o (1) 定義定義 ti = tci - tsi ti作業(yè)i的周轉(zhuǎn)時間 tsi作業(yè)i的提交時間(磁盤后備隊(duì)列) tci作業(yè)i的完成時間。o (2) 意義意義 說明作業(yè)i在系統(tǒng)中停留時間的長短。o (3)平均周轉(zhuǎn)時間平均周轉(zhuǎn)時

5、間 t = (n為作業(yè)個數(shù))niti1n16.2 作業(yè)調(diào)度作業(yè)調(diào)度6.2 作業(yè)調(diào)度作業(yè)調(diào)度o 2. 平均帶權(quán)周轉(zhuǎn)時間平均帶權(quán)周轉(zhuǎn)時間wn (1) 定義定義 o 一個作業(yè)的周轉(zhuǎn)時間與其運(yùn)行時間的比值。 wi = n tri為作業(yè)i的實(shí)際執(zhí)行時間,ti進(jìn)入磁盤后備隊(duì)列的時間n (2) 意義意義 o 說明作業(yè)i在系統(tǒng)中相對等待時間。n (3) 平均周轉(zhuǎn)時間平均周轉(zhuǎn)時間 t = tritiniwi1n16.2 作業(yè)調(diào)度作業(yè)調(diào)度o 五五. 作業(yè)調(diào)度算法作業(yè)調(diào)度算法n 1.先來先服務(wù)調(diào)度算法o (1)策略:按作業(yè)來到的先后次序進(jìn)行調(diào)度。o (2)特點(diǎn):簡單,易實(shí)現(xiàn)。 o (3)討論在先來先服調(diào)度算法下周轉(zhuǎn)

6、時間與帶權(quán)周轉(zhuǎn)時間 作業(yè)提交時間執(zhí)行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.002.008.0010.002.00128.500.5010.0010.502.00439.000.1010.5010.601.601649.500.2010.6010.801.306.5平均周轉(zhuǎn)時間 t=1.725平均帶權(quán)周轉(zhuǎn)時間 w=6.875這種算法對短作業(yè)不利,執(zhí)行時間短,等待時間較長,帶權(quán)周轉(zhuǎn)時間很高。6.2 作業(yè)調(diào)度作業(yè)調(diào)度o 2. 短作業(yè)優(yōu)先調(diào)度算法短作業(yè)優(yōu)先調(diào)度算法n(1)策略:按作業(yè)請求運(yùn)行的時間長短進(jìn)行調(diào)度。n(2)特點(diǎn):易實(shí)現(xiàn),系統(tǒng)吞吐量高。 只照顧短作業(yè),而沒有考慮長作業(yè)的利益。n(3)

7、討論在短作業(yè)優(yōu)先調(diào)度算法下的周轉(zhuǎn)時間與帶權(quán)周轉(zhuǎn)時間 作業(yè) 提交時間 執(zhí)行時間 開始時間完成時間周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間18.002.008.0010.002.00128.500.5010.3010.802.304.639.000.1010.0010.101.101149.500.2010.1010.300.804平均周轉(zhuǎn)時間 t=1.55平均帶權(quán)周轉(zhuǎn)時間 w=5.15易于實(shí)現(xiàn),效率較高;主要弱點(diǎn)不考慮長作業(yè)的利益。6.2 作業(yè)調(diào)度作業(yè)調(diào)度o 3.響應(yīng)比高者優(yōu)先調(diào)度算法響應(yīng)比高者優(yōu)先調(diào)度算法n 計(jì)算后備作業(yè)表中的每個作業(yè)的響應(yīng)比,挑選響應(yīng)比最高者運(yùn)行。o 響應(yīng)比響應(yīng)時間/執(zhí)行時間o 響應(yīng)比1作業(yè)等

8、待時間/執(zhí)行時間作業(yè)提交時間執(zhí)行時間開始時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間18.002.008.0010.002.00128.500.5010.3010.602.104.239.000.1010.0010.101.101149.500.2010.6010.801.306.5平均周轉(zhuǎn)時間 t=1.625平均帶權(quán)周轉(zhuǎn)時間 w=5.675是先來先服務(wù)和短作業(yè)優(yōu)先算法之間的折中算法。6.2 作業(yè)調(diào)度作業(yè)調(diào)度o 4.優(yōu)先調(diào)度算法優(yōu)先調(diào)度算法n據(jù)系統(tǒng)設(shè)計(jì)目標(biāo)分析各作業(yè)的優(yōu)先數(shù),調(diào)度時選取優(yōu)先數(shù)高的作業(yè)先執(zhí)行。n優(yōu)先數(shù)的計(jì)算保證使輸出量最少、要求執(zhí)行時間短的作業(yè)以及等了很久的作業(yè)得到優(yōu)待。n優(yōu)先數(shù)(等待時間)

9、2要求執(zhí)行時間16輸出量o 等待時間:作業(yè)在磁盤中等候時間(分)o 要求執(zhí)行時間:據(jù)jcb中記錄的相應(yīng)值推算出(秒)o 輸出量:據(jù)jcb中記錄的相應(yīng)值推算出(行)n它企圖十分迅速的執(zhí)行各種短作業(yè),但偶爾也要執(zhí)行一個在磁盤中等候很久的作業(yè),此時“等待時間”這一項(xiàng)的值已遠(yuǎn)遠(yuǎn)超過其他兩項(xiàng)之和。126.3 進(jìn)程調(diào)度進(jìn)程調(diào)度o 一一. 調(diào)度調(diào)度/分派結(jié)構(gòu)分派結(jié)構(gòu)n 任何進(jìn)程都必須通過調(diào)度/分派模塊來使用處理機(jī)。進(jìn)程調(diào)度的功能可細(xì)分為調(diào)度和分派兩部分。n 1. 調(diào)度調(diào)度o 依照完全確定的策略將一批進(jìn)程進(jìn)行排序,形成就緒隊(duì)列。o 調(diào)度程序的功能:負(fù)責(zé)將一個進(jìn)程插入到就緒隊(duì)列并按一定原則保持隊(duì)列結(jié)構(gòu);n 2.

10、 分派分派o 當(dāng)處理機(jī)空閑時,是移出就緒隊(duì)列中第一個進(jìn)程,并賦予它使用處理機(jī)的權(quán)利。o 分派程序的功能:是將進(jìn)程從就緒隊(duì)列中移出并建立該進(jìn)程執(zhí)行的及其狀態(tài)。13o 3. 調(diào)度調(diào)度分派結(jié)構(gòu)圖分派結(jié)構(gòu)圖 6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度調(diào)度程序等待喚醒接受pcb1pcb2pcb3pcb4pcb5ready_q分派程序cpu14o 二二. 進(jìn)程調(diào)度的功能和調(diào)度準(zhǔn)則進(jìn)程調(diào)度的功能和調(diào)度準(zhǔn)則n 進(jìn)程調(diào)度的功能o 1. 記錄進(jìn)程的有關(guān)情況和狀態(tài)特征( pcb )o 2. 決定分配策略n 由就緒隊(duì)列的排序原則體現(xiàn)的。n 優(yōu)先調(diào)度原則進(jìn)程就緒隊(duì)列按進(jìn)程優(yōu)先級高低排序n 先來先服務(wù)原則進(jìn)程就緒隊(duì)列按進(jìn)程來到的先后次序排

11、序o 3. 實(shí)施處理機(jī)的分配和回收n cpu現(xiàn)場信息的切換6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度n 進(jìn)程調(diào)度的時機(jī)o 進(jìn)程完成其任務(wù)時;o 在一次管理程序調(diào)用之后,該調(diào)用使現(xiàn)行程序暫時不能繼續(xù)運(yùn)行時;o 在一次出錯陷入之后,該陷入使現(xiàn)行進(jìn)程在出錯處理時被掛起時;o 在分時系統(tǒng)中,完成的規(guī)定時間片時;o 在采用可剝奪調(diào)度方式的系統(tǒng)中,高掠奪低進(jìn)程時。6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度n 進(jìn)程調(diào)度的準(zhǔn)則o cpu使用率:盡可能忙o 吞吐量:指一個時間單元內(nèi)所完成的進(jìn)程數(shù)量。o 周轉(zhuǎn)時間:是所有時間段之和,包括等待進(jìn)入主存、在就緒隊(duì)列中等待、在cpu上執(zhí)行和i/o執(zhí)行時間。o 響應(yīng)時間:指聯(lián)機(jī)用戶向

12、計(jì)算機(jī)發(fā)出一個命令到計(jì)算機(jī)執(zhí)行完該命令,并將相應(yīng)的執(zhí)行結(jié)果返回給用戶所需的時間。o 等待時間:是進(jìn)程在就緒隊(duì)列中等待所花費(fèi)時間之和。17o 三三. 進(jìn)程調(diào)度方式進(jìn)程調(diào)度方式n1. 什么是調(diào)度方式什么是調(diào)度方式o 當(dāng)一進(jìn)程正在處理機(jī)上執(zhí)行時,若有某個更為“重要而緊迫”的進(jìn)程需要進(jìn)行運(yùn)行,系統(tǒng)如何分配處理機(jī)。n2. 非剝奪方式非剝奪方式o 一種是讓正在執(zhí)行的進(jìn)程繼續(xù)執(zhí)行,直到該進(jìn)程完成或發(fā)生某事件而進(jìn)入“完成”或“阻塞”狀態(tài)時,才把處理機(jī)分配給“重要而緊迫”的進(jìn)程。n3. 剝奪方式剝奪方式o 當(dāng)“重要而緊迫”的進(jìn)程一到,便暫停正在執(zhí)行的進(jìn)程,立即把處理機(jī)分配給優(yōu)先級更高的進(jìn)程。n4. 選擇可搶占策

13、略:選擇可搶占策略:o 該策略是兩種極端的搶占和不可搶占策略之間的折衷方案。 o 進(jìn)程被指派一個優(yōu)先數(shù),并有一對標(biāo)志(u、v)6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度18o 四四. 進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法n 1. 進(jìn)程優(yōu)先數(shù)調(diào)度算法進(jìn)程優(yōu)先數(shù)調(diào)度算法o (1) 什么是進(jìn)程優(yōu)先數(shù)調(diào)度算法n 預(yù)先確定各進(jìn)程的優(yōu)先數(shù),系統(tǒng)把處理機(jī)的使用權(quán)賦予就緒隊(duì)列中具備最高優(yōu)先權(quán)(優(yōu)先數(shù)和一定的優(yōu)先級相對應(yīng))的就緒進(jìn)程。o (2) 優(yōu)先數(shù)的分類及確定n 靜態(tài)優(yōu)先數(shù)在進(jìn)程被創(chuàng)建時確定,且一經(jīng)確定后在整個進(jìn)程運(yùn)行期間不再改變。n 靜態(tài)優(yōu)先數(shù)的確定優(yōu)先數(shù)根據(jù)進(jìn)程所需使用的資源來計(jì)算優(yōu)先數(shù)基于程序運(yùn)行時間的估計(jì)優(yōu)先數(shù)基于進(jìn)程的類型 6

14、.3 進(jìn)程調(diào)度進(jìn)程調(diào)度19n 動態(tài)優(yōu)先數(shù)進(jìn)程優(yōu)先數(shù)在進(jìn)程運(yùn)行期間可以改變。n 動態(tài)優(yōu)先數(shù)的確定:o 進(jìn)程使用cpu超過一定數(shù)值時,降低優(yōu)先數(shù);o 進(jìn)程進(jìn)行i/o操作后,增加優(yōu)先數(shù)o 進(jìn)程等待時間超過一定數(shù)值時,提高優(yōu)先數(shù)6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度20o 2. 循環(huán)輪轉(zhuǎn)調(diào)度算法循環(huán)輪轉(zhuǎn)調(diào)度算法n先進(jìn)先出可能存在的問題是,當(dāng)一個進(jìn)程在放棄對處理機(jī)的控制權(quán)之前可能執(zhí)行很長時間,而其他進(jìn)程的推進(jìn)受到嚴(yán)重的影響。那么就可使用一個時間片,這一時間片方法稱為循環(huán)輪轉(zhuǎn)規(guī)則。 n(1) 簡單循環(huán)輪轉(zhuǎn)調(diào)度簡單循環(huán)輪轉(zhuǎn)調(diào)度o 定義:當(dāng)cpu空閑時,選取就緒隊(duì)列首元素,賦予一個時間片,當(dāng)時間片用完時,釋放cpu控制權(quán),

15、該進(jìn)程轉(zhuǎn)為就緒態(tài)并進(jìn)入就緒隊(duì)列末端o 特點(diǎn):n 就緒隊(duì)列中的所有進(jìn)程以等速度向前進(jìn)展 時間片q = t/nn t 為響應(yīng)時間,n為進(jìn)入系統(tǒng)的進(jìn)程數(shù)目。n 時間片選擇:時間片應(yīng)該比進(jìn)程切換時間要長,常為100ms6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度n (2)可變時間片輪轉(zhuǎn)調(diào)度可變時間片輪轉(zhuǎn)調(diào)度o 每當(dāng)一輪開始,系統(tǒng)根據(jù)就緒隊(duì)列中已有的進(jìn)程數(shù)目計(jì)算一次q值,然后進(jìn)行輪轉(zhuǎn)。在此期間所到達(dá)的進(jìn)程都暫不進(jìn)入就緒隊(duì)列,要等此次輪轉(zhuǎn)完畢后再一并進(jìn)入。o 在采用可變時間片算法中n每當(dāng)一輪開始時,系統(tǒng)便根據(jù)就緒隊(duì)列中已有的進(jìn)程數(shù)計(jì)算q值,然后進(jìn)行輪轉(zhuǎn)。n在此期間所到達(dá)的進(jìn)程都占不進(jìn)入就緒隊(duì)列,而要等

16、到此次輪轉(zhuǎn)完后再一起進(jìn)入。n此時,系統(tǒng)根據(jù)就緒隊(duì)列中的進(jìn)程數(shù)重新計(jì)算q值,然后開始下一輪循環(huán)。22o 五五. 調(diào)度用的進(jìn)程調(diào)度變遷圖調(diào)度用的進(jìn)程調(diào)度變遷圖 n可采用進(jìn)程狀態(tài)變遷圖闡述進(jìn)程調(diào)度算法。n如有進(jìn)程調(diào)度算法:o (1)當(dāng)cpu空閑時,首先從高優(yōu)先級就緒隊(duì)列中選擇一個進(jìn)程運(yùn)行,給定時間片為100ms。o (2)如高優(yōu)先級就緒隊(duì)列為空,則從低優(yōu)先級就緒隊(duì)列中選擇一個進(jìn)程運(yùn)行,給定時間片500ms。o 進(jìn)入低優(yōu)先就緒隊(duì)列的進(jìn)程一般是計(jì)算量比較大的的,稱為受cpu限制的進(jìn)程;而阻塞變?yōu)楦邇?yōu)先就緒進(jìn)程一般是輸入/輸出量比較大的進(jìn)程,稱受i/o限制的進(jìn)程。6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度6.3 進(jìn)程調(diào)度進(jìn)

17、程調(diào)度o 這種調(diào)度策略優(yōu)先照顧i/o量大的進(jìn)程。適當(dāng)照顧了計(jì)算量大的進(jìn)程。運(yùn)行低優(yōu)先級就緒高優(yōu)先級就緒因i/o而等待請求i/oi/o完成首先選擇100ms其次選擇500ms超時間片6.3 進(jìn)程調(diào)度進(jìn)程調(diào)度o 較為復(fù)雜的進(jìn)程狀態(tài)變遷圖運(yùn)行低優(yōu)先級就緒高優(yōu)先級就緒因盤或帶i/o而阻塞請求盤或帶i/oi/o完成進(jìn)程調(diào)度100ms500ms進(jìn)程調(diào)度超時間片中優(yōu)先級就緒因終端i/o而阻塞因頁面i/o而阻塞i/o完成i/o完成缺頁中斷請求終端i/o6.4 unix系統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度o 處理機(jī)的分配主要包括三方面工作:n 首先,將現(xiàn)行進(jìn)程的cpu現(xiàn)場保護(hù)到該進(jìn)程的pcb結(jié)構(gòu)中;n 其次,依調(diào)度原則

18、在就緒隊(duì)列中選擇一個進(jìn)程;n 最后,恢復(fù)選中進(jìn)程的運(yùn)行現(xiàn)場。n unix系統(tǒng)中,完成這三項(xiàng)工作的程序稱為進(jìn)程切換調(diào)度。6.4 unix系統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度o 一、一、unix系統(tǒng)的進(jìn)程調(diào)度算法系統(tǒng)的進(jìn)程調(diào)度算法n unix系統(tǒng)的進(jìn)程調(diào)度算法是優(yōu)先數(shù)算法。o 一個進(jìn)程優(yōu)先權(quán)的高低取決于其優(yōu)先數(shù),優(yōu)先數(shù)越小,優(yōu)先權(quán)越高。在進(jìn)程調(diào)度時機(jī)來到時,總是選取優(yōu)先權(quán)最高的進(jìn)程去運(yùn)行。n unix系統(tǒng)確定進(jìn)程優(yōu)先數(shù)的方法有設(shè)置和計(jì)算兩種。o 設(shè)置方式用于高、低優(yōu)先級睡眠狀態(tài)進(jìn)程。o 優(yōu)先數(shù)的計(jì)算是當(dāng)進(jìn)程處在用戶態(tài)時,每秒由時鐘處理程序計(jì)算和設(shè)置,或者在發(fā)生俘獲后,返回到用戶態(tài)之前由俘獲處理程序計(jì)算和設(shè)

19、置。6.4 unix系統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度o (1)優(yōu)先數(shù)的設(shè)置)優(yōu)先數(shù)的設(shè)置 n當(dāng)進(jìn)程需睡眠時,設(shè)置其優(yōu)先數(shù)。由不同的睡眠原因決定其大小。o 等待緊迫的事件,該進(jìn)程的優(yōu)先數(shù)設(shè)置為負(fù)值o 等待慢速設(shè)備i/o、進(jìn)程間同步,該進(jìn)程的優(yōu)先數(shù)設(shè)置為正值。o (2)優(yōu)先數(shù)的計(jì)算)優(yōu)先數(shù)的計(jì)算n1) 當(dāng)進(jìn)程從核心態(tài)返回用戶態(tài)時,或自陷返回時,系統(tǒng)計(jì)算該進(jìn)程的優(yōu)先數(shù)。 p_pri = min127,p_cpu/16-p_nice+pusernp_cpu(反映使用cpu的程度)和p_nice(是程序可以設(shè)置的進(jìn)程優(yōu)先數(shù)偏置值)都是proc的分量, puser是固定的偏置常數(shù),定位1006.4 unix系

20、統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度o (2) 在時鐘中斷處理程序中在時鐘中斷處理程序中n每隔20ms,將正在運(yùn)行的進(jìn)程的p_cpu 加 1,直到255。這使當(dāng)前進(jìn)程p_cpu增大,pri也增大,于是優(yōu)先級降低。n每隔1s ,時鐘中斷處理程序?qū)λ械木途w進(jìn)程計(jì)算 p_cpu 減10,直到小于10時置為0。這使所有未占用cpu的進(jìn)程p_cpu增大,pri也增大,于是優(yōu)先級提高。n所以,占用cpu時間越長的進(jìn)程,下次被調(diào)用的可能性越小,而未占用cpu的進(jìn)程等待時間越長,下次被調(diào)用的可能性就越大。6.4 unix系統(tǒng)的進(jìn)程調(diào)度系統(tǒng)的進(jìn)程調(diào)度o p_cpu這樣的改變方式使進(jìn)程使用cpu的時間與它被調(diào)用的機(jī)會稱為負(fù)反饋過程。 p_cpu p_pri 進(jìn)程優(yōu)先權(quán) 被調(diào)度的機(jī)會 被調(diào)度的機(jī)會 進(jìn)程優(yōu)先權(quán) p_pri p_cpuo 這樣的負(fù)反饋過程使系統(tǒng)中在用戶態(tài)下運(yùn)行的各個進(jìn)程都能比較均衡的享用處理機(jī)。6.4 unix系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論