Hello LOonux3 (二): 电源管理

九 28, 2012   //   by admin   //   新闻

上一篇:Hello LOonux3

通过集成时下主流的开源技术方案,LOonux3在系统层面天然地支持了内核导出的标准电源管理机制:

  • 挂起(STR)
  • 休眠(STD)
  • CPU变频
  • 显示屏亮度调节,开关屏

除了上述电源管理技术外,LOonux3支持还针对龙芯3A芯片的动态调核节电技术,即依据当前负载情况,来决定开启几个CPU核。

LOonux 3 的电源管理实现从下向上主要分为三个层次:内核层、系统服务层、用户会话层。如下图所示:

内核层
作为 LOonux 3 操作系统电源管理实现的最底层,它实现了与硬件设备的最直接的交互,是电源管理策略的最终实现者。内核通过众多接口向系统服务层导出电源管理机制,使得上层可以通过这些机制来实现电源管理策略。为了一定程度上简化上层的实现,使得在精简的系统上也能够方便的使用电源管理,内核还提供了一些简单的运行时电源管理策略。

LOonux3进行电源管理使用的内核接口有挂起(STR)、休眠(STD)、CPU变频(CPUFreq)、CPU动态调核(CPUAutoplug)、CPU热插拔(CPUHotplug)

系统服务层
LOonux 3 的系统服务层中电源管理相关的组件主要有:UPower、ConsoleKit、HevPowerCpu。系统服务层中的组件对内核层导出的接口进行了进一步的封装,以更加合适的方式(D-Bus)向用户会话层导出控制接口。能够更好的进行权限控制而且符合当前的操作系统结构设计。
ConsoleKit 主要提供基本功能管理,如关机、重启等接口。
UPower 主要提供了待机管理、休眠管理及部分设备电源管理的接口。
HevPowerCpu 将内核提供CPU相关的电源管理接口封装成Dbus服务。

用户会话层
用户会话层的电源管理组件主要是提供友好的用户接口及实现电源管理相关的策略,这些策略通过是针对平台电源管理特性预设定的,也可基于已存在的策略进行调整。用户会话层的组件直接访问系统服务层的组件导出的接口,而从不访问内核层的接口。

GNOME Session 主要提供基本功能管理、待机管理、休眠管理的用户接口。
GNOME Power Manager 负责管理电源管理相关的策略,主要包括外接电源和电池供电时,CPU工作模式、背光控制、自动挂起、休眠等等。例如,CPU工作模式即是利用CPU调频、调核等电源管理机制,实现三个策略:

性能模式:即性能最大模式,4核全部启用,不变频,不动态开关核。

平衡模式:动态开关核(负载大时启用4核),并变频。

节能模式:动态开关核(负载大时最多启用2核),并变频。

下一篇:Hello LOonux3(三):笔记本功能键支持

Comments are closed.

文章归档