ACPI (Advanced Configuration and Power Interface) and SMBIOS (System Management BIOS) are standardized data structures (tables) stored in the computer’s firmware (BIOS/UEFI). They allow the hardware to communicate vital information to the Operating System (OS), such as Windows or Linux, so the OS knows how to manage components without needing specific drivers for everything. Here is a detailed breakdown of both: 1. ACPI Tables (Advanced Configuration and Power Interface)
ACPI is a standardized interface for hardware configuration and power management. It acts as the bridge between hardware and the Operating System Power Management (OSPM) system. Purpose:
Hardware Description: It tells the OS what devices exist, their configuration, and how to control them (e.g., interrupts, power states).
Power Management: Enables functions like sleep, hibernation, and waking up.
Unified Interface: Instead of an OS needing a unique driver for every motherboard, ACPI allows the OS to use a single interface to manage power and hardware across different computers.
How it Works: It uses bytecode (AML – ACPI Machine Language) that runs in a virtual machine inside the OS to interact with hardware. Key Tables:
FADT (Fixed ACPI Description Table): Contains core power management information.
DSDT (Differentiated System Description Table): Defines the majority of the hardware devices and their methods.
MADT (Multiple APIC Description Table): Maps interrupt controllers, essential for SMP (Symmetric Multiprocessing). 2. SMBIOS Tables (System Management BIOS)
SMBIOS is a standard designed to report static, human-readable information about the computer’s components to the OS and user-mode applications.
Purpose: To provide a standardized way to describe the system’s hardware configuration, which is useful for inventorying, troubleshooting, and asset tracking. What it Reports: Manufacturer and model of the PC/motherboard. BIOS version, release date, and vendor. Processor details. Memory slot usage (DIMM slots). Physical PCI slot locations.
Difference from ACPI: While ACPI is for controlling and describing hardware, SMBIOS is purely for reporting system information. Summary Comparison ACPI Tables SMBIOS Tables Primary Goal Power/Hardware Management Reporting System Info Data Nature Dynamic (interprets bytecode) Static (data structures) Used By OS Kernel and Drivers User-mode Apps (e.g., CPU-Z) Key Function Managing fan speeds, Sleep/Wake Listing memory/model info
Both are vital for a modern computer to boot up and run efficiently.
Are you trying to troubleshoot a boot issue, fix power management, or modify firmware? I can help you understand how to use these tables for custom system configuration. Does UEFI replace standards like SMBIOS and ACPI? [closed]