Linux電源管理研究筆記 acpid工作原理

2021-04-09 02:47:22 字數 1386 閱讀 5881

linux

電源管理研究筆記

—acpid

工作原理

在手持裝置設計中,電源管理歷來為重要的研究課題之一。我們日常所說的省電就屬於電源管理的範疇,這也是我們最關心的乙個部分。通過掛起不必要的裝置、降低

cpu的頻率或者其它方法,可以減少能量的消耗,達到省電的目的。電源管理實際上是乙個系統工程,從應用程式到核心框架,再到裝置驅動和硬體裝置,都要參與進來,才能達到電源管理的最優化。本文介紹一下

acpid

的工作原理。

acpi

是advanced configuration and power inte***ce

縮寫,acpid中的d

則代表daemon

。acpid

是乙個使用者空間的服務程序,它充當

linux

核心與應用程式之間通訊的介面,負責將

kernel

中的電源管理事件**給應用程式。

acpid

與核心的通訊方式:

acpid

用poll

函式掛在

/proc/acpi/event

檔案上。核心在

drivers/acpi/event.c

中實現了該檔案的介面,一旦匯流排事件列表

(acpi_bus_event_list)

上有電源管理事件發生,核心就會喚醒掛在

/proc/acpi/event

上的acpid

,acpid

再從/proc/acpi/event

中讀取相應的事件。

acpid

與應用程式的通訊方式有兩種,其一是通過本地

socket

,其檔名為

/var/run/acpid.socket

,應用程式只要連線到這個

socket

上,不用傳送任何命令就可以接收到

acpid

**的電源管理事件。

其二是通過配置檔案。在

acpid

收到來自核心的電源管理事件時,根據配置檔案中的規則執行指定的命令。配置檔案在

/etc/acpi/events/

目錄下,下面是乙個示例:

event=button/power.*

action=/sbin/shutdown -h now

事件的格式為:

device_class bus_id type data

。device_class

和bus_id

是字串,

type

和data

是十六制整數。在配置檔案中可以使用萬用字元,來匹配指定的事件。

~~end~~

linux電源管理

一 acpid的實驗 1 我在機房的機器上的 etc apci events power.conf中加了 actions bin echo 111111111111 root 1.tmp 2 service acpid restart 3 我按了電源.呵呵,發現了 root 1.tmp 二 etc ...

linux 電源管理

我用的筆記本 ubuntu 12.04 kernel 3.8.8 只能掛起一次,第二次掛起的話就到了解鎖介面,網上找了很多 ubuntu suspend once 沒有用 但是學到了一些其它的電源管理命令 快捷鍵關螢幕 其它的,光碟機,cpu,硬碟都可以進行管理 休眠 資料到記憶體 sudo etc...

Linux電源管理編譯

在核心中,有乙個driver power power supply core.我在核心 中的make menuconfig 開始,配置 power management options 中,已經全部配置.但是,power中的檔案仍然沒有變化。然後開始找核心,在device drivers中找到 po...