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