如何理解LinuxAPM电源管理

本篇文章给大家分享的是有关如何理解Linux APM电源管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

我们提供的服务有:成都网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、北戴河ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的北戴河网站制作公司

在官方发布的内核中Linux APM是较为成熟的电源管理方式,可以完成在Windows下ACPI所能完成的大部分功能。由于官方内核中ACPI的功能比较有限,目前还处于开发版状态。

所以当前的大多数distribution,如红帽子默认就使用了apm作为电源管理方式。但是值得注意的是linux中的ACPI实际上是由一个单独的项目小组模块进行维护的,当前内核ACPI的版本实际上已经远远落后于***的版本。由于linux稳定版中对任何新特性的加入都非常谨慎小心,所以我们也许只能等到2.6.x版本的linux诞生后才能看到ACPI的稳定全功能版了。不过我们也可以自己对内核打的ACPI补丁来获得这些功能。

下面对电源管理的介绍以Linux APM为主。

用户态Daemon
为了让linux内核中的电源管理功能够更好的被利用,我们还需要用户态daemon程序的配合。针对Linux APM和ACPI,分别有apmd和acpid两个不同软件。他们实现的功能比较类似,都是允许用户预先定义某些策略,然后跟踪电源状态,执行特定的操作。在apmd软件包中还有一个工具Linux APM,用户可以用它使机器主动进入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要完成的事情,例如用户空间用Linux APM-s进行睡眠操作,会调用平台相关的睡眠函数,恢复也是类似的。这里面要注意,APM有一套假睡眠和恢复,需要实现真正平台相关的睡眠和恢复。

具体可以参考我的博客:2410的Linux APM电源管理分析。
UserSpace
GTK/Qt/C---->openAPM_PROC--->SystemCall(read()mainly)--->KernelVFS--->apm_driver-->apm_read
读取syslog来获得电池电量,供电检测相关的信息

以上就是如何理解Linux APM电源管理,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。

标题名称:如何理解LinuxAPM电源管理
文章来源:https://www.cdcxhl.com/article32/jgcjpc.html

成都网站建设公司_创新互联,为您提供品牌网站制作用户体验营销型网站建设定制网站网站策划商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化