|
In computing, the Advanced Configuration and Power Interface (ACPI) specification provides an open standard that the operating systems can use for computer hardware discovery, configuration, power management, and monitoring. Internally, ACPI exports the available functionalities by providing certain instruction lists as part of the system firmware, which the operating system kernel interprets and executes to perform desired operations, using a form of embedded virtual machine. First released in December 1996, ACPI defines platform-independent interfaces for hardware discovery, configuration, power management and monitoring, and is designed to replace Advanced Power Management (APM), the MultiProcessor Specification and the Plug and Play BIOS (PnP) Specification.〔(ACPI Overview )〕 ACPI brings the power management under the control of the operating system, as opposed to the previous BIOS-central system that relied on platform-specific firmware to determine power management and configuration policies. The specification is central to ''Operating System-directed configuration and Power Management'' (OSPM), a system implementing ACPI which removes device management responsibilities from legacy firmware interfaces. Intel, Microsoft and Toshiba originally developed the standard, while HP and Phoenix also participated later. As the ACPI technology gained wider adoption with many operating systems and processor architectures, the desire to improve the governance model of the specification has increased significantly. In October 2013, the original developers of the ACPI standard agreed to transfer all assets to the UEFI Forum, in which all future development will take place. The latest version of the standard is "Revision 6.0", which was published by the UEFI Forum in April 2015. == Architecture == The firmware-level ACPI has three main components: the ACPI tables, the ACPI BIOS and the ACPI registers. Unlike its predecessors, such as the APM or PnP BIOS, the ACPI implements little of its functionality in the ACPI BIOS code, whose main role is to load the ACPI tables in system memory. Instead, most of the firmware ACPI functionality is provided in ''ACPI Machine Language'' (AML) bytecode stored in the ACPI tables. To make use of these tables, the operating system must have an interpreter for the AML bytecode. A reference AML interpreter implementation is provided by the ACPI Component Architecture (ACPICA). At the BIOS development time, AML code is compiled from the ASL (ACPI Source Language) code.〔〔 As ACPI also replaces PnP BIOS, it also provides a hardware enumerator, mostly implemented in the DSDT (Differentiated System Description Table) ACPI table. The advantage of a bytecode approach is that unlike PnP BIOS code (which was 16-bit), the ACPI bytecode may be used in any operating system, even in 64-bit long mode.〔(ACPI in Linux ), 2005〕 Overall design decision was not without criticism. In November 2003, Linus Torvalds, initial creator of the Linux kernel, described ACPI as "a complete design disaster in every way".〔Linux Magazine issue 162, May 2014, page 9〕 In 2001, other senior Linux software developers like Alan Cox expressed concerns about the requirements that bytecode from an external source must be run by the kernel with full privileges, as well as the overall complexity of the ACPI specification. In 2014, Mark Shuttleworth, founder of the Ubuntu Linux distribution, compared ACPI with Trojan horses.〔Linux Format n°184, June 2014, page 7.〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Advanced Configuration and Power Interface」の詳細全文を読む スポンサード リンク
|