Linux2.6内核中的最新电源管理技术综述.doc

Linux2.6内核中的最新电源管理技术综述.doc

ID:27511490

大小:62.00 KB

页数:12页

时间:2018-12-04

Linux2.6内核中的最新电源管理技术综述.doc_第1页
Linux2.6内核中的最新电源管理技术综述.doc_第2页
Linux2.6内核中的最新电源管理技术综述.doc_第3页
Linux2.6内核中的最新电源管理技术综述.doc_第4页
Linux2.6内核中的最新电源管理技术综述.doc_第5页
资源描述:

《Linux2.6内核中的最新电源管理技术综述.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Linux2.6内核中的最新电源管理技术综述    前言  本系列文章将结合近年来不断在各种硬件(包括CPU、芯片组、PCIExpress等各种最新总线标准以及外设)上新增的节能技术。  从Linux®2.6内核及整个softwarestack(包括kernel、middleware以及各种用户态uTIlity)如何添加对这些创新的节能技术的支持这一角度,为读者介绍Linux操作系统近几年来在电源管理方面所取得的长足进步以及未来的发展方向。  作为本系列文章的开篇之作,首先要向大家介绍的是cpufreq,它是Linux2.6内核为了更好的支持近年来在各款主流C

2、PU处理器中出现的变频技术而新增的一个内核子系统。  Cpufreq的由来  随着energyefficientcompuTIng和performanceperwatt等概念的推广以及高级配置与电源接口ACPI(AdvancedConfiguraTIonandPowerInterface)标准的发展,目前市场上的主流CPU都提供了对变频(frequencyscaling)技术的支持。例如Intel®处理器所支持的EnhancedSpeedStep®技术和AMD®处理器所支持的PowerNow!®技术,另外像最新的PowerPC®、ARM®、SPARC®和Sup

3、erH®等处理器中也提供了类似的支持。参考资料中列出了当前Linux2.6内核所支持的具备变频技术的处理器。需要注意的是,这里要讨论的变频技术与大家以前所熟知的超频是两个不同的概念。超频是指通过提高核心电压等手段让处理器工作在非标准频率下的行为,这往往会造成CPU使用寿命缩短以及系统稳定性下降等严重后果。  而变频技术是指CPU硬件本身支持在不同的频率下运行,系统在运行过程中可以根据随时可能发生变化的系统负载情况动态在这些不同的运行频率之间进行切换,从而达到对性能和功耗做到二者兼顾的目的。  虽然多个处理器生产厂家都提供了对变频技术的支持,但是其硬件实现和使用

4、方法必然存在着细微甚至巨大的差别。这就使得每个处理器生产厂家都需要按照其特殊的硬件实现和使用方法向内核中添加代码,从而让自己产品中的变频技术在Linux中得到支持和使用。然而,这种内核开发模式所导致的后果是各个厂家的实现代码散落在Linux内核代码树的各个角落里,各种不同的实现之间没有任何代码是共享的,这给内核的维护以及将来添加对新的产品的支持都带来了巨大的开销,并直接导致了cpufreq内核子系统的诞生。实际上,正如前文所说,发明变频技术的目的是为了能够让系统在运行过程中随时根据系统负载的变化动态调整CPU的运行频率。这件事情可以分为两个部分,一部分是“做什

5、么”的问题,另一部分是“怎么做”的问题。“做什么”是指如何根据系统负载的动态变化挑选出CPU合适的运行频率,而“怎么做”就是要按照选定的运行频率在选定的时间对CPU进行设置,使之真正工作在这一频率上。这也就是我们在软件设计中经常会遇到的机制mechanism与策略policy的问题,而设计良好的软件会在架构上保证二者是被清晰的隔离开的并通过规范定义的接口进行通信。  Cpufreq的设计和使用  为了解决前文所提到的问题,一个新的内核子系统——cpufreq应运而生了。Cpufreq为在Linux内核中更好的支持不同CPU的变频技术提供了一个统一的设计框架,其

6、软件结构如图1所示。     图1.Cpufreq的软件结构  如图1所示,cpufreq在设计上主要分为以下三个模块:  Cpufreq模块(cpufreqmodule)对如何在底层控制各种不同CPU所支持的变频技术以及如何在上层根据系统负载动态选择合适的运行频率进行了封装和抽象,并在二者之间定义了清晰的接口,从而在设计上完成了前文所提到的对mechanism与policy的分离。  在cpufreq模块的底层,各个CPU生产厂商只需根据其变频技术的硬件实现和使用方法提供与其CPU相关的变频驱动程序(CPU-specificdrivers),例如Intel需

7、要提供支持EnhancedSpeedStep技术的CPU驱动程序,而AMD则需要提供支持PowerNow!技术的CPU驱动程序。  在cpufreq模块的上层,governor作为选择合适的目标运行频率的决策者,根据一定的标准在适当的时刻选择出CPU适合的运行频率,并通过cpufreq模块定义的接口操作底层与CPU相关的变频驱动程序,将CPU设置运行在选定的运行频率上。  目前最新的Linux内核中提供了performance、powersave、userspace、conservaTIve和ondemand五种governors供用户选择使用,它们在选择CP

8、U合适的运行频率时使用的是各自不同的标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。