揭秘蘋果 OS X Mavericks 系統(tǒng)的省電魔法
前兩天的世界開發(fā)者大會上,蘋果強勢宣布了新款Macbook的電池續(xù)航性能。比如新的13寸Air一次充電能跑滿12個小時,比上一代的7小時要 多出一大截,假設(shè)實測真情況真是如蘋果所說能,續(xù)航能扛到程序猿都犯困,那他們是怎么做到的呢?最淺顯的回答就是新本用了Haswell——但,這只是整 個技術(shù)改進的一部分。
Intel的Haswell的U所帶來的耗電上的改進,只是預(yù)料之中的加持。早在1月份,Intel就說新的Haswell將帶來“Intel歷史 上,對于能耗改進的跨時代的飛躍。”而且還說這塊U是他們***次專為超極本和平板設(shè)計,新CPU運行在更低的時鐘頻率和更小的功率上。
在發(fā)布會上,沒能聽到關(guān)于“小牛”系統(tǒng)在移動使用耗電上的情況,只是在新技術(shù)對于改善功耗上提了幾句。直到更多的信息在隨后披露的,闡述技術(shù)細(xì)節(jié)PDF上,我們才能對“小牛”系統(tǒng)的省電技術(shù)一窺究竟。
用電效能的改進,***個目標(biāo)當(dāng)然就是讓電池能撐更久,但蘋果還宣稱,他們能達到這個目標(biāo),卻不以損失系統(tǒng)相應(yīng)速度為代價,通過以下三大技術(shù):
首先:內(nèi)存壓縮技術(shù)。和傳統(tǒng)思維里的節(jié)電技術(shù)不一樣,蘋果的內(nèi)存壓縮技術(shù)“自動將最近使用的對象,在內(nèi)存內(nèi)部進行壓縮到原來的一半大小。”當(dāng)對象需要再次調(diào)用的時候,再解壓縮對象。
蘋果聲稱,這種內(nèi)存壓縮/解壓縮技術(shù),比起硬盤臨時交換空間(swap)要快得多,就算是和最快的SSD固態(tài)硬盤相比也是如此,這必須感謝WKdm快速壓縮算法(其結(jié)果就是,如果把新的系統(tǒng)裝在老款機械硬盤的型號上,其省電效能會更明顯)。
一份2003年發(fā)表的論文比較了三種實時內(nèi)存壓縮算法的性能,WKdm壓縮和解壓縮性能無比優(yōu)秀,比其它兩種算法都要快(很多)。這能節(jié)省大量內(nèi)存,并提高速度(和磁盤swap技 術(shù)相比),節(jié)省磁盤空間。而且蘋果還聲稱:“這能減少系統(tǒng)讀寫磁盤swap數(shù)據(jù)的頻率,最終改善蘋果筆記本的耗電表現(xiàn)。”并只占用非常微小的CPU資源來 處理壓縮/解壓縮的過程。
然后,就是“程序掛起(App Nap)”。這項新的特性強硬限制不在前臺操作/可見的程序進入更徹底的掛起狀態(tài)。(我們一位使用蘋果系統(tǒng)的編輯表示,Safari瀏覽器再后臺啥也不干 也要占去15%的CPU資源,所以這部分的耗電還是很可觀的。)新的策略是當(dāng)一個程序的窗口處于不可見的狀態(tài),且沒有音頻播放時(所以程序可以通過出點聲 躲過這種監(jiān)測。),嚴(yán)格限制程序的資源占用。OSX系統(tǒng)限制的是程序計數(shù)器,限制后臺閑著的程序向CPU發(fā)出中斷請求,“通過限制程序頻繁地資源請求,極 大的改善了CPU的利用效率。”
磁盤和網(wǎng)絡(luò)活動比起上一版本,有了更嚴(yán)苛的限制。一個被掛起的程序被賦予對網(wǎng)絡(luò)和磁盤資源訪問的“***優(yōu)先級”,意味著降低磁盤耗電和加快前臺程序的相應(yīng)速度。“I/O限制減少了后臺進程的開銷”。
“小牛”系統(tǒng)也降低了UNIX進程的優(yōu)先級,比掛起的程序還低,以減少對CPU資源的占用??偟膩碚f,這些改變將更多地降低后臺程序的開銷,對于那些設(shè)計為后臺全速運行的程序來說,系統(tǒng)將給與更加嚴(yán)厲的限制。
***,蘋果介紹了一種叫做“時鐘調(diào)度”(Timer Coalescing)的技術(shù),這種技術(shù)只在筆記本處于電池供電的狀態(tài)下開啟。OSX系統(tǒng)將采取“恒定CPU計數(shù)器”的策略,包括磁盤和網(wǎng)絡(luò)資源,以及所有請求,像DHCP獲取、wifi連接到系統(tǒng)升級通知觸發(fā)(大部分這類請求,用戶都不會察覺到。),因為程序之間沒有互相協(xié)調(diào)配合發(fā)起請求動作,所以一臺 處于閑置狀態(tài)的macbook可能被各種程序請求騷擾,使得CPU不得不一直處于活動狀態(tài),使得CPU和磁盤不能真正進入省電模式。