電源管理的Linux技術(shù)實(shí)施應(yīng)用在便攜式動(dòng)態(tài)設(shè)備
任何擁有筆記本電腦的人都會(huì)察覺(jué),當(dāng)依靠電池供電時(shí),其便攜設(shè)備的行為與使用交流主電源供電時(shí)不同——顯示屏變暗、處理器的時(shí)鐘變慢、系統(tǒng)只要有可能就會(huì)轉(zhuǎn)入待機(jī)或睡眠狀態(tài)。PDA用戶也發(fā)現(xiàn),在停止使用一段時(shí)間后顯示屏將變暗,設(shè)備甚至進(jìn)入睡眠狀態(tài)。蜂窩電話用戶也已經(jīng)注意到,背景光和按鍵照明在完成撥號(hào)之后會(huì)熄滅。事實(shí)上,這些可見(jiàn)行為的背后是軟硬件技術(shù)和節(jié)電機(jī)制在發(fā)揮作用。
本文引用地址:http://butianyuan.cn/article/226937.htm全速運(yùn)行、待機(jī)和睡眠等宏觀行為利用CPU的固有能力通過(guò)降低工作電壓或時(shí)鐘頻率來(lái)節(jié)省功耗。除了全面地改變系統(tǒng)狀態(tài)外,大多數(shù)設(shè)備用戶察覺(jué)不到的是,實(shí)際的電源管理也能夠逐漸地改變系統(tǒng)狀態(tài),這種情況在一秒之內(nèi)可以發(fā)生數(shù)百次。
任何動(dòng)態(tài)電源管理策略的基礎(chǔ)都是調(diào)整便攜式設(shè)備中一個(gè)或多個(gè)處理器內(nèi)核的工作電壓和頻率,此外,在高集成度的PowerPC、ARM和基于x86的系統(tǒng)中經(jīng)常包含一個(gè)DSP或智能基帶處理器。的確,諸如英特爾的StrongARM和XScale處理器、TI的OMAP處理器系列以及IBM的PowerPC 405LP和Transmeta Crusoe等CPU都提供內(nèi)核電壓和頻率的動(dòng)態(tài)調(diào)節(jié)功能。不過(guò),現(xiàn)代的嵌入式處理器具有非常高的電源效率,以至于CPU并不總是最主要的耗能器件,其它高耗能的器件包括高性能存儲(chǔ)器、彩色顯示器和射頻接口等。因此,如果動(dòng)態(tài)電源管理系統(tǒng)只能調(diào)節(jié)處理器內(nèi)核的電壓和頻率,那么它的用途將有限。
一個(gè)真正有用的動(dòng)態(tài)電源管理方案應(yīng)該可以采用與CPU內(nèi)核運(yùn)行相協(xié)調(diào)或相獨(dú)立的方式,支持對(duì)一系列電壓和時(shí)鐘的快速調(diào)節(jié)。
DPM架構(gòu)
兩個(gè)現(xiàn)有的電源管理方案分別來(lái)自于PC和筆記本電腦領(lǐng)域:一個(gè)是傳統(tǒng)的高級(jí)電源管理(APM)方案,它目前仍然使用在許多基于Linux的便攜設(shè)備中,但在基于微軟操作系統(tǒng)的筆記本電腦和手持設(shè)備中已經(jīng)被逐步淘汰;另一個(gè)是高級(jí)配置和電源接口(ACPI)方案,它是英特爾、東芝和其他一些公司支持的現(xiàn)行標(biāo)準(zhǔn)。在PC、筆記本電腦、服務(wù)器、甚至刀片式通信設(shè)備等商業(yè)硬件中,類似ACPI的系統(tǒng)是人們的首選,但它強(qiáng)烈依賴于流行的x86/IA-32 BIOS 架構(gòu)。
嵌入式系統(tǒng)通常沒(méi)有類似于PC中的BIOS,而且通常不具備那么高的機(jī)器抽象水平,能夠把操作系統(tǒng)與低層次的設(shè)備和電源管理活動(dòng)隔離開(kāi)來(lái)。與其它瞄準(zhǔn)電池供電應(yīng)用的操作系統(tǒng)類似,在嵌入式Linux中,電源管理活動(dòng)需要對(duì)操作系統(tǒng)內(nèi)核和設(shè)備驅(qū)動(dòng)程序進(jìn)行特殊的干預(yù)。不過(guò),需要重點(diǎn)強(qiáng)調(diào)的是,雖然低層次的動(dòng)態(tài)電源管理是駐留在操作系統(tǒng)內(nèi)核中,但電源管理策略和機(jī)制是來(lái)源于中間件和用戶應(yīng)用代碼。接口和API
理想的電源管理系統(tǒng)應(yīng)盡可能對(duì)更多軟件堆棧層達(dá)到幾乎完全透明的程度。事實(shí)上,這是Transmeta公司在其Crusoe架構(gòu)中所遵循的路線,而且已經(jīng)成為基于BIOS的現(xiàn)有電源管理方案追求的目標(biāo)。然而,具備手持設(shè)備設(shè)計(jì)經(jīng)驗(yàn)的開(kāi)發(fā)人員證實(shí),系統(tǒng)內(nèi)部各部分之間需要某種程度的直接合作,具體描述如下:
內(nèi)核接口
在面向Linux的DPM架構(gòu)中,內(nèi)核中的DPM子系統(tǒng)負(fù)責(zé)維持整個(gè)系統(tǒng)的電源狀態(tài),并把DPM系統(tǒng)的不同電源管理模塊聯(lián)系在一起。如果內(nèi)核的任何其它部分需要與DPM直接對(duì)話(盡管這種情況相對(duì)較少),那么最好把DPM看成是為驅(qū)動(dòng)程序、中間件和應(yīng)用程序提供服務(wù)的元素。
驅(qū)動(dòng)程序接口
支持DPM功能的設(shè)備驅(qū)動(dòng)程序比默認(rèn)的驅(qū)動(dòng)程序更了解系統(tǒng)狀態(tài):它們?cè)谕獠渴录尿?qū)使下通過(guò)設(shè)定不同的狀態(tài)來(lái)反映或遵循那些操作機(jī)制,或者通過(guò)來(lái)自內(nèi)核 DPM子系統(tǒng)的調(diào)用來(lái)反映或遵循那些操作機(jī)制。為了實(shí)現(xiàn)更精確的機(jī)制決策,驅(qū)動(dòng)程序API也允許驅(qū)動(dòng)程序注冊(cè)與它們接口或由它們管理的那些設(shè)備的基礎(chǔ)操作特征。
應(yīng)用程序API
應(yīng)用程序可以分為三類:
*電源管理知會(huì)型(PM-aware)應(yīng)用程序
*在電源管理知會(huì)“包裹器”中的傳統(tǒng)應(yīng)用程序
*不帶有電源管理的傳統(tǒng)應(yīng)用程序
電源管理知會(huì)型應(yīng)用程序能夠利用機(jī)制管理器提供的API,建立其基本的約束條件,并強(qiáng)迫電源管理機(jī)制發(fā)生與其執(zhí)行需求相匹配的變化。不直接帶有電源管理能力的傳統(tǒng)應(yīng)用程序能夠被“包裹”在代碼或補(bǔ)丁中,以達(dá)到較高的效率,但它們也能夠根據(jù)更大范圍的
linux相關(guān)文章:linux教程
評(píng)論