linux 低功耗运行,关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录...
我今天想查一下Intel工程師放在CSDN的一個(gè)視頻,名字倒是查出來(lái)叫:Moblin系統(tǒng)的快速啟動(dòng)核心技術(shù)剖析,但是怎么找也找不找了。這是一個(gè)
好的技術(shù)介紹。難道給刪除了。不知道CSDN是否上次查圖片的時(shí)候,禁止了所有的視頻。沒(méi)辦法了,翻箱倒柜,找到了以前做的一些筆記,先記錄下來(lái)。不過(guò)不
保證完全忠于原著。可能有刪減。聊勝于無(wú)嘛。如果能再次公開(kāi)那些技術(shù)視頻就好了,我本來(lái)是想找codec和容器的資料,記得也是Intel工程師給的,后
來(lái)發(fā)現(xiàn)什么都不見(jiàn)了。
Intel在Meego(原Moblin)的革新,一是快速啟動(dòng),二是低
功耗,進(jìn)入了Linux的mainline,使得阿土(ubutu)和fadora能號(hào)稱(chēng)在十秒的級(jí)別上開(kāi)機(jī)啟動(dòng)。這在手持設(shè)備中是非常重要的。下面記錄
可能不完全反映原來(lái)視頻的內(nèi)容,加入了我的一些理解,對(duì)不感興趣的部分跳過(guò),如果有任何技術(shù)問(wèn)題,應(yīng)當(dāng)不歸于INTEL的工程師。
快速啟動(dòng)
系統(tǒng)的開(kāi)機(jī),從我們按power開(kāi)始到能夠正常使用,包含三部分的內(nèi)容:一、BIOS/BSP的啟動(dòng)時(shí)間;二、系統(tǒng)平臺(tái)(操作系統(tǒng))的啟動(dòng)時(shí)間;三、桌面UI和應(yīng)用的啟動(dòng)時(shí)間。
第一部分和硬件有關(guān),和系統(tǒng)平臺(tái)無(wú)關(guān),不討論。
第二部分是實(shí)現(xiàn)快速啟動(dòng)的核心關(guān)鍵部分。有下面的四個(gè)關(guān)鍵技術(shù):
關(guān)鍵技術(shù)1:內(nèi)核模塊(包括設(shè)備驅(qū)動(dòng))的快速加載
盡可能將內(nèi)核模塊編譯到Kernel image內(nèi)部:減少需要另行獨(dú)立加載的模塊的方式,節(jié)省時(shí)間
異步內(nèi)核模塊初始化:提高內(nèi)核模塊處理的并行化,可同時(shí)檢測(cè)多個(gè)硬件設(shè)備來(lái)減少啟動(dòng)時(shí)間。
關(guān)鍵技術(shù)2:加速文件讀取效率(Sreadahead:super read ahead)
采用Sreadahead,提高對(duì)SSD的文件讀取速度:對(duì)啟動(dòng)文件放入kernel page cache中。
關(guān)鍵技術(shù)3:優(yōu)化顯示驅(qū)動(dòng),實(shí)現(xiàn)X server的快速啟動(dòng)(fast X)
減少顯卡驅(qū)動(dòng)加載所消耗的時(shí)間,減少顯卡驅(qū)動(dòng)所占內(nèi)存
加速X Server啟動(dòng)時(shí)間:對(duì)XKB(leyboard layouts)結(jié)果進(jìn)行緩存,以便以后直接使用,X可直接使用kernel啟動(dòng)時(shí)檢測(cè)到的使用模式。
關(guān)鍵技術(shù)4:優(yōu)化init腳本
精簡(jiǎn)不必要的后臺(tái)程序和服務(wù)(nfs server, mail server)
并行啟動(dòng)必要的后臺(tái)程序服務(wù)(例如dbus,hal,connman)
第三部分是我們啟動(dòng)上層應(yīng)用和服務(wù),在智能手機(jī)中要好好斟酌啟動(dòng)的順序。
低功耗技術(shù)
關(guān)鍵技術(shù)1:減少設(shè)備組件/外設(shè)的功耗
原則1:對(duì)不使用的組件/外設(shè)關(guān)閉,如果無(wú)法關(guān)閉,進(jìn)入睡眠以降低功耗
原則2:對(duì)于休眠的組件/外設(shè),非必要時(shí)不喚醒
原則3:在一個(gè)喚醒周期中,盡可能完成更多的工作,使得組件/外設(shè)可以更長(zhǎng)的休眠時(shí)間
基礎(chǔ):部件休眠控制技術(shù)
方式:
各功能塊獨(dú)立供電,優(yōu)選底功耗器件,可進(jìn)行開(kāi)關(guān)控制,用戶(hù)可設(shè)置節(jié)能模式
電源優(yōu)化管理功能設(shè)計(jì)、實(shí)現(xiàn)底層硬件、系統(tǒng)軟件和應(yīng)用軟件多層協(xié)同
狀態(tài)切換機(jī)制:Idle態(tài)(調(diào)低CPU時(shí)鐘頻率,關(guān)閉部分部件,動(dòng)態(tài)電壓調(diào)節(jié))
例子:
例子1:屏低功耗:背光自適應(yīng)調(diào)節(jié)優(yōu)先管理以及屏保
例子2:智能的網(wǎng)絡(luò)連接管理:對(duì)于wifi/wapi,避免長(zhǎng)時(shí)間不斷搜索,對(duì)與數(shù)據(jù)包的轉(zhuǎn)發(fā),先存起來(lái),在周期廣播信標(biāo)幀是才發(fā)送,避免填寫(xiě)模塊一直處于工作狀態(tài),提供休眠期
例子3:USB,對(duì)于slave模式,從master中充電,對(duì)于master模式,不工作時(shí)進(jìn)入休眠。
關(guān)鍵技術(shù)2:系統(tǒng)平臺(tái)低功耗方案
原則1:CPU在工作喚醒周期,盡可能多處理,以盡可能延長(zhǎng)睡眠時(shí)期;
原則2:多個(gè)事件同時(shí)喚醒,降低喚醒頻率
基礎(chǔ):CPU的低功耗工作模式
方式1:kernel低功耗優(yōu)化
例子1:Linux Kernel對(duì)電源管理的優(yōu)化:根據(jù)過(guò)往的歷史記錄判斷當(dāng)前進(jìn)入哪個(gè)級(jí)別的C state 。
例子2:對(duì)P State的智能控制:控制采用On demand cupfreq govener,即按需CPU頻率調(diào)節(jié)技術(shù)。
例子3:盡可能同步喚醒:包括kernel tickless idle, 全局Timer技術(shù),合并/同步外設(shè)中斷時(shí)鐘
方式2:用戶(hù)空間程序的低功耗優(yōu)化
例子1:避免頻繁的中斷事件:優(yōu)化系統(tǒng)各應(yīng)用,合并/同步事件的觸發(fā)事件
例子2:減少頻繁I/O處理,合并寫(xiě)操作,使用較大緩存,減少讀寫(xiě)操作的頻率
例子3:在應(yīng)用程序開(kāi)發(fā)中:處理時(shí)應(yīng)盡可能完成多的任務(wù),允許休眠更長(zhǎng)的時(shí)間
例子4:硬件編解碼比軟件編解碼效率高
背景知識(shí):CPU的三個(gè)state
C State:A set of Idle States,即一系列休眠狀態(tài):關(guān)閉不使用的cycle,越高級(jí)別的C state,休眠越深,但喚醒需要的時(shí)間和耗電更大
P state方式:Performent State, 通過(guò)降低CPU頻減少CPU點(diǎn)壓(降頻減壓)來(lái)減少功耗,可采用按需頻率管控進(jìn)行優(yōu)化(Ondemand cpufreq governor)。【按需分配是最理想的模式】
此外還有T state,Thermal State:是用于處理CPU過(guò)熱的情況
總結(jié)
以上是生活随笔為你收集整理的linux 低功耗运行,关于Linux的快速启动(fastboot)和低功耗(low power)的学习记录...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux windows主题下载官网,
- 下一篇: linux ftp站点名称,Linux