- 浏览: 304225 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
syw19901001:
从入门到精通,不错。http://www.ihref.com/ ...
使用git进行版本控制 -
轻指飞扬:
...
一场程序员和老板的对话 -
luogen33:
ttttttttttttttttttttttttttttttt ...
lsmod -
luogen33:
ttttttttttttttttttt
lsmod -
vaqeteart:
嗯那
得到与享受
关于电源管理
主要内容
一、一些概念的澄清
二、基本概念
三、其它
一些概念的澄清
===============
http://ftp.gnome.org/pub/GNOME/sources/gnome-power-manager
中的源代码doc里面的sleep-names.html里面详细介绍。
------------
简介:
sleep相关的术语在不同的人有不同的观点。
开发gnome-power-manager(一个在hal中的电源管理)的时候许多人会混淆一些概念。
希望这篇文档能够让一些不正式的软件遵守最常用的命名方式。
-------------
Standby
Standby是这样的一种动作:Cpu以一种低电耗的状态运行着,但是并没有数据被保存在RAM或者硬盘上。standby和resume一般会耗费很少的一点时间,如果你在便携式电脑上面工作的时候移走了电池,那么,你的工作将会丢失。
推荐的术语:
正向动作:STANDBY
反向动作:CONTINUE(或者在用户手册或翻译的时候使用RESUME)
-------------
Suspend
Suspend是这样的一种动作:电脑会冻结一切的活动,把工作数据拷贝到RAM上面。然后关闭掉屏幕,以非常低电耗的状态模式运行。suspend一般会花费几秒钟,resume也会花费几秒钟。
推荐的术语:
正向动作:SUSPEND
反向动作:RESUME
Suspend非常适合描述计算机进入一个临时睡眠但是没有完全断电的状态。用户应该能理解,suspending工作和hibernating是不一样的。你在hibernated的时候可以启动到其他的操作系统,或者更换电池。
Resume非常适合描述用户un-suspends电脑,然后重新开始所有的工作。这之前也在pm-tools,HAL,和kernel以及Microsoft Windows里面使用。
不好的术语:
Sleep
Standby
Suspend-to-RAM
Sleep没有涉及到时间相关的内容,所以它并不是好的描述方式,并且sleep在过去许多年来都用来表示standby和suspend以及hibernate.
Standby并没有指明究竟发生了什么,“standby什么呢?”,并且在内核中使用了,在ACPI电源保存状态的时候,很少会使用到。
Suspend-to-RAM也是个不好的描述,它让用户感觉需要知道抽象的硬件知识。s-t-r可能对于程序员来说是不错的,但是对于新用户来说并不直观。
---------------
Hibernate
Hibernate是这样的一种动作:计算机冻结所有的活动,把数据转存到硬盘上面,关闭掉显示器,并且关闭电源。可能Hibernate会消耗超过一分钟的时间把数据从ram上面转存到硬盘上.并且可能在thaw的时候会消耗将近40秒。
推荐的术语:
正向动作:HIBERNATE
反向动作:THAW(或者在用户手册或翻译的时候使用RESUME)
Hibernate已经在pm-tools,HAL,kernel和Microsoft Windows使用了。
反向动作的名字对于最终用户IMO并不是很重要了。用户可能会点击一个Suspend按钮,但是不会是Resume按钮。这样,把thaw翻译成为非英语的语言的困难,我想可能是允许加入用户可见部分的hibernate和resume为合法的描述.
不好的术语:
Wake
Suspend-to-disk
Wake和它的反义词sleep(不是hibernate)一样是不好的描述,Wake在过去用于从standby中wakeup,从hibernate中wakeup以及从suspend中wakeup。
Suspend-to-disk也是个不好的描述,它让用户觉得应该明白硬件的知识,用户凭什么需要知道写到RAM中要比写到硬盘中要快呢?
-------------------------
总结
把这6个词汇弄清楚,会对整体的框架有一个很大的改观,交流起来也会更方便不会引起歧义。
六个词汇从省电级别由低到高,来简单归纳如下:
1)STANDBY,CONTINUE:cpu。
2)SUSPEND,RESUME:cpu,显示器关闭,ram
3)HIBERNATE,THAW:cpu,显示器,disk
-------------------------
基本概念
===============
DPMS:
------
是X Display Power Management Signaling的简称。
DPMS extension设计的目标是提供一个传统screen saver的逻辑扩展。
它的执行独立于screensaver,它和screen saver交互,并且DPMS能够服从用户或者screen saver应用程序。
VESA:
------
是 Video Electronics Standards Association的简称,规定了显示器的四种电源状态:
0 DPMSModeOn 显示器打开状态中
1 DPMSModeStandby 最轻度的节省电源,切换较快,这种状态会把显示器的水平同步信号关掉。
2 DPMSModeSuspend 中度节省电源,切换速度稍慢,这种状态会把显示器的垂直同步信号关掉。
3 DPMSModeOff 最大程度节省电源,切换速度慢于前两个,它会关闭垂直和水平同步信号。
如果把1,2,3状态的timeout设置为0表示不使用。这三种状态的timeout延迟是递增的,后面的不会小于前面的,否则就是错误的。
APM:
------
高级电源管理。它使用分层的方法来管理设备。APM-aware applications和 OS-specific 的APM driver通信,然后这个driver能够直接控制硬件设备。
APM定义了两种接口:一种接口是 /dev目录下面的bios接口,如果用户应用程序有权限,它就能够通过这个接口控制设备。另一种是/proc目录下的接口,用户应用程序可以通过这个接口,获得APM的状态和电池的信息。
尽管上面APM已经提供了一些信息,但是还不足以支持HAL,所以还需要在APM的proc接口中另外一些信息。
HAL:
------
硬件抽象层。HAL的守护进程是系统范围的服务,它负责维护一个设备的对象的数据库。这个守护进程不仅从APM收集电源状态信息,也会从设备信息文件merging信息以及管理设备的对象的生存期。这个服务以一个守护进程的形式执行,任何用户可以请求获取特定的设备信息。
HAL可以提供D-Bus服务,电源管理的接口在HAL中进行注册,这个接口在org.freedesktop.Hal.
当HAL提供系统内的service的时候,一个hald 进程就会启动。
D-BUS:
------
可以实现程序之间的通信。D-bus是HAL和power policy application的桥梁。D-bus也提供了一些方便的工具,使得用户能够方便的与它进行通信。
gnome-power-manager:
---------------
这是我们的电源管理程序,它实际是一个守护进程,是session级别的,通过它提供的一些D-Bus接口,我们也可以实现电源管理功能。
总结
------
把上面的内容简单总结如下:
DPMS,是和屏幕电源管理相关的,VESA规定了显示器的四种电源状态;APM是较为底层的电源管理机制,电源管理方面HAL是在APM之上的提供更方便的D-Bus接口控制相关电源管理信息;gnome-power-manager是电源管理守候进程,它运行在HAL之上,它接受用户发送的请求,然后把这个请求传到hal或者apm中,调用hal或者apm提供的相应接口。
其它
===============
*电源管理控制举例
1,关闭屏幕的方法:
$xset dpms force off
这里最后一个参数可以是standby,suspend,off这样都会“关闭屏幕”,移动鼠标会恢复幕。
2,apm命令实现电源管理的步骤如下:
1)加载apm模块:
# modprobe apm_power
2)测试suspend功能:
$apm -s
3,根据hal信息,利用D-Bus接口发送命令实现suspend功能:
dbus-send --system --print-reply --type=method_call --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
如果提供了hal层次的接口那么这样就会使机器进入suspend状态。
*更详细的研究,可能需要做的工作包括:
深入Hal研究
提取gnome-power-manager的接口
利用gnome-power-manager接口实现电源管理
深入理解gnome-power-manager的工作机制
以上是对电源管理方面内容的简单总结,更多信息参见参考资料:
http://library.gnome.org/users/gnome-power-manager/stable/preferences.html.en#preferences-ac
作者:QuietHeart
EMail:quiet_heart000@126.com
日期:2009年6月
主要内容
一、一些概念的澄清
二、基本概念
三、其它
一些概念的澄清
===============
http://ftp.gnome.org/pub/GNOME/sources/gnome-power-manager
中的源代码doc里面的sleep-names.html里面详细介绍。
------------
简介:
sleep相关的术语在不同的人有不同的观点。
开发gnome-power-manager(一个在hal中的电源管理)的时候许多人会混淆一些概念。
希望这篇文档能够让一些不正式的软件遵守最常用的命名方式。
-------------
Standby
Standby是这样的一种动作:Cpu以一种低电耗的状态运行着,但是并没有数据被保存在RAM或者硬盘上。standby和resume一般会耗费很少的一点时间,如果你在便携式电脑上面工作的时候移走了电池,那么,你的工作将会丢失。
推荐的术语:
正向动作:STANDBY
反向动作:CONTINUE(或者在用户手册或翻译的时候使用RESUME)
-------------
Suspend
Suspend是这样的一种动作:电脑会冻结一切的活动,把工作数据拷贝到RAM上面。然后关闭掉屏幕,以非常低电耗的状态模式运行。suspend一般会花费几秒钟,resume也会花费几秒钟。
推荐的术语:
正向动作:SUSPEND
反向动作:RESUME
Suspend非常适合描述计算机进入一个临时睡眠但是没有完全断电的状态。用户应该能理解,suspending工作和hibernating是不一样的。你在hibernated的时候可以启动到其他的操作系统,或者更换电池。
Resume非常适合描述用户un-suspends电脑,然后重新开始所有的工作。这之前也在pm-tools,HAL,和kernel以及Microsoft Windows里面使用。
不好的术语:
Sleep
Standby
Suspend-to-RAM
Sleep没有涉及到时间相关的内容,所以它并不是好的描述方式,并且sleep在过去许多年来都用来表示standby和suspend以及hibernate.
Standby并没有指明究竟发生了什么,“standby什么呢?”,并且在内核中使用了,在ACPI电源保存状态的时候,很少会使用到。
Suspend-to-RAM也是个不好的描述,它让用户感觉需要知道抽象的硬件知识。s-t-r可能对于程序员来说是不错的,但是对于新用户来说并不直观。
---------------
Hibernate
Hibernate是这样的一种动作:计算机冻结所有的活动,把数据转存到硬盘上面,关闭掉显示器,并且关闭电源。可能Hibernate会消耗超过一分钟的时间把数据从ram上面转存到硬盘上.并且可能在thaw的时候会消耗将近40秒。
推荐的术语:
正向动作:HIBERNATE
反向动作:THAW(或者在用户手册或翻译的时候使用RESUME)
Hibernate已经在pm-tools,HAL,kernel和Microsoft Windows使用了。
反向动作的名字对于最终用户IMO并不是很重要了。用户可能会点击一个Suspend按钮,但是不会是Resume按钮。这样,把thaw翻译成为非英语的语言的困难,我想可能是允许加入用户可见部分的hibernate和resume为合法的描述.
不好的术语:
Wake
Suspend-to-disk
Wake和它的反义词sleep(不是hibernate)一样是不好的描述,Wake在过去用于从standby中wakeup,从hibernate中wakeup以及从suspend中wakeup。
Suspend-to-disk也是个不好的描述,它让用户觉得应该明白硬件的知识,用户凭什么需要知道写到RAM中要比写到硬盘中要快呢?
-------------------------
总结
把这6个词汇弄清楚,会对整体的框架有一个很大的改观,交流起来也会更方便不会引起歧义。
六个词汇从省电级别由低到高,来简单归纳如下:
1)STANDBY,CONTINUE:cpu。
2)SUSPEND,RESUME:cpu,显示器关闭,ram
3)HIBERNATE,THAW:cpu,显示器,disk
-------------------------
基本概念
===============
DPMS:
------
是X Display Power Management Signaling的简称。
DPMS extension设计的目标是提供一个传统screen saver的逻辑扩展。
它的执行独立于screensaver,它和screen saver交互,并且DPMS能够服从用户或者screen saver应用程序。
VESA:
------
是 Video Electronics Standards Association的简称,规定了显示器的四种电源状态:
0 DPMSModeOn 显示器打开状态中
1 DPMSModeStandby 最轻度的节省电源,切换较快,这种状态会把显示器的水平同步信号关掉。
2 DPMSModeSuspend 中度节省电源,切换速度稍慢,这种状态会把显示器的垂直同步信号关掉。
3 DPMSModeOff 最大程度节省电源,切换速度慢于前两个,它会关闭垂直和水平同步信号。
如果把1,2,3状态的timeout设置为0表示不使用。这三种状态的timeout延迟是递增的,后面的不会小于前面的,否则就是错误的。
APM:
------
高级电源管理。它使用分层的方法来管理设备。APM-aware applications和 OS-specific 的APM driver通信,然后这个driver能够直接控制硬件设备。
APM定义了两种接口:一种接口是 /dev目录下面的bios接口,如果用户应用程序有权限,它就能够通过这个接口控制设备。另一种是/proc目录下的接口,用户应用程序可以通过这个接口,获得APM的状态和电池的信息。
尽管上面APM已经提供了一些信息,但是还不足以支持HAL,所以还需要在APM的proc接口中另外一些信息。
HAL:
------
硬件抽象层。HAL的守护进程是系统范围的服务,它负责维护一个设备的对象的数据库。这个守护进程不仅从APM收集电源状态信息,也会从设备信息文件merging信息以及管理设备的对象的生存期。这个服务以一个守护进程的形式执行,任何用户可以请求获取特定的设备信息。
HAL可以提供D-Bus服务,电源管理的接口在HAL中进行注册,这个接口在org.freedesktop.Hal.
当HAL提供系统内的service的时候,一个hald 进程就会启动。
D-BUS:
------
可以实现程序之间的通信。D-bus是HAL和power policy application的桥梁。D-bus也提供了一些方便的工具,使得用户能够方便的与它进行通信。
gnome-power-manager:
---------------
这是我们的电源管理程序,它实际是一个守护进程,是session级别的,通过它提供的一些D-Bus接口,我们也可以实现电源管理功能。
总结
------
把上面的内容简单总结如下:
DPMS,是和屏幕电源管理相关的,VESA规定了显示器的四种电源状态;APM是较为底层的电源管理机制,电源管理方面HAL是在APM之上的提供更方便的D-Bus接口控制相关电源管理信息;gnome-power-manager是电源管理守候进程,它运行在HAL之上,它接受用户发送的请求,然后把这个请求传到hal或者apm中,调用hal或者apm提供的相应接口。
其它
===============
*电源管理控制举例
1,关闭屏幕的方法:
$xset dpms force off
这里最后一个参数可以是standby,suspend,off这样都会“关闭屏幕”,移动鼠标会恢复幕。
2,apm命令实现电源管理的步骤如下:
1)加载apm模块:
# modprobe apm_power
2)测试suspend功能:
$apm -s
3,根据hal信息,利用D-Bus接口发送命令实现suspend功能:
dbus-send --system --print-reply --type=method_call --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
如果提供了hal层次的接口那么这样就会使机器进入suspend状态。
*更详细的研究,可能需要做的工作包括:
深入Hal研究
提取gnome-power-manager的接口
利用gnome-power-manager接口实现电源管理
深入理解gnome-power-manager的工作机制
以上是对电源管理方面内容的简单总结,更多信息参见参考资料:
http://library.gnome.org/users/gnome-power-manager/stable/preferences.html.en#preferences-ac
作者:QuietHeart
EMail:quiet_heart000@126.com
日期:2009年6月
发表评论
-
关于C++中的'extern "C"'
2011-11-16 14:54 1974关于C++中的'extern "C& ... -
使用rpm进行软件管理
2011-10-08 15:45 1929使用rpm进行软件管理 ... -
嵌入式开发交叉调试技术简介
2011-08-01 17:55 1850嵌入式开发交叉调试技术简介 本文主要介绍嵌入式开发环境中使用 ... -
yum使用总结
2011-07-27 14:46 6240yum [options] [command] [packag ... -
关于GNU GPL
2011-07-25 17:44 1924关于GNU GPL 这里简单介 ... -
Auto Tools基本使用
2011-07-14 16:57 1551Auto Tools基本使用 Auto Tools是基于GNU ... -
c中的int_short_char_long长度
2011-07-14 15:03 22421 记住如下原则: 2 ANSI C规定char类型一 ... -
关于C++中的类型转换操作符
2011-07-12 16:02 3854关于C++中的类型转换操 ... -
在Vim下绘制图形
2011-07-11 15:06 1957在Vim下绘制图形 Vim的Dra ... -
Linux中ELF格式文件介绍
2011-07-07 14:33 6661Linux中ELF格式文件介绍 E ... -
Linux系统中程序库文件简介
2011-07-05 18:16 3795Linux系统中程序库文件 ... -
BigEndian和LittleEndian
2011-07-04 18:06 995BigEndian和LittleEndian 首先了解一些概念 ... -
Samba服务配置和使用
2011-06-29 18:23 4018Samba服务配置和使用 简介 Samba服务可以用于在lin ... -
svn服务配置和基本应用
2011-06-27 17:20 1422svn服务配置和基本应用 [简介] svn(subvers ... -
tftp服务简单配置
2011-06-24 18:03 1482tftp服务简单配置 通过tftp服务可以在两台主机之间传输文 ... -
nfs服务器建立
2011-06-23 18:47 1244nfs服务器建立 本文介绍Linux环境下nfs服务的搭建过程 ... -
minicom使用总结
2011-06-20 18:09 7507minicom [功能] 串口通信程序。 [描述] *简介 ... -
w3m 使用总结
2011-06-20 11:45 25298w3m 使用总结 w3m是个开放源代码的命令行下面的网页浏览 ... -
mysql使用总结
2011-06-10 13:38 1050mysql使用总结 [描述] 这里简单介绍Linux下面mys ... -
gdb基本命令
2011-06-02 17:43 5194gdb基本命令 本文介绍使用gdb调试程序的常用命令。 主要内 ...
相关推荐
文件中虽然没有直接的文本描述,但通过其包含的电路图符号、注释及元件列表,我们可以推断出这是一份关于电源管理集成电路(IC)的设计文档,具体型号为TCC8803T271,这是一款国产电源管理芯片。 ### 电源管理国产...
电源管理在IT行业中扮演着至关重要的角色,尤其是在各种电子设备如智能手机、平板电脑、电视、DVD播放器等中。这些设备需要高效的电源解决方案来确保长时间的运行,减少能耗,同时保持设备性能稳定。电源管理介绍...
手册中的每一个部分都旨在为电子工程师提供关于如何选择、设计和应用电源管理芯片的详尽信息,以确保在各种应用场景下的电源效率和稳定性。其中特别提到的军用版本产品,也体现了TI产品的广泛应用范围和可靠性。 ...
集成电路设计中的电源管理技术是现代电子系统中至关重要的组成部分,特别是在高性能、低功耗的半导体器件领域。电源管理技术的主要目标是在确保系统性能的同时,尽可能地降低能耗,延长设备的电池寿命,以及满足热...
通过学习和研究这些资料,开发者可以掌握更多关于电源管理的理论知识和实践经验,从而在设计和实现过程中做出更优的决策。 总结来说,基于Linux的嵌入式电源管理是通过硬件和软件的协同工作来实现的,目标是最大化...
整车电源管理规范是汽车行业中一个至关重要的领域,它涉及到车辆所有电力系统的协调和管理,确保车辆各个部件在正确的电压和电流条件下稳定运行。本规范详细规定了车辆电源管理的各项要求,旨在指导零部件的设计、...
电源管理芯片研究框架 电源管理芯片是一种关键的半导体器件,负责电子设备的电能供应、变换、分配、检测等管控功能。该芯片是电子设备中的核心器件,其性能优劣对电子产品的性能和可靠性有着直接影响,广泛应用于...
“欧胜推出飞思卡尔平板电脑应用处理器专用电源管理芯片.pdf”标签:“芯片 硬件开发 电子元件 参考文献 专业指导”这部分内容向我们传达了关于电源管理芯片的一些关键知识点: 首先,从标题和描述来看,我们了解到...
【神舟笔记本电脑电源管理软件】是一款专为神舟品牌的笔记本电脑设计的系统工具,它提供了细致入微的电源控制选项,旨在帮助用户优化电池使用,延长电池寿命,并提高电脑性能。这款软件并非所有神舟笔记本都预装,但...
2. "em2140_13150.pdf":这可能是关于电源管理芯片EM2140的详细资料,EM2140可能是支持PMBus协议的电源控制器,文档中可能包含该器件的特性、操作模式和接口说明。 3. "MAX15303.pdf":Maxim的MAX15303是一款多通道...
在众多的技术需求中,电源管理是一个极其重要的方面,它关系到设备能否高效、稳定地工作,并且直接影响到整个物联网系统的性能与成本。 首先,物联网设备的电源管理必须是高效的。高效率不仅可以减少能源消耗,对于...
### 430单片机电源管理:深入解析与应用 #### 重要概念与技术背景 在现代电子设备中,电源管理是一项至关重要的任务,尤其是在采用复杂架构的系统中,如双电压体系结构或多处理器板。这些系统往往需要多个电压轨来...
### Linux的电源管理架构分析 #### 一、概述 Linux作为一个强大的开源操作系统,其灵活性和扩展性得到了广泛的认可。在众多的功能中,电源管理(Power Management, PM)是确保系统能够在不同工作负载下高效节能的...
计算机外设的电源管理是确保计算机系统稳定运行的关键部分,特别是在涉及到PCIExpress(PCIe)接口的设备时。PCIe是一种高度标准化的接口,它定义了个人电脑与附加卡之间的通信方式,允许不同供应商的设备无缝协作。...
Linux动态电源管理(DPM,Dynamic Power Management)是操作系统中用于优化系统能耗和性能的关键技术。在嵌入式系统、服务器以及移动设备等环境中,DPM尤为重要,因为它可以帮助延长电池寿命,减少散热需求,同时...
【标题】"PowerMgr电源管理小软件(含源码)(补充)"是一个关于电源管理的软件项目,其中包含了源代码,允许用户深入了解软件的工作原理并进行定制化开发。这次更新主要是为了补充之前版本中缺失的两个头文件,以确保...
在描述“行业资料-电子功用-用于头戴式显示器的具有电源管理的蓝牙或其他无线接口”中,我们可以推断这是关于如何在HMD开发中结合电源管理和无线技术的专业资料。可能涵盖的内容包括: 1. **行业标准与规范**:介绍...
标题中的"Thinkpad X60 x61电源管理forwin8"指的是专为ThinkPad X60和X61笔记本电脑设计的一款适用于Windows 8操作系统的电源管理软件。这款软件旨在帮助用户更有效地管理和优化其设备的电源消耗,提高电池寿命,并...
标题中的“黑苹果通用电源管理驱动”指的是在非官方苹果硬件(通常被称为“黑苹果”或Hackintosh)上使用的电源管理驱动程序。这种驱动是为了帮助非苹果计算机模拟苹果操作系统macOS的功能,特别是与电源管理相关的...