Advanced Configuration and Power Interface
# Advanced Configuration and Power Interface

ACPI (siglas de "Advanced Configuration and Power Interface", en español: Interfaz Avanzada de Configuración y Energía) es un estándar resultado de la actualización de APM a nivel de hardware, que controla el funcionamiento del BIOS y proporciona mecanismos avanzados para la gestión y ahorro de la energía.

Va más allá de las posibilidades de APM. Así, por ejemplo, convierte la pulsación del botón de apagado en un simple evento, de tal forma que el sistema operativo puede detectarlo y le permite efectuar un apagado ordenado de la máquina, sin riesgo para el hardware de ésta como ocurría anteriormente. También se encarga de asignar IRQ a los dispositivos.

## Arquitectura de componentes ACPI (ACPICA)

La Arquitectura de Componentes ACPI (ACPICA), escrita principalmente por ingenieros de Intel, proporciona una implementación de referencia de código abierto independiente de la plataforma del código ACPI relacionado con el sistema operativo El código ACPICA es utilizado por Linux, Haiku, ArcaOS y FreeBSD, que lo complementan con su código específico del sistema operativo.

## Tablas ACPI

Los sistemas operativos utilizan estas tablas para obtener información del hardware instalado:

### DSDT (Differentiated System Description Table, Tabla de descripción del sistema diferenciada)

Esto es una parte de la especificación ACPI y proporciona información acerca de la configuración del sistema base.

## Críticas

* La especificación ACPI es grande y compleja, con más de 600 páginas que contienen múltiple componentes, tablas declarativas, un imperativo bytecode y componentes hardware específicos. Esto podría ser fuente de problemas ya que se ejecuta en entornos con todos los privilegios, lo que podría causar que el sistema operativo que implemente funciones para ACPI pudiera llegar a ser inestable e inseguro.
* Se ha encontrado hardware que a pesar de que se indica que es compatible con ACPI, el cual debería ser independiente del sistema operativo, este distribuye las tablas según sistema operativo. Llegando en algunos casos a provocar problemas de inestabilidad.
