Advertisement

ACPICA User Guide and Programmer Reference 翻译1

阅读量:

参考文献18:英文学术版本下载链接

2.1 ACPICA子系统概述
ACPICA 子系统(ACPI Component Architecture)负责实现 ACPI 协议的基础功能(基本职能)。这些职能包括 AMI 解释器、ACPI 命名空间管理、ACPI 表管理、ACPI 设备管理和事件处理等环节。尽管 ACPICA 子系统提供了较为基础的服务(例如内存管理等底层服务),但它仍需依赖于操作系统提供的底层服务支持(例如同步机制等核心组件)。例如,在内存管理方面依赖于操作系统内核提供的内存管理服务,在同步机制方面依赖于操作系统提供的同步控制模块,在调度任务方面依赖于操作系统的任务调度能力,在数据输入输出方面依赖于 I/O 接口的支持。

为了使ACPICA子系统能够简便地与任意操作系统的进行集成(需要注意的是:这些目标操作系统的必须支持相应的ACPI接口)。操作系统的服务层负责将来自ACPI至OS的请求转换为特定的操作系统提供的相应系统服务。在所有相关组件中只有这一部分直接依赖于具体的操作系统配置。由此可见,ACPICA子系统的软件架构主要由两部分组成:

在内核中提供的ACPI子系统包含ACPI基本功能,并不依赖于任何特定的操作系统

2.OS服务层(OSL)充当中间环节,在此环节中负责协调ACPICA不直接依赖操作系统相关的功能模块与其他特定的操作系统平台之间的数据传输关系。

将这两部分整合为一个静态或可装载的软件模型,并且例如,在设备驱动或内核子系统中,则这两部分构成ACPICA子系统。在本文件中所述‘ACPICA子系统’指代这两部分的组合。

2.1.1 ACPCA子系统中与OS无关部分

ACPICA子系统中的非操作系统相关部分占用了大部分ACPI功能,并且任何基于软件的ACPICA实现都依赖于这些功能的存在。其中包含有AML解析器、内存地址空间管理机制、事件处理机制、资源分配机制以及硬件支持体系(根据ACPIA协议定义为硬件必须实现特定寄存器)。

该ACPICA子系统旨在实现其主要功能之一:为操作系统提供一个高度 abstraction的层次结构。具体而言,在特定的主机操作系统下,并不需要了解/知道ACPI协议的具体底层细节即可运行相关操作。例如,在所有AML(Abstract Machine Language)程序中均采用了一种完全不透明的方式与操作系统交互(其中ACPI的各种表项都是在固件程序中直接被实现)。再例如,在处理ACPI相关的硬件组件时,则将其完整地抽象为更高层次的软件接口和功能模块。

ACPICA子系统不受具体操作系统的限制,在进行操作系统的业务需求处理时必须依靠操作系统服务层(OSL)的支持,并且这种通过操作系统的功能实现业务需求处理的方式是唯一的选择

使用ACPCA子系统服务的主要是OS设备驱动和电源/热区管理软件。

全部评论 (0)

还没有任何评论哟~