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[1] El código ACPICA es utilizado por Linux, Haiku, ArcaOS[2] y FreeBSD,[3] 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:
- RSDP (Root System Description Pointer, Puntero de descripción del sistema raíz)
- RSDT (Root System Description Table, Tabla de descripción del sistema raíz)
- 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.
- XSDT (Extended System Description Table)
- FADT (Fixed ACPI Description Table)
- FACS (Firmware ACPI Control Structure)
- SBST (Smart Battery Table)
- ECDT (Embedded Controller Boot Resources Table)
- MADT (Multiple APIC Description Table)
- SRAT (System Resource Affinity Table)
- SLIT (System Locality Distance Information Table)
- SLIC (Software Licensing Description Table)
- SSDT (Secondary System Descriptor Table)
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.[4]
Referencias
- ACPICA: ACPI Component Architecture
- «Readme for the ACPI Driver Package». arcanoae.com. Consultado el 6 de septiembre de 2020.
- ACPI implementation on FreeBSD - Usenix
- "Foxconn sabotea deliberadamente sus BIOS para destruir el soporte ACPI en Linux" Ubuntu Forums, 24 de julio de 2008
Enlaces externos
- ACPI (Archivado el 22 de junio de 2011 en Wayback Machine.)
- INTEL ACPI