|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
在官方公布的内核中LinuxAPM是较为成熟的电源办理体例,能够完成在Windows下ACPI所能完成的年夜部分功效。因为官方内核中ACPI的功效对照无限,今朝还处于开辟版形态。
以是以后的年夜多半distribution,如红帽子默许就利用了apm作为电源办理体例。可是值得注重的是linux中的ACPI实践上是由一个独自的项目小组模块举行保护的,以后内核ACPI的版本实践上已远远掉队于最新的版本。因为linux不乱版中对任何新特征的到场都十分审慎当心,以是我们大概只能比及2.6.x版本的linux出生后才干看到ACPI的不乱全功效版了。不外我们也能够本人对内核打最新的ACPI补钉来取得这些功效。
上面对电源办理的先容以LinuxAPM为主。
用户态Daemon
为了让linux内核中的电源办理功效够更好的被使用,我们还必要用户态daemon程序的共同。针对LinuxAPM和ACPI,分离有apmd和acpid两个分歧软件。他们完成的功效对照相似,都是同意用户事后界说某些战略,然后跟踪电源形态,实行特定的操纵。在apmd软件包中另有一个工具LinuxAPM,用户能够用它使呆板自动进进standby和suspend形态,还能够查询bios的apm版本号。在利用acpi时间接对proc文件体系举行操纵便可完成一样的功效。
KernelSpace
APMdriver(包含供应给用户空间利用apm_bios_fopsSystemCall,次要有apm_read,apm_poll,apm_ioctl,apm_open,apm_release)。
关于电池电量检测,次要要用到MCU平台的ADC采样(每隔几工夫来读取ADC),和DC供电,电源供电的检测
关于体眠和恢复,这个次要是ioctl要完成的事变,比方用户空间用LinuxAPM-s举行就寝操纵,会挪用平台相干的就寝函数,恢复也是相似的。这内里要注重,APM有一套假就寝和恢复,必要完成真正平台相干的就寝和恢复。
详细能够参考我的博客:2410的LinuxAPM电源办理剖析。
UserSpace
GTK/Qt/C---->openAPM_PROC--->SystemCall(read()mainly)--->KernelVFS--->apm_driver-->apm_read
读取syslog来取得电池电量,供电检测相干的信息
</p>
在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻; |
|