免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2047 | 回复: 0
打印 上一主题 下一主题

[zz]solaris Power Mangement Framework [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-23 00:15 |只看该作者 |倒序浏览
Power Management Framework
后台进程powerd(1M)作为一个service,在监控着整个系统的power consumption。PM
Framework为这个监控程序和设备驱动的通信提供了接口。
1.设备级:针对个别设备。设备驱动使用统一的模型;配置工具有dtpower(1M),power.conf(4),  pmconfig(1M);
在driver和framework之间有标准的DDI接口。
2.系统级:针对整个系统,需要系统cpr(7)模块的支持。系统在被power
down之前,将所有的内核线程和用户进程停下来,并且将当前状态存储下来。在系统power
up时,还必须重启这些进程和线程,恢复之前的系统状态。需要指出的是,系统级的PM目前只在SPARC上实现了。x86/x64上的PM很快就会集成到
Solaris Nevada中。管理工具仍然是pmconfig(1M),power.conf(4).
判断一个设备是否支持PM,可以在prtconf -v -D的输出中查看这个设备是否有“pm-components”属性,如有,则支持。
pm(7D)--Power Management driver.
应用程序可以通过这个driver直接控制某个设备的PM。如果需要对某个设备进行PM测试,要在power.conf中设置设备shutdown的门限
时间,让这个设备在一个随机时延之后进行某种动作,以便唤醒它的driver,通过读去/dev/pm获得系统当前所有设备的PM状态。如此循环,从而检
测这个设备的driver是否能够支持正常的PM。
sys-suspend(1M) -- suspend or shutdown the system.
uadmin(1M)--manage the system.
以上这两个命令都可以用于系统的PM,也称为CPR(CheckPoint-Resume).
使用这两个命令将系统置于suspend状态,把系统时钟tod(SPARC
only)设为定时模式,在某个时间段之后把系统唤醒。如此循环,可以测试系统的PM。Driver
在PM和CPR时,使用不同的入口点,所以对于一个新driver来说,这两个方面都必须要测到。tod的访问方法没有man
page,可以参考http:
//cvs.opensolaris.org/source/xref/on/usr/src/uts/sun4/io/tod.c
Driver PM entry point is power(9f), while  driver's CPR entry point is
DDI_RESUME/DDI_SUSPEND in attach(9f)/detach(9f).
参见 Writing Device Driver中Power Management一章。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/58855/showart_1735916.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP