Linux 電源管理的組成
電源管理(Power Management)在 Linux Kernel 中,是一個(gè)比較龐大的子系統(tǒng),涉及到供電(PowerSupply)、充電(Charger)、時(shí)鐘(Clock)、頻率(Frequency)、電壓(Voltage)、睡眠/喚醒(Suspend/Resume)等方方面面。
Generic PM 軟件架構(gòu)
Generic PM 主要處理關(guān)機(jī)、重啟、冬眠(Hibernate)、睡眠(Sleep,在 Kernel 中稱作Suspend)。在內(nèi)核中,大致可以分為三個(gè)軟件層次:
API Layer,用于向用戶空間提供接口,其中關(guān)機(jī)和重啟的接口形式是系統(tǒng)調(diào)用,Hibernate 和 Suspend 的接口形式是sysfs。
PM Core,位于 /kernel/power/ 目錄下,主要處理和硬件無關(guān)的核心邏輯。
PM Driver,分為兩個(gè)部分,一是體系結(jié)構(gòu)無關(guān)的 Driver,提供 Driver 框架(Framework)。另一部分是體系結(jié)構(gòu)相關(guān)的Driver,這也是電源管理驅(qū)動開發(fā)需要涉及到的內(nèi)容(圖中紅色邊框的模塊)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
在Linux中,僅等待CPU時(shí)間的進(jìn)程稱為就緒進(jìn)程,它們被放置在一個(gè)運(yùn)行隊(duì)列中,一個(gè)就緒進(jìn)程的狀 態(tài)標(biāo)志位為 TASK_RUNNING。一旦一個(gè)運(yùn)行中的進(jìn)程時(shí)間片用完, Linux 內(nèi)核的調(diào)度器會剝奪這個(gè)進(jìn)程對CPU的控制權(quán),并且從運(yùn)行隊(duì)列中選擇一個(gè)合適的進(jìn)程投入運(yùn)行。
發(fā)表于 06-07 12:26
?482次閱讀
): 進(jìn)程在等待某個(gè)條件滿足(如I/O操作),可以被信號喚醒。
Linux通過內(nèi)核提供的系統(tǒng)調(diào)用來控制進(jìn)程的睡眠。常用的系統(tǒng)調(diào)用有:
sleep(): 使進(jìn)程暫停指定的秒數(shù)。
usleep(): 使進(jìn)程暫停
發(fā)表于 11-04 15:15
。但我的意思是,如果棕色的持續(xù)時(shí)間很長,那么PIC通常會醒來嗎?棕色是否會導(dǎo)致PIC無法正常喚醒或根本無法喚醒的情況?如果可能的話,那么我會在睡眠時(shí)也啟用BOR。我可以在沒有睡眠時(shí)啟用
發(fā)表于 10-12 14:46
Linux電源管理的組成部分
發(fā)表于 03-11 06:59
AVR單片機(jī)電源管理是如何進(jìn)入睡眠模式的?又是如何被喚醒的呢?
發(fā)表于 11-02 09:03
一、問題1、進(jìn)入深度睡眠后,通過外部中斷喚醒,發(fā)現(xiàn)系統(tǒng)時(shí)鐘變慢。2、進(jìn)入休眠模式,通過任何中斷喚醒,系統(tǒng)時(shí)鐘正常。二、原因1、從電源管理章節(jié)
發(fā)表于 01-26 07:43
漸響式睡眠喚醒器電路圖
發(fā)表于 05-25 13:43
?1496次閱讀
設(shè)想有兩個(gè)進(jìn)程 A 和 B,A 進(jìn)程正在處理一個(gè)鏈表,它需要檢查這個(gè)鏈表是否為空,如果不空就對鏈表里面的數(shù)據(jù)進(jìn)行一些操作,同時(shí) B 進(jìn)程也在往這個(gè)鏈表添加節(jié)點(diǎn)。當(dāng)這個(gè)鏈表是空的時(shí)候,由于無數(shù)據(jù)可操作,這時(shí) A 進(jìn)程就進(jìn)入睡眠,當(dāng) B 進(jìn)程向鏈表里面添加了節(jié)點(diǎn)之后它就喚醒
發(fā)表于 03-20 14:34
?4359次閱讀
Linux 中的進(jìn)程睡眠狀態(tài)有兩種:一種是可中斷的睡眠狀態(tài),其狀態(tài)標(biāo)志位TASK_INTERRUPTIBLE;
發(fā)表于 04-23 14:56
?963次閱讀
Linux的系統(tǒng)suspend和resumeLinux內(nèi)核 runtime_PM 框架Linux內(nèi)核電源管理綜述
發(fā)表于 11-07 19:36
?8次下載
一、問題1、進(jìn)入深度睡眠后,通過外部中斷喚醒,發(fā)現(xiàn)系統(tǒng)時(shí)鐘變慢。2、進(jìn)入休眠模式,通過任何中斷喚醒,系統(tǒng)時(shí)鐘正常。二、原因1、從電源管理章節(jié)
發(fā)表于 12-02 15:06
?21次下載
STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化1. 介紹STM32具有多種低功耗模式,當(dāng)前以STM32L4系列的低功耗模式最為豐富,此處基于STM32L476
發(fā)表于 12-31 19:08
?36次下載
Linux電源管理研究筆記—動態(tài)電源管理 DPM
發(fā)表于 01-07 11:56
?6次下載
AN010 從深度睡眠模式2喚醒并恢復(fù)
發(fā)表于 02-27 18:18
?1次下載
Linux 電源管理的組成 電源管理(Power Management)在
發(fā)表于 07-20 11:11
?792次閱讀
評論