進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt

進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt

ID:59778080

大?。?63.50 KB

頁(yè)數(shù):26頁(yè)

時(shí)間:2020-11-24

進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt_第1頁(yè)
進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt_第2頁(yè)
進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt_第3頁(yè)
進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt_第4頁(yè)
進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt_第5頁(yè)
資源描述:

《進(jìn)程調(diào)度Linux內(nèi)核分析ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、Linux操作系統(tǒng)分析陳香蘭Fall20108/17/20212Linux操作系統(tǒng)分析8/17/20213Linux操作系統(tǒng)分析第二種分類交互式進(jìn)程(interactiveprocess)需要經(jīng)常與用戶交互,因此要花很多時(shí)間等待用戶輸入操作響應(yīng)時(shí)間要快,平均延遲要低于50~150ms典型的交互式程序:shell、文本編輯程序、圖形應(yīng)用程序等8/17/20214Linux操作系統(tǒng)分析批處理進(jìn)程(batchprocess)不必與用戶交互,通常在后臺(tái)運(yùn)行不必很快響應(yīng)典型的批處理程序:編譯程序、科學(xué)計(jì)算實(shí)時(shí)進(jìn)程(real-timeprocess)有實(shí)時(shí)需

2、求,不應(yīng)被低優(yōu)先級(jí)的進(jìn)程阻塞響應(yīng)時(shí)間要短典型的實(shí)時(shí)進(jìn)程:視頻/音頻、機(jī)械控制等8/17/20215Linux操作系統(tǒng)分析Linux中的進(jìn)程調(diào)度Linux既支持普通的分時(shí)進(jìn)程,也支持實(shí)時(shí)進(jìn)程Linux中的調(diào)度是多種調(diào)度策略和調(diào)度算法的混合。什么是調(diào)度策略?是一組規(guī)則,它們決定什么時(shí)候以怎樣的方式選擇一個(gè)新進(jìn)程運(yùn)行Linux的調(diào)度基于分時(shí)和優(yōu)先級(jí)隨著版本的變化,分時(shí)技術(shù)在不斷變化8/17/20216Linux操作系統(tǒng)分析Linux的進(jìn)程根據(jù)優(yōu)先級(jí)排隊(duì)根據(jù)特定的算法計(jì)算出進(jìn)程的優(yōu)先級(jí),用一個(gè)值表示這個(gè)值表示把進(jìn)程如何適當(dāng)?shù)姆峙浣oCPULinux中進(jìn)程的

3、優(yōu)先級(jí)是動(dòng)態(tài)的調(diào)度程序會(huì)根據(jù)進(jìn)程的行為周期性的調(diào)整進(jìn)程的優(yōu)先級(jí)較長(zhǎng)時(shí)間未分配到CPU的進(jìn)程,通?!呀?jīng)在CPU上運(yùn)行了較長(zhǎng)時(shí)間的進(jìn)程,通?!?/17/20217Linux操作系統(tǒng)分析與調(diào)度相關(guān)的系統(tǒng)調(diào)用nicegetpriority/setprioritysched_getscheduler/sched_setschedulersched_getparam/sched_setparamsched_yieldsched_get_priority_min/sched_get_priority_maxsched_rr_get_interval8/17/

4、20218Linux操作系統(tǒng)分析采用常規(guī)分時(shí)時(shí),時(shí)間片的選擇時(shí)間片的長(zhǎng)短對(duì)系統(tǒng)性能非常關(guān)鍵,它既不能太長(zhǎng)也不能太短太短:頻繁的切換會(huì)造成系統(tǒng)開銷過大假如切換時(shí)間為1ms,時(shí)間片設(shè)置為1ms,那就沒空?qǐng)?zhí)行進(jìn)程了8/17/20219Linux操作系統(tǒng)分析太長(zhǎng)幾乎每個(gè)進(jìn)程都一次運(yùn)行完并發(fā)的概念基本消失普通進(jìn)程需要等待很長(zhǎng)時(shí)間才能運(yùn)行時(shí)間片大小的選擇總是一種折衷。Linux采取單憑經(jīng)驗(yàn)的方法,即選擇盡可能長(zhǎng)的時(shí)間片,同時(shí)能保持良好的響應(yīng)時(shí)間8/17/202110Linux操作系統(tǒng)分析調(diào)度算法Linux2.4的調(diào)度算法需要遍歷可運(yùn)行隊(duì)列,算法O(n)Epo

5、ch,基本時(shí)間片,動(dòng)態(tài)優(yōu)先級(jí)Linux2.6.17的調(diào)度算法(2.6.23之前)采用雙隊(duì)列(Active;expire),按照優(yōu)先級(jí)組隊(duì),O(1)Linux2.6.26的調(diào)度算法非實(shí)時(shí):CFS,vruntime,紅黑樹實(shí)時(shí):優(yōu)先級(jí)隊(duì)列Linux進(jìn)程可以指定該進(jìn)程所采用的調(diào)度策略調(diào)度算法根據(jù)進(jìn)程的調(diào)度策略,采用不同的調(diào)度算法8/17/202111Linux操作系統(tǒng)分析Linux2.6.26中的 調(diào)度策略:Policy,調(diào)度類型include/linux/sched.h在task_struct中,使用數(shù)據(jù)項(xiàng)policy來(lái)表達(dá)該進(jìn)程采用的調(diào)度策略8/1

6、7/202112Linux操作系統(tǒng)分析查看各個(gè)policy的使用情況8/17/202113Linux操作系統(tǒng)分析kernel/sched.c8/17/202114Linux操作系統(tǒng)分析調(diào)度類型閱讀conststructsched_class,調(diào)度類rt_sched_classfair_sched_classidle_sched_classrt_sched_classfair_sched_classidle_sched_classkernel/sched_idletask.ckernel/sched_fair.ckernel/sched_rt.c8

7、/17/202115Linux操作系統(tǒng)分析閱讀2.6.26的schedule函數(shù)調(diào)度函數(shù)的關(guān)鍵:調(diào)度算法的關(guān)鍵入列CFS根據(jù)vruntime的值入列,其關(guān)鍵在于vruntime值的計(jì)算RT根據(jù)優(yōu)先級(jí)入列kernel/sched.c,參見函數(shù)schedule()kernel/sched_fair.c,update_curr8/17/202116Linux操作系統(tǒng)分析Linux2.6.26中的優(yōu)先級(jí)優(yōu)先數(shù)范圍為0~139,其中0~99為實(shí)時(shí)優(yōu)先數(shù)普通任務(wù)和批處理任務(wù)的優(yōu)先數(shù)在100~139之間優(yōu)先數(shù)越大,優(yōu)先級(jí)越低。8/17/202117Linux操

8、作系統(tǒng)分析Linux2.6.26中的nice值Nice值用來(lái)調(diào)整進(jìn)程的優(yōu)先級(jí)Nice值的范圍在-20~19之間。8/17/202118L

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。