0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统 电源管理的组成

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-20 11:11 次阅读

Linux 电源管理的组成

电源管理(Power Management)在 Linux Kernel 中,是一个比较庞大的子系统,涉及到供电(PowerSupply)、充电(Charger)、时钟(Clock)、频率(Frequency)、电压(Voltage)、睡眠/唤醒(Suspend/Resume)等方方面面。

图片

注1:该图片只是一个示意图,并没有划分软件层次,因此模块之间的关系不一定是真正的关系。

注2:Framework是一个中间层的软件,提供软件开发的框架。其目有三:一是屏蔽具体的实现细节,固定对上的接口,这样可以方便上层软件的开发和维护;二是尽可能抽象公共逻辑,并在Framework 内实现,以提高重用性、减少开发量;三是向下层提供一系列的回调函数(callbackfunction),下层软件可能面对差别较大的现实,但只要填充这些回调函数,即可完成所有逻辑,减小了开发的难度。

注3:Runtime PM 是 Linux Kernel 亲生的运行时电源管理机制,Wakelock 是由 Android
提出的机制。这两种机制的目的是一样的,因此只需要支持一种即可。另外,由于 Wakelock 机制路子太野了,饱受 Linux 社区的鄙视。

在对图片中的这些组件(也可以称作 Framework )进行详细描述之前,先在这里了解一下基本概念。

Power Supply,是一个供用户空间程序监控系统的供电状态(电池供电、USB 供电、AC供电等等)的 class。通俗的讲,它是一个Battery&Charger 驱动的 Framework

Clock Framework,Clock 驱动的 Framework,用于统一管理系统的时钟资源

Regulator Framework,Voltage/Current Regulator 驱动的 Framework。该驱动用于调节 CPU
等模块的电压和电流

Dynamic Tick/Clock Event,在传统的 Linux Kernel 中,系统 Tick 是固定周期(如 10ms)的,因此每隔一个Tick,就会产生一个 Timer 中断。这会唤醒处于 Idle 或者 Sleep 状态的 CPU,而很多时候这种唤醒是没有意义的。因此新的 Kernel就提出了 Dynamic Tick 的概念,Tick 不再是周期性的,而是根据系统中定时器的情况,不规律的产生,这样可以减少很多无用的 Timer 中断。

CPU Idle,用于控制 CPU Idle 状态的 Framework

Generic PM,传统意义上的 Power Management,如Power Off、Suspend to RAM、Suspend to
Disk、Hibernate 等

Runtime PM and Wakelock,运行时的 Power Management,不再需要用户程序的干涉,由 Kernel统一调度,实时的关闭或打开设备,以便在使用性能和省电性能之间找到最佳的平衡

CPU Freq/Device Freq,用于实现 CPU 以及 Device 频率调整的 Framework

OPP(Operating Performance Point),是指可以使 SOCs 或者 Devices 正常工作的电压和频率组合。内核提供这一个Layer,是为了在众多的电压和频率组合中,筛选出一些相对固定的组合,从而使事情变得更为简单一些

PM QOS,所谓的 PM QOS,是指系统在指定的运行状态下(不同电压、频率,不同模式之间切换,等等)的工作质量,包括latency、timeout、throughput 三个参数,单位分别为 us、us 和 kb/s。通过 QOS 参数,可以分析、改善系统的性能

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16559

    浏览量

    244796
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206745
  • 系统
    +关注

    关注

    1

    文章

    981

    浏览量

    21039
收藏 人收藏

    评论

    相关推荐

    Linux下的动态电源管理(DPM)技术分析

    就目前掌握的资料来看,用嵌入式Linux系统的动态电源管理只有IBM奥斯汀实验室和MontaVista联合开发的动态电源
    发表于 09-14 12:51 2448次阅读
    <b class='flag-5'>Linux</b>下的动态<b class='flag-5'>电源</b><b class='flag-5'>管理</b>(DPM)技术分析

    Linux内核电源管理的整体架构介绍

    Linux电源管理非常复杂,牵扯到系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对于系统
    发表于 07-05 07:00

    Linux电源管理由那几部分组成?

    Linux电源管理组成部分
    发表于 03-11 06:59

    探究Linux电源管理模型

    Linux电源管理/#more探究Linux电源管理模型,并为Tiny4412的LCD驱动添加
    发表于 10-29 06:04

    LINUX电源管理的相关资料分享

    Linux系统suspend和resumeLinux内核 runtime_PM 框架Linux内核电源管理综述
    发表于 11-15 07:10

    Linux电源管理系统架构和驱动

    驱动篇:inux 电源管理系统架构和驱动(一)Linux 电源管理的全局架构
    发表于 01-03 06:36

    嵌入式Linux系统的动态电源管理技术

    嵌入式Linux系统的动态电源管理技术 通过用户层制定策略与内核提供管理功能交互,实时调整电源
    发表于 12-23 10:54 782次阅读
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>的动态<b class='flag-5'>电源</b><b class='flag-5'>管理</b>技术

    Linux电源管理系统组成详细资料介绍

    了,如植 物的落叶,如动物的冬眠,等等。而在计算机的世界里(这里以运行Linux OS的嵌入式系统为例),称作电源管理(Power Management)。
    发表于 09-26 10:10 824次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b><b class='flag-5'>系统</b>的<b class='flag-5'>组成</b>详细资料介绍

    Linux电源管理

    CSDN仅用于增加百度收录权重,排版未优化,日常不维护。请访问:www.hceng.cn 查看、评论。本博文对应地址: https://hceng.cn/2018/01/18/Linux电源管理
    发表于 10-21 20:21 5次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>

    LINUX电源管理

    Linux系统suspend和resumeLinux内核 runtime_PM 框架Linux内核电源管理综述
    发表于 11-07 19:36 8次下载
    <b class='flag-5'>LINUX</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>

    Linux电源管理研究笔记—动态电源管理 DPM

    Linux电源管理研究笔记—动态电源管理 DPM
    发表于 01-07 11:56 6次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>研究笔记—动态<b class='flag-5'>电源</b><b class='flag-5'>管理</b> DPM

    驱动篇:inux 电源管理系统架构和驱动(一)

    驱动篇:inux 电源管理系统架构和驱动(一)Linux 电源管理的全局架构
    发表于 01-11 16:03 11次下载
    驱动篇:inux <b class='flag-5'>电源</b><b class='flag-5'>管理</b>的<b class='flag-5'>系统</b>架构和驱动(一)

    Linux电源管理组成与睡眠唤醒

    Linux 电源管理组成 电源管理(Power Management)在
    的头像 发表于 09-11 15:54 311次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>的<b class='flag-5'>组成</b>与睡眠唤醒

    嵌入式Linux系统的动态电源管理技术解决方案

    电子发烧友网站提供《嵌入式Linux系统的动态电源管理技术解决方案.pdf》资料免费下载
    发表于 10-09 15:54 1次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>的动态<b class='flag-5'>电源</b><b class='flag-5'>管理</b>技术解决方案

    基于嵌入式Linux系统电源管理软件

    电子发烧友网站提供《基于嵌入式Linux系统电源管理软件.pdf》资料免费下载
    发表于 10-12 10:33 0次下载
    基于嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>的<b class='flag-5'>电源</b><b class='flag-5'>管理</b>软件