工程师 - ACPI介绍

ACPI 是高级配置和电源接口的简称,它定义了一个灵活而抽象的硬件接口。它提供了一种将电源管理功能集成到整个 PC 系统(包括硬件、操作系统和应用软件)的标准方法。ACPI 允许计算机打开 CD-ROM、网卡、硬盘驱动器和打印机等外围设备以及其他 ACPI 兼容产品。有了这项技术,外设也能激活电脑。例如,将一盘磁带插入录像机(VCR),就可以打开电脑,从而激活电视和高保真音响系统。

Short for Advanced Configuration and Power Interface, ACPI defines a flexible and abstract hardware interface. It provides a standard way to integrate power management features throughout a PC system, including the hardware, operating system and application software. ACPI allows a computer to turn on peripherals such as CD-ROMs, network cards, hard drives, and printers, and other ACPI compatible products. With this technology, peripherals can also activate the PC. For example, inserting a tape into a VCR (Video Cassette Recorder) could turn on a PC that would activate a television and high-fidelity sound system.

如果在 Windows 98 中看到带有 ACPI 错误代码的红色或蓝色屏幕,则可能是硬件或软件问题。红屏表示硬件或计算机 BIOS 存在 ACPI 问题,我们建议你确保有最新的硬件驱动程序和 BIOS 更新。蓝屏表示软件 ACPI 或其他隐藏问题,请确保为程序和操作系统安装了所有最新的软件补丁。

If you see a red or blue screen with an ACPI error code in Windows 98, you may have a hardware or software issue. The red screen indicates that an ACPI issue with hardware or the computer BIOS, we recommend making sure you have the latest hardware drivers and BIOS updates. The blue screen indicates a software ACPI or another hidden problem, make sure you have all the latest software patches for your programs and operating system.


Overview

ACPI 组件架构(ACPICA)是高级配置和电源接口(ACPI)规范的参考实现。该实现将 ACPI 直接集成为内核驻留子系统,无需更改 ACPICA 核心代码,从而简化了复杂的 ACPI 操作系统实现。

ACPI Component Architecture (ACPICA) is a reference implementation of the Advanced Configuration and Power Interface (ACPI) specification. This implementation simplifies complex ACPI operating system implementations by integrating it directly as a kernel-resident subsystem, without changes to the core ACPICA code.

Why ACPICA?

通过高级电源管理 (APM),电源管理由 BIOS 控制,与操作系统无关。当超出 BIOS 设置时,BIOS 会关闭屏幕或硬盘。这就产生了一种不完善的电源管理策略,因为它需要为每个平台重新实施策略。 即插即用 BIOS(PNPBIOS)规范也不可靠。

With advanced power management (APM), power management is controlled by the BIOS independently of the operating system. When BIOS settings are exceeded, the BIOS turns off the screen or shuts down the hard drive. This creates an imperfect power management policy because it requires reimplementing the policy for each platform.  Plug and play BIOS (PNPBIOS) specification is also unreliable.

有了 ACPI,电源管理从 BIOS 转移到操作系统。

  • 应用程序可以告诉操作系统显示器正在使用中,并相应改变其电源策略。

  • 操作系统没有 BIOS 的大小限制。

  • ACPI 系统固件通过将数据整理成表格放入主内存来描述系统特性。

With ACPI, power management moves from the BIOS to the operating system.

* An application can tell the operating system that the display is in use, and change its power policy accordingly.

* The operating system does not have the size limitation of the BIOS.

* The ACPI system firmware describes the system's characteristics by placing data, organized into tables, into the main memory.

ACPICA 代码已相当成熟,并实现了以下功能:

* AML(ACPI 机器语言)解释器

* 表管理器

* 命名空间管理器

* 资源管理器

* 固定和通用事件支持

* ACPI 硬件支持

* 支持 ACPI 5.0 规范

ACPICA code is fairly mature and implements the following:

* An AML (ACPI machine language) interpreter

* A table manager

* A namespace manager

* A resource manager

* Fixed and general purpose event support

* ACPI hardware support

* Support for the ACPI 5.0 specification

How It Works

* ACPICA 为 32 位和 64 位平台定义并实现了一组软件组件。

* 该架构将所有操作系统依赖关系隔离到一个相对较小的翻译或转换层(称为操作系统服务层)。

* 这种隔离使 ACPICA 的大部分代码独立于任何操作系统。

* 新操作系统无需更改 ACPICA 代码本身的源代码。

* ACPICA defines and implements a group of software components for both 32-bit and 64-bit platforms.

* The architecture isolates all operating system dependencies to a relatively small translation or conversion layer (called the OS Services Layer)

* This isolation enables the bulk of the ACPICA code to be independent of any individual operating system.

* Requires no source code changes within the ACPICA code itself for new operating systems.

What's Included

主要内核级组件

* AML 解释器

* ACPI 表管理器

* ACPI 命名空间管理器

* ACPI 资源管理器

* ACPI 固定和通用事件支持

* ACPI 硬件支持

* AML 反汇编器(可选)

* AML 调试器(可选)

Major kernel-level components:

* AML Interpreter

* ACPI Table Manager

* ACPI Namespace Manager

* ACPI Resource Manager

* ACPI Fixed and General Purpose Event Support

* ACPI Hardware Support

* AML Disassembler (optional)

* AML Debugger (optional)

用户空间工具和实用程序

* ACPI 源代码编译器和反汇编器 (iASL)

* ACPI 模拟器/执行器 (AcpiExec)

* 将 ACPI 系统表转储为 ASCII 实用程序/ (acpidump)

* ACPI 表提取器(acpidump 工具的逆向)/ (acpixtract)

* ACPI 帮助实用程序 (AcpiHelp)

注意: ACPICA 组件在内核模式和用户模式下都有运行。

User-space tools and utilities:

* ACPI Source Code Compiler & Disassembler (iASL)

* ACPI Simulator/Executer (AcpiExec)

* ACPI System Table dump to ASCII utility/ (acpidump)

* ACPI Table Extractor (inverse of acpidump utility)/ (acpixtract)

* ACPI Help Utility (AcpiHelp)

Note:  The ACPICA components run in both kernel mode and user mode.

System Requirements

* 用 C 语言编写操作系统(或能够与 C 代码接口)。

* 在启动例程中添加 ACPICA 初始化调用。

更多详情,请参阅 ACPI 规范。

* Write operating systems in C (or able to interface to C code).

* Add ACPICA initialization calls into the startup routine.

For more details, see the ACPI specifications.

Environments

ACPICA 采用 ANSI C 语言编写,可在多种不同的 32 位和 64 位操作系统开发环境下生成。源代码包适用于 Microsoft Windows* 和 UNIX*。

* Windows 软件包包括 Visual C++* 项目文件和其他 ACPI 实用程序

* UNIX 软件包的格式和许可适合商业操作系统供应商使用。

没有独立的 Linux* 源代码包,因为针对 Linux 的 ACPICA 更新是以补丁形式定期提供的。ACPICA 子系统经过修改,可与 Linux 内核源代码顺利集成。这包括将 ACPICA 源代码转换为 Linux 内核编码标准,并根据 GNU 通用公共许可证进行授权。

ACPICA is written in ANSI C, and can be generated under many different 32-bit and 64-bit operating system development environments. Source code packages are provided for Microsoft Windows* and UNIX*.

* The Windows package includes Visual C++* project files and other ACPI utilities

* The UNIX package has a format and licensing suitable for inclusion by commercial operating system vendors.

There is no stand-alone Linux* source code package since ACPICA updates for Linux are provided periodically in patch form. The ACPICA subsystem is modified to integrate smoothly with the Linux kernel source. This includes conversion of the ACPICA source code to the Linux kernel coding standard and licensing under the GNU General Public License.

Linux* Support

从 Linux 内核 2.4 版开始,ACPICA 被嵌入到 Linux 内核中。ACPICA 没有特定的 Linux 源代码包。相反,新的 ACPICA 代码由 ACPICA 团队通过以下程序发布到 Linux 中:

1. ACPICA 的 Linux 版本由 UNIX 发布包创建,代码通过 ACPICA 实用程序 (AcpiSrc) 和 lindent 转换为 Linux 格式。

2. 创建单个补丁,与当前的 Linux 源代码树合并,然后发布到 Linux。

用户空间 ACPICA 实用程序(iASL、AcpiExec、AcpiXtract 等)的 Linux 版本可从 UNIX ACPICA 源代码包中构建。

Starting with the Linux kernel version 2.4, ACPICA is embedded within the Linux kernel. There is no specific Linux source code package for ACPICA. Instead, new ACPICA code is released to Linux by the ACPICA team via the following procedure:

1. The Linux version of ACPICA is created from the UNIX release package—the code is converted to Linux format via an ACPICA utility (AcpiSrc) and lindent.

2. Individual patches are created, merged with the current Linux source tree, and released to Linux.

The Linux versions of the user-space ACPICA utilities (iASL, AcpiExec, AcpiXtract, and so forth) can be built from the UNIX ACPICA source code package.

要在Linux kernel中配置ACPI选项,然后编译内核,才带有ACPI功能。具体请查阅kernel config。

参考:

1, ComputerHope

What is ACPI (Advanced Configuration and Power Interface)? (computerhope.com)

2, Intel

Overview of ACPI Component Architecture (ACPICA) (intel.com)

3, Thinkwiki

How to make ACPI work - ThinkWiki

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值