日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux 進程管理分析【一】

 老匹夫 2014-09-12

一個CPU只有一個就緒隊列rq,然而這個就緒隊列并不直接管理進程,它又包含子就緒隊列,例如完全公平就緒隊列、實時就緒隊列。進程的調(diào)度主要基于兩個調(diào)度器:周期性調(diào)度器和主調(diào)度器。周期性調(diào)度器是在內(nèi)核頻率HZ中斷中統(tǒng)計一些進程時間信息,并判斷進程是否需要調(diào)度,如果需要就發(fā)起調(diào)度請求;主調(diào)度器是進程主動放棄CPU控制權(quán),切換到其他進程運行,在住調(diào)度器中做了很多進程上下文切換的工作。

上層調(diào)度器并不直接對進程進行操作,而是通過進程所屬調(diào)度類對進城進行操作。調(diào)度類主要有兩種:完全公平調(diào)度類、實時調(diào)度類。內(nèi)核中用0到139來表示進程優(yōu)先級,0到99供實時進程使用,100到139供普通進程使用,在用戶空間對應(yīng)-20到19的nice值。完全公平調(diào)度類提供類一些方法,這些方法對完全公平隊列上的進程進行插入、移除、時間統(tǒng)計等操作。在完全公平隊列上進程是按虛擬時間大小通過紅黑樹排序的,虛擬時間越小的進程排在紅黑樹越靠左邊,得到運行的可能就越大。虛擬時間跟進程權(quán)重緊密相關(guān),而權(quán)重又跟進程優(yōu)先級相對應(yīng)。隨著時間的推移,權(quán)重越大的進程虛擬時間增加越慢,向右移動的速度就越慢,得到調(diào)度的機會就越多,所以優(yōu)先級越高的進程得到運行的機會就越大。實時進程類與完全公平調(diào)度類大體相同,不同的是在實時就緒隊列上,有100個鏈表頭,分別掛接100個不同優(yōu)先級的實時進程。選擇下一個進程運行時,從小到大掃描鏈表找出第一個進程運行。實時進程包含SCHED_RR和SCHED_FIFO,它們在同優(yōu)先級隊列中都是先進先出,不過SCHED_RR有時間片,時間片用完后重新分配時間片將進程放入優(yōu)先級隊列尾,然后就調(diào)度其他進程運行。SCHED_FIFO進程一旦調(diào)度運行就可以一直運行下去,除非主動放棄CPU控制權(quán)。

在SMP多處理器系統(tǒng)中還要實現(xiàn)負(fù)載均衡,將忙碌CPU隊列上的進程移動到空閑CPU上。

運行新程序:

新進程運行之初,它的地址空間與其父進程相同,為運行新的程序它需要調(diào)用exec函數(shù)將新的可執(zhí)行程序加載到進程空間,從而運行不同于父進程的程序

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多