ACPICA defines and implements a group of software components that, together, create an implementation of the ACPI specification, for both 32-bit and 64-bit platforms. A major goal of the architecture is to isolate all operating system dependencies to a relatively small translation or conversion layer (called the OS Services Layer) so that the bulk of the ACPICA code is independent of any individual OS. Therefore, hosting the ACPICA code on new OSs requires no source code changes within the ACPICA code itself.
The major kernel-level components of the architecture include:
User-space utilities built upon the kernel components include:
1) The Windows package includes Visual C++* project files and other ACPI utilities that run under Windows.
2) The UNIX package has a format and licensing suitable for inclusion by commercial OS vendors.
There is no 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.