给大家带来复杂懂得Linux APM电源办理常识
写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习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之禅中也说过:以总结分享为荣,以跪求其解为耻; 得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。 直到学习Linux这门课以后,我才知道,原来我错了。? 下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。 当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。 选择一些适于初学者的Linux社区。
页:
[1]