全面认识APM和ACPI[转]

转载 2007年10月12日 16:54:00
APM全称Advanced Power Management,中文名称高级电源管理,目前最新的APM标准是1.2,它是一种基于BIOS的系统电源管理方案,它提供了CPU和设备电源管理并通过设备工作超时设定来决定何时将设备转换到低耗能状态。

    1.由于基于APM的BIOS都有它自己的电源管理方案,使得计算机与计算机之间缺乏一致性,每个BIOS开发者必须精心维护自己的APM BIOS代码和功能。     2.系统进入挂起的原因无法知晓。用户是否按了进入睡眠按钮,还是BIOS认为系统已进入了空闲状态,或者电池电压过低,这些信息APM都无法知道,但是Windows必须要知道挂起的原因,即使系统没有进入空闲状态。     3.BIOS无法知道用户在干什么,只有通过监视中断和I/O端口来猜测用户的活动。有时,BIOS会使系统处于完全混乱的状态,当系统没有空闲时将系统挂起或者当系统处于空闲状态时,却不进入挂起状态。     4.早期版本的BIOS APM(1.0和1.1)不提供任何系统性能信息,系统是否支持睡眠状态就只有尝试将系统转入睡眠模式才知道。如果BIOS不支持睡眠模式,那将导致死机。BIOS APM 1.2解决了这个缺陷。     5.BIOS对USB设备、加插的电脑配件卡和IEEE1394设备全然不知,导致当以上设备没有进入空闲状态,而BIOS却认为系统已经进入空闲状态,从而发生冲突,使这些设备无法正常使用或系统死机。

    由于APM有以上不足,因此ACPI应运而生。

    ACPI全称Advanced Configuration Power Interface,中文名称高级配置电源界面,ACPI是为了解决APM的缺陷而问世的。它定义了许多新的规范:     1.ACPI将现有的电源管理BIOS代码、APM应用编程接口、PNP BIOS应用编程接口、多处理器规范表格等集合成一种新的电源管理和配置接口规范。     2.ACPI允许操作系统(不是BIOS)控制电源管理,这点与APM不相同。     3.ACPI标准定义了硬件寄存器、BIOS接口(包含配置表格、控制方法以及主板设备列举和配置)、系统和设备的电源状态和ACPI热模型。     4.BIOS支持的代码不是用汇编语言而是用AML(ACPI Machine Language,ACPI机器语言)编写的。BIOS不能决定用于电源管理或资源管理的策略或超时。     5.使用ACPI系统的所有设备可以互相通信来了解彼此的使用情况,并且都受操作系统的控制,操作系统对正在运行的系统状态了如指掌,所以操作系统处于执行电源管理的最佳位置。

    综上所述,ACPI与APM有着很多的优势,推荐使用ACPI来管理系统。

    下面通过WinXP关机问题来进一步探讨它们之间的区别与应用。有人问为什么在WinXP的控制面板→电源选项中没有高级电源管理选项页和启用高级电源管理支持选项,从而使系统无法正常关机。其实在2000年以后出现的主板BIOS大都支持ACPI管理,因此当Power Management Setup中的ACPI function设为Enabled时,WinXP已经接管和控制了电源管理。所以系统中不会出现APM的选项页,当然也就不会出现启用高级电源管理支持选项。大多数的WinXP是可以正常关机,如果不能关机,原因可能是ACPI存在兼容性问题,解决的方法是升级最新的BIOS文件。如果还是不行,就把Power Management Setup中的ACPI function设为Disabled,并将PM Control by APM设为Yes。然后重启进入WinXP就会发现在控制面板→电源选项中多出了高级电源管理选项页(APM)和启用高级电源管理支持选项,只要勾选启用高级电源管理支持,并且在注册表的HKEY_LOCAL_MACHINE/SOFTWARE /Microsoft/Windows NT/CurrentVersion/ Winlogon中找到PowerdownAfterShut- down,并将值设为1,再重启,通常问题就可解决。

转自:http://www.blog.com.cn/user2/13225/archives/2005/36523.shtml 

全面认识APM和ACPI

APM全称Advanced Power Management,中文名称高级电源管理,目前最新的APM标准是1.2,它是一种基于BIOS的系统电源管理方案,它提供了CPU和设备电源管理并通过设备工作超时...
  • cassienj
  • cassienj
  • 2015年07月15日 13:31
  • 347

Linux acpi off学习的必要

Linux acpi off学习的必要 ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任...
  • zhongyhc
  • zhongyhc
  • 2013年04月25日 15:02
  • 1434

node.js学习认识五:Nodejs初阶之express

Nodejs初阶之express 2014-02-28 23:00 by 聂微东, 19735 阅读, 18 评论, 收藏, 编辑   PS: 2014/09/24 更新《Express 4.X...
  • u013864585
  • u013864585
  • 2015年05月25日 21:47
  • 764

电源管理ACPI、及APM、GNU/Linux系统下的对应命令使用

电源管理ACPI、及APM、GNU/Linux系统下的对应命令使用
  • yygydjkthh
  • yygydjkthh
  • 2014年05月19日 20:14
  • 3251

我所认识的ACPI

from http://blog.csdn.net/huangkangying/article/details/7853343 什么是ACPI? ACPI的全称是Advanced Configu...
  • cassienj
  • cassienj
  • 2015年07月15日 13:56
  • 1341

分清“ACPI”和“APM” 电源管理方式。

Windows 98/SE/Me/2000/XP都支持两种形式的电源管理,它们分别是APM(Advanced Power Management,高级电源管理)和ACPI(Advanced Config...
  • fivedoumi
  • fivedoumi
  • 2013年10月03日 16:06
  • 1084

全面认识Depth - 这里有关于Depth的一切

作者:拳四郎链接:https://zhuanlan.zhihu.com/p/25095708来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Depth的由来从Perspe...
  • qp120291570
  • qp120291570
  • 2017年02月05日 22:56
  • 721

Bios工程师手边事—ACPI电源管理

ACPI是高级配置与电源接口(AdvancedConfiguration and Power Interface)的简称,它是1997年由Intel、Microsoft、Toshiba,HP,Phoe...
  • zhao_longwei
  • zhao_longwei
  • 2015年12月27日 20:40
  • 2871

浅谈对nodeJS的认识

浅谈nodeJS
  • cz_sky
  • cz_sky
  • 2017年07月22日 15:23
  • 335

电源管理方案APM和ACPI比较

APM和ACPI比较 近期对linux的电源管理产生了兴趣,索性来学习一下电源管理的东西。这不,遇到的一个问题就是这个:APM、ACPI两种电源管理方案有何异同?下面的东西全部来...
  • xie0812
  • xie0812
  • 2015年10月21日 10:48
  • 651
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全面认识APM和ACPI[转]
举报原因:
原因补充:

(最多只允许输入30个字)