Compartir a través de


Acpi.sys (controlador ACPI de Windows)

El controlador ACPI de Windows, Acpi.sys, es un componente de bandeja de entrada del sistema operativo Windows. Las responsabilidades de Acpi.sys incluyen compatibilidad con la administración de energía y la enumeración de dispositivos Plug and Play (PnP). En las plataformas de hardware que tienen un BIOS ACPI, HALhace que se cargue Acpi.sys durante el inicio del sistema en la base del árbol de dispositivos. Acpi.sys actúa como la interfaz entre el sistema operativo y el BIOS ACPI. Acpi.sys es transparente para los otros controladores del árbol de dispositivos.

Otras tareas realizadas por Acpi.sys en una plataforma de hardware determinada pueden incluir la reprogramación de los recursos para un puerto COM o habilitar el controlador USB para la reactivación del sistema.

En este tema

Dispositivos ACPI

El proveedor de la plataforma de hardware especifica una jerarquía de espacios de nombres ACPI en el BIOS ACPI para describir la topología de hardware de la plataforma. Para obtener más información, consulte Jerarquía de espacios de nombres ACPI.

Para cada dispositivo descrito en la jerarquía de espacios de nombres ACPI, el controlador ACPI de Windows, Acpi.sys, crea un objeto de dispositivo de filtro (DO de filtro) o un objeto de dispositivo físico (PDO). Si el dispositivo está integrado en la placa del sistema, Acpi.sys crea un objeto de dispositivo de filtro, que representa un filtro de bus ACPI y lo asocia a la pila de dispositivos inmediatamente encima del controlador de bus (PDO). Para otros dispositivos descritos en el espacio de nombres ACPI, pero no en la placa del sistema, Acpi.sys crea el PDO. Acpi.sys proporciona características de administración de energía y PnP a la pila de dispositivos con estos objetos de dispositivo. Para obtener más información, consulte Pilas de dispositivos para un dispositivo ACPI.

Un dispositivo para el que Acpi.sys crea un objeto de dispositivo se denomina dispositivo ACPI. El conjunto de dispositivos ACPI varía de una plataforma de hardware a la siguiente, y depende del BIOS ACPI y de la configuración de la placa base. Acpi.sys carga un filtro de bus ACPI solo para un dispositivo que se describe en el espacio de nombres ACPI y está conectado permanentemente a la plataforma de hardware (normalmente, este dispositivo se integra en el silicio principal o soldado en la placa del sistema). No todos los dispositivos de placa base tienen un filtro de bus ACPI.

Toda la funcionalidad ACPI es transparente para los controladores de nivel superior. Estos controladores no deben hacer suposiciones sobre la presencia o ausencia de un filtro ACPI en cualquier pila de dispositivos determinada.

Acpi.sys y el BIOS ACPI admiten las funciones básicas de un dispositivo ACPI. Para mejorar la funcionalidad de un dispositivo ACPI, el proveedor del dispositivo puede proporcionar un controlador de funciones WDM. Para obtener más información, consulte Funcionamiento de un controlador de función de dispositivo ACPI.

Un dispositivo ACPI se especifica mediante un bloque de definición en las tablas de descripción del sistema en el BIOS ACPI. El bloque de definición de un dispositivo especifica, entre otras cosas, una región de operación, que es un bloque contiguo de memoria del dispositivo que se usa para acceder a los datos del dispositivo. Solo Acpi.sys modifica los datos de una región de operación. El controlador de funciones del dispositivo puede leer los datos de una región de operación, pero no debe modificarlos. Cuando se llama a , un controlador de región de operación transfiere bytes en la región de la operación hacia y desde el búfer de datos en Acpi.sys. La operación combinada del controlador de función y Acpi.sys es específica del dispositivo y se define en el BIOS ACPI por el proveedor de hardware. En general, el controlador de función y Acpi.sys acceder a determinadas áreas de una región de operación para realizar operaciones específicas del dispositivo y recuperar información. Para obtener más información, consulte Compatibilidad con una región de operación.

Métodos de control ACPI

Los métodos de control ACPI son objetos de software que declaran y definen operaciones simples para consultar y configurar dispositivos ACPI. Los métodos de control se almacenan en el BIOS ACPI y se codifican en un formato de código de bytes denominado lenguaje de máquina ACPI (AML). Los métodos de control para un dispositivo se cargan desde el firmware del sistema en el espacio de nombres ACPI del dispositivo en memoria, e interpretados por el controlador ACPI de Windows, Acpi.sys.

Para invocar un método de control, el controlador en modo kernel para un dispositivo ACPI inicia una solicitud de IRP_MJ_DEVICE_CONTROL , que se controla mediante Acpi.sys. En el caso de los controladores cargados en dispositivos enumerados por ACPI, Acpi.sys siempre implementa el objeto de dispositivo físico (PDO) en la pila de controladores. Para obtener más información, vea Evaluación de métodos de control ACPI.

Especificación ACPI

La especificación Advanced Configuration and Power Interface (ESPECIFICACIÓN ACPI 6.4) está disponible en el sitio web de Unified Extensible Firmware Interface Forum.

La revisión 5.0 de la especificación ACPI presenta un conjunto de características para admitir equipos móviles de bajo consumo que se basan en circuitos integrados System on Chip (SoC) y que implementan el modelo de energía en espera conectado. A partir de Windows 8, el controlador ACPI de Windows, Acpi.sys, admite las nuevas características de la especificación ACPI 5.0. Para obtener más información, consulta Guía de diseño de Windows ACPI para plataformas SoC.

Depuración ACPI

Los integradores de sistemas y los desarrolladores de controladores de dispositivos ACPI pueden usar el depurador de Microsoft AMLI para depurar código AML. Dado que AML es un lenguaje interpretado, la depuración de AML requiere herramientas de software especiales.

Para obtener más información sobre el depurador de AMLI, consulte Depuración ACPI.

Compilador del lenguaje de origen (ASL) de Microsoft ACPI

Para obtener información sobre cómo compilar el lenguaje de origen ACPI (ASL) en el lenguaje de máquina ACPI (AML), consulte Compilador de Microsoft ASL.

La versión 5.0 del compilador ASL de Microsoft admite características en la especificación ACPI 5.0.

El compilador ASL se distribuye con el Kit de controladores de Windows (WDK).

El compilador ASL (asl.exe) se encuentra en la Tools\<build>\<architecture>\ACPIVerify carpeta del WDK instalado, por ejemplo, C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22631.0\x64.