www.e4938.cn-老师你下面太紧了拔不出来,99re8这里有精品热视频免费,国产第一视频一区二区三区,青青草国产成人久久

<button id="60qo0"></button>

<strike id="60qo0"></strike>
<del id="60qo0"></del>
<fieldset id="60qo0"><menu id="60qo0"></menu></fieldset>
  • 當(dāng)CPU空閑時它都在做什么?

    2018-02-02 14:39:45 Linux中國  點擊量: 評論 (0)
    在 上篇文章中 我說了操作系統(tǒng)行為的基本原理是,在任何一個給定的時刻,在一個 CPU 上有且只有一個任務(wù)是活動的。但是,如果 CPU 無

    好吧,我們來看一下這個空閑任務(wù)到底做了些什么。下面是 cpuidleloop,感謝開源能讓我們看到它的代碼:

    while (1) {
        while(!need_resched()) {
            cpuidle_idle_call();
        }

        /*
        [Note: Switch to a different task. We will return to this loop when the idle task is again selected to run.]
        */
        schedule_preempt_disabled();
    }
    cpuidleloop
    我省略了很多的細節(jié),稍后我們將去了解任務(wù)切換,但是,如果你閱讀了這些源代碼,你就會找到它的要點:由于這里不需要重新調(diào)度(即改變活動任務(wù)),它一直處于空閑狀態(tài)。以所經(jīng)歷的時間來計算,這個循環(huán)和其它操作系統(tǒng)中它的“堂兄弟們”相比,在計算的歷史上它是運行的最多的代碼片段。對于 Intel 處理器來說,處于空閑狀態(tài)意味著運行著一個 halt 指令:
    static inline void native_halt(void)
        {
        asm volatile("hlt": : :"memory");
        }
    native_halt
    hlt 指令停止處理器中的代碼執(zhí)行,并將它置于 halt 的狀態(tài)。奇怪的是,全世界各地數(shù)以百萬計的 Intel 類的 CPU 們花費大量的時間讓它們處于 halt 的狀態(tài),甚至它們在通電的時候也是如此。這并不是高效、節(jié)能的做法,這促使芯片制造商們?nèi)ラ_發(fā)處理器的深度睡眠狀態(tài),以帶來著更少的功耗和更長休眠時間。內(nèi)核的 cpuidle 子系統(tǒng) 是這些節(jié)能模式能夠產(chǎn)生好處的原因。
    現(xiàn)在,一旦我們告訴 CPU 去 halt(睡眠)之后,我們需要以某種方式讓它醒來。如果你讀過 上篇文章《你的操作系統(tǒng)什么時候運行?》 ,你可能會猜到中斷會參與其中,而事實確實如此。中斷促使 CPU 離開 halt 狀態(tài)返回到激活狀態(tài)。因此,將這些拼到一起,下圖是當(dāng)你閱讀一個完全呈現(xiàn)的 web 網(wǎng)頁時,你的系統(tǒng)主要做的事情:

    當(dāng)CPU空閑時它都在做什么?

    除定時器中斷外的其它中斷也會使處理器再次發(fā)生變化。如果你再次點擊一個 web 頁面就會產(chǎn)生這種變化,例如:你的鼠標(biāo)發(fā)出一個中斷,它的驅(qū)動會處理它,并且因為它產(chǎn)生了一個新的輸入,突然進程就可運行了。在那個時刻, need_resched() 返回 true,然后空閑任務(wù)因你的瀏覽器而被踢出而終止運行。
    如果我們呆呆地看著這篇文章,而不做任何事情。那么隨著時間的推移,這個空閑循環(huán)就像下圖一樣:

    當(dāng)CPU空閑時它都在做什么?

    在這個示例中,由內(nèi)核計劃的定時器中斷會每 4 毫秒發(fā)生一次。這就是滴答tick周期。也就是說每秒鐘將有 250 個滴答,因此,這個滴答速率(頻率)是 250 Hz。這是運行在 Intel 處理器上的 Linux 的典型值,而其它操作系統(tǒng)喜歡使用 100 Hz。這是由你構(gòu)建內(nèi)核時在 CONFIG_HZ 選項中定義的。
    對于一個空閑 CPU 來說,它看起來似乎是個無意義的工作。如果外部世界沒有新的輸入,在你的筆記本電腦的電池耗盡之前,CPU 將始終處于這種每秒鐘被喚醒 250 次的地獄般折磨的小憩中。如果它運行在一個虛擬機中,那我們正在消耗著宿主機 CPU 的性能和寶貴的時鐘周期。

    大云網(wǎng)官方微信售電那點事兒

    責(zé)任編輯:任我行

    免責(zé)聲明:本文僅代表作者個人觀點,與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關(guān)內(nèi)容。
    我要收藏
    個贊
    CPU
    ?
    偷拍激情视频一区二区三区| 亚洲日韩精品一区二区三区无码| 国产伦精品一区二区三区视频抖音| 国产成人无码AV一区二区在线观看| 国产 无码 精品 在线| 真人高清实拍女处被破的视频| 三年在线观看免费大全哔哩哔哩| 最好看的2018中文在线观看| 午夜影院404| 国产精品永久免费|