Answers:
操作系统与嵌入式控制器的固件接口,该固件是 高级配置和电源接口(ACPI)的一部分。
维基百科将其定义为:
在计算机中,高级配置和电源接口(ACPI)提供了开放标准,操作系统可使用该标准来发现和配置计算机硬件组件,通过(例如)使未使用的组件进入睡眠状态来执行电源管理以及执行状态监视。ACPI于1996年12月首次发布,旨在取代高级电源管理(APM),多处理器规范和即插即用BIOS(PnP)规范。[1] ACPI将电源管理置于操作系统的控制之下,这与以前的以BIOS为中心的系统不同,后者依靠特定于平台的固件来确定电源管理和配置策略。
在内部,ACPI使用通过内核解析的系统固件(统一可扩展固件接口(UEFI)或BIOS)提供的指令列表(“方法”)将可用组件及其功能通告给操作系统内核。然后,ACPI使用嵌入式最小虚拟机执行所需的操作(例如,硬件组件的初始化)。
答案是,电路或微芯片嵌入主板中,主板本身包含一个微操作系统,该操作系统通过计算机固件UEFI或BIOS提供某些服务。它控制着电源和设备管理的许多方面。
该计算机操作系统具有专用于与ACPI接口的系统驱动程序。激活ACPI后,它将完全控制电源管理和设备配置的所有方面。
在许多方面,ACPI是操作系统背后的操作系统,除了它与主板一起提供且不受您的控制。有声音将其比作特洛伊木马,并称其为安全隐患。可能会禁用它,但是某些计算机可能会在没有它的情况下启动,因此无论如何也将禁用高级电源管理。
有关在Windows中使用它的更多信息,请参阅文章 电池和电源子系统硬件设计。
作为对其他答案的补充,计算机上运行的软件如何知道电池电量是多少?它询问电池。
大多数笔记本电池是具有自己的微控制器或“电量计” ASIC的智能电池,主机可以通过SMBus与之通信。人们反向工程了一些例子。
SMBus可能会或可能不会直接以允许管理员直接查询的方式公开给操作系统。有各种程序,例如OpenHardwareMonitor或Speccy或lm传感器,可以询问总线以了解有关硬件的信息。
一般而言,所有计算机芯片都有文档,可以告诉设计者和程序员他们做什么,以及如何配置他们。可以通过直接读写芯片的寄存器来低级别访问这些芯片。
更复杂的芯片可以带有一个称为“驱动程序”的软件程序,该程序可以高层访问操作系统或其他应用程序。例如,您的智能手机具有一个应用程序编程接口(API),该接口可以访问手机的许多硬件,GPS,加速度计,电池,相机等。编写“ App”时,您可以使用API来访问这些硬件设备就像操作系统一样(尽管操作系统通常比在“用户空间”中运行的程序具有更广泛的访问权限。)
这些接口的定义非常明确,因此当您对硬件芯片进行功能调用时,它将以请求的信息进行响应。电池控制器芯片只是这种通用基础架构的一个示例。
谁编写操作系统代码的人都将获取芯片的文档,并编写软件以与芯片进行通信并检索所需的信息。
因此,下一次为外部硬盘驱动器,USB拇指驱动器或其他设备加载“驱动程序”(或自动完成)时,您将了解有关“幕后”情况的更多信息。