電源管理(Power Management)在 Linux Kernel 中,是一個比較龐大的子系統(tǒng),涉及到供電(PowerSupply)、充電(Charger)、時鐘(Clock)、頻率(Frequency)、電壓(Voltage)、睡眠/喚醒(Suspend/Resume)等方方面面。
注1:該圖片只是一個示意圖,并沒有劃分軟件層次,因此模塊之間的關(guān)系不一定是真正的關(guān)系。
注2:Framework是一個中間層的軟件,提供軟件開發(fā)的框架。其目有三:一是屏蔽具體的實現(xiàn)細(xì)節(jié),固定對上的接口,這樣可以方便上層軟件的開發(fā)和維護;二是盡可能抽象公共邏輯,并在Framework 內(nèi)實現(xiàn),以提高重用性、減少開發(fā)量;三是向下層提供一系列的回調(diào)函數(shù)(callbackfunction),下層軟件可能面對差別較大的現(xiàn)實,但只要填充這些回調(diào)函數(shù),即可完成所有邏輯,減小了開發(fā)的難度。
注3:Runtime PM 是 Linux Kernel 親生的運行時電源管理機制,Wakelock 是由 Android
提出的機制。這兩種機制的目的是一樣的,因此只需要支持一種即可。另外,由于 Wakelock 機制路子太野了,飽受 Linux 社區(qū)的鄙視。
在對圖片中的這些組件(也可以稱作 Framework )進(jìn)行詳細(xì)描述之前,先在這里了解一下基本概念。
Power Supply,是一個供用戶空間程序監(jiān)控系統(tǒng)的供電狀態(tài)(電池供電、USB 供電、AC供電等等)的 class。通俗的講,它是一個Battery&Charger 驅(qū)動的 Framework
Clock Framework,Clock 驅(qū)動的 Framework,用于統(tǒng)一管理系統(tǒng)的時鐘資源
Regulator Framework,Voltage/Current Regulator 驅(qū)動的 Framework。該驅(qū)動用于調(diào)節(jié) CPU
等模塊的電壓和電流值
Dynamic Tick/Clock Event,在傳統(tǒng)的 Linux Kernel 中,系統(tǒng) Tick 是固定周期(如 10ms)的,因此每隔一個Tick,就會產(chǎn)生一個 Timer 中斷。這會喚醒處于 Idle 或者 Sleep 狀態(tài)的 CPU,而很多時候這種喚醒是沒有意義的。因此新的 Kernel就提出了 Dynamic Tick 的概念,Tick 不再是周期性的,而是根據(jù)系統(tǒng)中定時器的情況,不規(guī)律的產(chǎn)生,這樣可以減少很多無用的 Timer 中斷。
CPU Idle,用于控制 CPU Idle 狀態(tài)的 Framework
Generic PM,傳統(tǒng)意義上的 Power Management,如Power Off、Suspend to RAM、Suspend to
Disk、Hibernate 等
Runtime PM and Wakelock,運行時的 Power Management,不再需要用戶程序的干涉,由 Kernel統(tǒng)一調(diào)度,實時的關(guān)閉或打開設(shè)備,以便在使用性能和省電性能之間找到最佳的平衡
CPU Freq/Device Freq,用于實現(xiàn) CPU 以及 Device 頻率調(diào)整的 Framework
OPP(Operating Performance Point),是指可以使 SOCs 或者 Devices 正常工作的電壓和頻率組合。內(nèi)核提供這一個Layer,是為了在眾多的電壓和頻率組合中,篩選出一些相對固定的組合,從而使事情變得更為簡單一些
PM QOS,所謂的 PM QOS,是指系統(tǒng)在指定的運行狀態(tài)下(不同電壓、頻率,不同模式之間切換,等等)的工作質(zhì)量,包括latency、timeout、throughput 三個參數(shù),單位分別為 us、us 和 kb/s。通過 QOS 參數(shù),可以分析、改善系統(tǒng)的性能
-
電源
+關(guān)注
關(guān)注
185文章
18372瀏覽量
256328 -
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213823 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1032瀏覽量
21819
發(fā)布評論請先 登錄
Linux內(nèi)核電源管理的整體架構(gòu)介紹
LINUX電源管理的相關(guān)資料分享
Linux電源管理的系統(tǒng)架構(gòu)和驅(qū)動
嵌入式Linux系統(tǒng)的動態(tài)電源管理技術(shù)

Linux操作系統(tǒng)實用教程之如何Linux系統(tǒng)的遠(yuǎn)程管理
Linux電源管理系統(tǒng)結(jié)構(gòu)介紹

Linux電源管理系統(tǒng)的組成詳細(xì)資料介紹

Linux電源管理系統(tǒng)結(jié)構(gòu)的詳細(xì)介紹

Linux電源管理

LINUX電源管理

基于嵌入式Linux系統(tǒng)的電源管理軟件

評論