APM vs ACPI

Written by Marvin Dickens mpdickens@tlanta.com on 21-December-2002.

On Fri, 2002-12-20 at 23:14, Brett I. Holcomb wrote:
> What is the difference in APM vs ACPI for power management? Are they two
> exclusive methods of controling shutdown, etc. or is ACPI an advanced
> version of APM? When I build a kernel can I specify both or do I choose
> one? Well, here is the difference between the two (At least as I understand it): APM is a a BIOS-based scheme of system power management. It provides CPU and device power management and uses device activity timeouts to determine when to transition devices to low power states. However, APM falls short: 1.) Every BIOS has its own power management scheme. There is no consistancy between manufacturers. Each BIOS developer must refine and maintain their own APM BIOS code and functionality. 2.) The reason for a suspend is never known. 3.) The BIOS is unaware what the user is doing. Ultimately, the BIOS makes a mess of everything. 4.) The BIOS knows nothing about USB devices, add-in cards and IEEE 1394 devices. ACPI was developed to overcome the deficiencies in APM. ACPI (Advanced Configuration and Power Interface) is an open industry specification. ACPI evolves the existing collection of power management BIOS code, Advanced Power Management (APM) application programming interfaces (APIs, PNPBIOS APIs, Multiprocessor Specification (MPS) tables and so on into a well-defined power management and configuration interface specification. The specification enables new power management technology to evolve independently in operating systems and hardware while ensuring that they continue to work together. Unlike APM, ACPI allows the Operating System (instead of the BIOS) to control Power Management (OSPM). The support code provided by the BIOS is not written in the native assembly language of the platform but in AML (ACPI Machine Language). The BIOS does not determine the policies or time-outs for power management or resource management. There are 4 device states under APM: Enabled, Standby, Suspend and Off. ACPI's device states are extended, with 4 major global states: Working (S0), Sleeping (S1-S3), Soft-Off (S4), and Mechanical-Off (S5). Sleeping is further broken down into 3 substates.The ACPI BIOS tables define what these states mean for individual devices, and the operating system determines when to move a device, or even the entire system, from one state to another. The ACPI-compatible OS mainly acts as a swap manager that swap the computer to different state based on the information collected. A transition from one state to another is first started with the OSPM system code which instructs the OS kernel for the specific state transition. After the kernel receives the instruction, it asks the appropriate device driver to perform the operation. Response from the operation will be passed back to the OSPM from the kernel. This process will proceed in hierarchical order until all devices and components reach a specified state. There is more, but the above info is probably enough............... Best Peck

searchSearch Index