电源管理特性需要系统和设备硬件以及系统软件和设备驱动的支持。如之前提到的硬件设备需要符合工业规范。现在介绍一下软件的支持。设备驱动需要遵守OS的要求来管理对应设备的电源。如下所示系统范围内的电源管理:
应用程序和用户能够通过控制面板和调用电源管理例程来影响电源管理决策。用户能够通过控制面板来设置系统或设备的电源选项,包括定制电源设置。控制面板会通知电源管理器和设备驱动改变当前的电源策略和相关的电源设置。从VIsta开始,电源管理器通过调用
power setting callback来通知设备驱动。驱动需要注册并且接收对应的通知。而在之前的系统中OS通过过WMI来通知。
电源管理器管理系统范围的电源策略。这个规则管理系统的电源使用。(参见
System Power Policy)通过从控制面板和API得到的信息,电源管理器能够决定何时使用或者可能需要使用各种设备,以便其能够像应该调整系统电源策略。
电源管理器同时为驱动提供了接口,包括
power management support routines,
power management minor IRPs,需要驱动提供入口点。
当电源管理器请求改变系统电源状态时,驱动会将对应设备置于合适的电源状态来相应电源管理器。另外,驱动能够对设备进行空闲检测并在设备未使用时将设备置于睡眠状态。总线机制能够上报设备电源能力,设置和上报设备状态和改变设备电源状态。具体什么时候以及怎样改变设备电源依赖于设备的硬件能力和设备类型。
即便ACPI硬件实现了最大程度的节能,但是硬件不需要为驱动有效管理电源而兼容ACPI。