专利名称:一种计算机系统的节能方法及计算机系统的制作方法
技术领域:
本发明涉及计算机技术领域,具体涉及一种计算机系统的节能方法及计算机系 统。
背景技术:
随着计算机硬件制造工艺水平的提高和计算机架构的改进,计算机的运算速度得 到大幅度的提升。然而,随着处理器及相关部件运行频率的增加,尽管采用了低功耗的设 计技术,但是硬件的功耗总体上仍在不断增大;另一方面,计算机操作系统也变得越来越复 杂,对硬件资源的占用也越多越大,也导致功耗的增加。在能源变得紧张的今天,人们希望 开发出既能满足人们使用计算机需求,同时又节省功耗的计算机。绿色节能是计算机课题研究的一个主要方向,其目标是在保证计算机功能正常使 用的前提下,最大程度地节省计算机的功耗。如何找到一种有效的方法,在保证计算机正常 运行的前提下,降低计算机的功耗,是一个值得研究的问题。
发明内容
本发明实施例所要解决的技术问题是提供一种计算机系统的节能方法及计算机 系统,降低计算机系统的功耗。为解决上述技术问题,本发明实施例提供方案如下一种计算机系统的节能方法,包括监视到第一窗口由活动窗口切换为非活动窗口 ;判断所述第一窗口对应的线程是否属于预定进程,并输出判断结果,其中,所述预 定进程包括维持所述操作系统正常运行所必须的操作系统进程;在所述判断结果表明所述第一窗口对应的线程不属于所述预定进程时,冻结所述 第一窗口对应的线程。优选地,上述节能方法中,所述方法还包括监视到第二窗口由非活动窗口切换到 活动窗口 ;判断所述第二窗口对应的线程是否被冻结,若是,则解冻所述第二窗口对应的线程。优选地,上述节能方法中,所述预定进程还包括用户预先选择的且不属于维持所 述操作系统正常运行所必须的操作系统进程的进程。优选地,上述节能方法中,在所述监视到第一窗口由活动窗口切换为非活动窗口 后,进一步包括从第一类线程中选择出不属于所述预定进程的第二类线程,并冻结所述第 二类线程,其中,所述第一类线程是所述操作系统中除所述第一窗口对应的线程和当前活 动窗口对应的线程之外的其它线程。本发明实施例还提供了一种计算机系统,包括监视模块,用于监视操作系统中活动窗口的切换,并在监视到第一窗口由活动窗 口切换为非活动窗口时,判断所述第一窗口对应的线程是否属于预定进程,并输出第一判断结果,其中,所述预定进程包括维持所述操作系统正常运行所必须的操作系统进程;冻结命令生成模块,用于在所述第一判断结果表明所述第一窗口对应的线程不属 于所述预定进程时,输出冻结所述第一窗口对应的线程的第一冻结命令;第一冻结模块,用于根据所述第一冻结命令,冻结所述第一窗口对应的线程。优选地,上述计算机系统中,还包括判断模块,用于在监视到第二窗口由非活动窗口切换为活动窗口时,判断所述第 二窗口对应的线程是否被冻结,并输出第二判断结果;解冻命令生成模块,用于在所述第二判断结果表明所述第二窗口对应的线程被冻 结时,输出解冻所述第二窗口对应的线程的第一解冻命令;解冻模块,用于根据所述第一解冻命令,解冻所述第二窗口对应的线程。优选地,上述计算机系统中,所述预定进程还包括用户预先选择的且不属于维持 所述操作系统正常运行所必须的操作系统进程的进程。优选地,上述计算机系统中,还包括选择模块,用于在监视到所述第一窗口由活动窗口切换为非活动窗口后,从第一 类线程中选择出不属于所述预定进程的第二类线程,并输出冻结所述第二类进程的第二冻 结命令,其中,所述第一类线程是所述操作系统中除所述第一窗口对应的线程和当前活动 窗口对应的线程之外的其它线程;第二冻结模块,用于根据所述第二冻结命令,冻结所述第二类线程。优选地,上述计算机系统中,还包括记录模块,用于记录各个窗口与线程之间的对应关系;线程确定模块,用于根据所述对应关系,确定所述第一窗口对应的线程以及所述 第二窗口对应的线程。优选地,上述计算机系统中,还包括接口库模块,分别与所述冻结命令生成模块和第一冻结模块连接,用于提供所述 冻结命令生成模块与所述第一冻结模块之间的通讯接口。从以上所述可以看出,本发明实施例提供的计算机系统的节能方法及计算机系 统,独立于硬件,通过监视活动窗口的切换,在不影响计算机系统正常运行的前提下,将与 当前任务无关的一些进程冻结,达到了节约计算机系统功耗的目的。当用户需要和某个窗 口交互时,本实施例所述节能方法又能主动地执行解冻操作,从而避免了用户手动控制节 能的繁琐操作。同时,本发明实施例中还通过在所述预定文件中包含用户选择的不希望被 冻结的进程,使得所述节能方法更加人性化。
图1为本发明实施例所述计算机系统的节能方法的流程示意图;图2为本发明实施例所述计算机系统的结构示意图。
具体实施例方式目前的计算机操作系统都是多任务操作系统,操作系统中运行的任务越多,势 必将占用更多的系统资源,并由此导致越来越大的功耗。本发明实施例从操作系统多任务调度机制出发,在不影响用户正常操作的前提下,将与当前任务无关的一些进程冻结 (Suspend,也可称作挂起),减少这些进程对CPU和内存的消耗,从而达到节约计算机功耗 的目的。以下结合附图通过具体实施例作进一步说明。本文中,所述窗口均是指应用程序窗口。软件程序的基本运行单元是进程,一个软件程序可以有多个进程,每个进程又可 以有多个线程。现代个人计算机上的操作系统是基于优先级的抢先式调度系统。调度系统 总是运行优先级最高的(Ready)线程。用户在使用计算机时,通常会运行多个软件程序,例 如,用户经常需要打开一些软件,例如邮件系统、OFFICE文档应用程序(可能有多个)、一个 或多个网页等,并且会在这些应用程序之间穿梭,但是用户在某一时刻通常只使用其中的 一个应用程序。在操作系统(如Windows视窗操作系统)中,应用程序通常是以窗口方式 与用户进行交互的。任何一个时候,操作系统中只有一个窗口为活动(Active)窗口,该活 动窗口在前台运行,用户能够和活动窗口进行交互。用户还可以在多个窗口间进行切换,以 改变当前的活动窗口,将非活动窗口切换为活动窗口,以及将活动窗口切换为非活动窗口。 本实施例中正是通过对活动窗口的切换进行监视,进而对相关线程进行冻结,达到节约功 耗的目的,如图1所示,本实施例所述计算机系统的节能方法,包括以下步骤步骤11,记录操作系统中各个窗口与线程之间的对应关系,并监视操作系统中活 动窗口的切换。这里,操作系统中可能有多个窗口,但在某一时刻只能有一个窗口为活动窗口。当 用户在不同应用程序间切换时,例如,从一个网页切换到邮件系统程序时,将会导致活动窗 口的切换,当前活动窗口由所述网页切换为邮件系统程序对应的窗口,所述网页从活动窗 口则切换为非活动窗口。本步骤中,可以通过记录下操作系统中各个应用程序的进程/线 程与窗口的窗口句柄之间的对应关系,以便于在后续出现活动窗口切换时,利用上述对应 关系,确定相关窗口对应的线程。步骤12,在监视到当前活动窗口由第一窗口切换为第二窗口时,判断所述第一窗 口对应的线程是否属于预定进程若是,则进入步骤13 ;否则,进入步骤14 ;其中,所述预定 进程包括维持所述操作系统正常运行所必须的操作系统进程。操作系统中存在着一些操作系统进程,其中一部分操作系统进程是维持操作系统 正常运行不可缺少的进程(核心进程),例如Windows操作系统中的services. exe、csrss. exe.winlogon. exe等进程。如果冻结这些核心进程,将导致操作系统工作异常甚至系统崩 溃,因此,需要预先将这些核心进程信息提取出来,保存在一个策略文件中,在进行步骤12 中的所述判断时,通过查询该策略文件中保存的进程信息,判断第一窗口对应的线程是否 属于核心进程,以避免后续对核心进程的冻结。步骤13,在所述判断结果表明所述第一窗口对应的线程属于所述预定进程时,由 于不能对所述第一窗口对应的线程进行冻结,此时,不进行其它任何操作,直接结束流程。步骤14,在所述判断结果表明所述第一窗口对应的线程不属于所述预定进程时, 则冻结所述第一窗口对应的线程。这里,在所述第一窗口对应的线程不属于核心进程时,即可对第一窗口对应的线 程进行冻结(挂起),以减少非活动窗口对应的线程对CPU和内存资源的消耗,进而达到降 低计算机功耗的目的。
在步骤14之后,如果又监视到所述第一窗口由非活动窗口重新切换为活动窗口 时,上述方法还包括以下步骤步骤15,解冻所述第一窗口对应的线程。按照上述方法,当用户打开多个应用程序时,处于后台的多个应用程序(非活动 窗口对应的应用程序)所对应的线程将被冻结,而处于前台的应用程序(活动窗口对应的 应用程序)的线程则被解冻(被唤醒)。从而,后台的多个应用程序都将不消耗CPU和内存 资源,从而降低了计算机功耗。上述步骤12中,在监视到当前活动窗口由第一窗口切换为第二窗口时,还可以进 一步判断所述第二窗口对应的线程是否被冻结,若是,则解冻所述第二窗口对应的线程。这里,在上述步骤12中,在监视到当前活动窗口由第一窗口切换为第二窗口后, 操作系统中除了所述第一窗口和第二窗口对应的线程外,还可能包括其它一些线程,例如, 其它非活动窗口所对应的线程、一些对于操作系统正常运行并不是必须的操作系统线程, 还可能有一些并没有创建任何窗口的线程。本实施例还可以进一步选择出这些线程并进行 冻结,以进一步节约这些线程消耗的功耗。具体的,在步骤12中,当监视到第一窗口由活动 窗口切换为非活动窗口后,本实施例还可以进一步从第一类线程中选择出不属于所述预定 进程的第二类线程,并冻结所述第二类线程,其中,所述第一类线程是所述操作系统中除所 述第一窗口对应的线程和当前活动窗口对应的线程之外的其它线程。更进一步的,本发明实施例还可以提供一额外功能,由用户选择不希望被冻结的 进程,并将这些进程的信息保存在所述策略文件中,以避免对这些进程进行冻结。例如,当 计算机系统安装有杀毒软件或病毒防火墙时,用户通常期望这些软件程序能够实时监控系 统安全,不希望这些软件程序被中止。又例如,当用户希望一边浏览网页一边听音乐时,用 户不希望对播放音乐的进程进行冻结。此时,可以在上述策略文件中进一步包括用户选择 的不希望被冻结的进程,避免了对这些进程的冻结。上述策略文件中所保存的所述预定进程的信息,对于操作系统的正常运行以及上 述方法的正常实施都很重要。为防止对该策略文件的误删除甚至恶意篡改等操作,提高上 述方法的安全性,可以进一步利用预定的安全策略对所述策略文件进行保护,例如,在对所 述策略文件进行写操作时,增加身份验证过程,只有验证通过以后才可以改写所述策略文 件中的内容;在根据所述策略文件确定上述第一窗口的线程是否属于预定进程时,首先对 该策略文件的完整性进行验证,只有完整性验证通过以后,才进行下一步的操作,以防止所 述策略文件被恶意篡改后导致的不良后果。从以上所述可以看出,本实施例所述计算机系统的节能方法,从操作系统任务调 度着眼,主动地挂起不必要的进程/线程和资源,达到了节约计算机功耗的目的。当用户需 要和某个窗口交互时,本实施例所述节能方法又能主动地执行解冻操作,从而避免需要用 户手动控制节能的繁琐操作问题(用户手动控制节能是目前多数计算机电源管理软件的 方法,实际使用中,多数用户不习惯这种额外的手动操作)。另外,本实施例提供的节能方 法,独立于硬件,也就是说,当计算机系统的硬件提供了其它的节能方法后,本实施例的节 能方法仍可以使用,并且这两种节能方法的效果是可以累积的。最后,本实施例所述的节能 方法,还可以对用户选择的预定进程不进行冻结,具有较好的人性化特点。基于上述计算机系统的节能方法,本实施例还提供了一种计算机系统,如图2所示,该计算机系统包括监视模块,用于监视操作系统中活动窗口的切换,并在监视到第一窗口由活动窗 口切换为非活动窗口时,判断所述第一窗口对应的线程是否属于预定进程,并输出第一判 断结果,其中,所述预定进程包括维持所述操作系统正常运行所必须的操作系统进程;冻结命令生成模块,用于在所述第一判断结果表明所述第一窗口对应的线程不属 于所述预定进程时,输出冻结所述第一窗口对应的线程的第一冻结命令,用以调用冻结驱 动模块中的API函数实现对应进程或线程的冻结/恢复;第一冻结模块,用于根据所述第一冻结命令,冻结所述第一窗口对应的线程。接口库模块,分别与所述冻结命令生成模块和第一冻结模块连接,用于提供所述 冻结命令生成模块与所述第一冻结模块之间的通讯接口,接口库模块是上层应用(冻结命 令生成模块)调用下层第一冻结模块的接口;这里,所述预定进程还可以包括用户预先选择的且不属于维持所述操作系统正 常运行所必须的操作系统进程的进程。此时,由用户选择不希望被冻结的进程,以避免对这 些进程的冻结,以提供更为人性化的效果。优选地,所述计算机系统还可以包括判断模块,用于在监视到第二窗口由非活动窗口切换为活动窗口时,判断所述第 二窗口对应的线程是否被冻结,并输出第二判断结果;解冻命令生成模块,用于在所述第二判断结果表明所述第二窗口对应的线程被冻 结时,输出解冻所述第二窗口对应的线程的第一解冻命令;解冻模块,用于根据所述第一解冻命令,解冻所述第二窗口对应的线程。优选地,所述计算机系统还可以包括选择模块,用于在监视到所述第一窗口由活动窗口切换为非活动窗口后,从第一 类线程中选择出不属于所述预定进程的第二类线程,并输出冻结所述第二类进程的第二冻 结命令,其中,所述第一类线程是所述操作系统中除所述第一窗口对应的线程和当前活动 窗口对应的线程之外的其它线程;第二冻结模块,用于根据所述第二冻结命令,冻结所述第二类线程。另外,图2所述的计算机系统中还可以包括以下模块记录模块,用于记录各个窗口与线程之间的对应关系;线程确定模块,用于根据所述对应关系,确定所述第一窗口对应的线程以及所述 第二窗口对应的线程;最后,通过计算机系统在实际使用环境下的测试数据,进一步说明本实施例的节 能效果。以型号为ThinkPad T61笔记本电脑作为测试平台,该笔记本的运行环境为出厂预 装软件,并不增加任何新软件。记录使用该笔记本电脑浏览网页时的功耗变化曲线。首先, 测试在没有应用本实施例所述节能方法时该笔记本电脑的功耗在没有使用浏览器的情况 下,该笔记本的平均功耗为19w(瓦特)。当进行网上冲浪,例如打开5个网页后(不论是使 用多个浏览器打开,还是在一个浏览器下使用多个标签页打开),笔记本的功耗均会陡增, 增加约10多w,且其中功耗峰值甚至达到40W,之后功耗在35w左右波动。在该笔记本电脑 上采用本实施例所述节能方法后,当所述节能方法将这5个网页窗口对应的线程全部挂起后,笔记本电脑的功耗会渐渐稳定在19w左右,也就是说,浏览器窗口对应的线程处于挂起 状态后,同浏览器进程被关闭相比,笔记本电脑的整机功耗几乎相同(也就是被挂起的线 程消耗的功耗几乎可以忽略不计)。进一步使用上述笔记本电脑在如下条件下,测试本实施例所述节能方法对电池续 航能力的影响1)保持默认开机进程不变;2))电源管理器采用高性能模式(从不关闭显示器,从不使计算机进入睡眠状态, 显示器亮度最高);3))打开5个IE浏览器,分别浏览以下5个网站sina,sohu,pconline,zol, youtube ;4))电池初始状态为电池电量100 %,使用电池供电;5)观看本地保存的同一视频文件。首先,在没有应用本实施例所述节能方法的情况下,该笔记本电脑的电池续航时 间为1小时40分钟;在应用本实施例所述节能方法后,将5个IE浏览器以及部分预装的软 件(如DkService等等)的进程/线程挂起后,电池续航时间为2小时17分钟,增加约37 分钟。从以上数据可以看出,应用本实施例所述节能方法,可以节约计算机系统的功耗, 从而大幅度提供笔记本电池的续航能力。以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来 说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为 本发明的保护范围。
权利要求
一种计算机系统的节能方法,其特征在于,包括监视到第一窗口由活动窗口切换为非活动窗口;判断所述第一窗口对应的线程是否属于预定进程,并输出判断结果,其中,所述预定进程包括维持所述操作系统正常运行所必须的操作系统进程;在所述判断结果表明所述第一窗口对应的线程不属于所述预定进程时,冻结所述第一窗口对应的线程。
2.如权利要求1所述的节能方法,其特征在于,所述方法还包括监视到第二窗口由非 活动窗口切换到活动窗口 ;判断所述第二窗口对应的线程是否被冻结,若是,则解冻所述第 二窗口对应的线程。
3.如权利要求1或2所述的节能方法,其特征在于,所述预定进程还包括用户预先选 择的且不属于维持所述操作系统正常运行所必须的操作系统进程的进程。
4.如权利要求1所述的节能方法,其特征在于,在所述监视到第一窗口由活动窗口切 换为非活动窗口后,进一步包括从第一类线程中选择出不属于所述预定进程的第二类线 程,并冻结所述第二类线程,其中,所述第一类线程是所述操作系统中除所述第一窗口对应 的线程和当前活动窗口对应的线程之外的其它线程。
5.一种计算机系统,其特征在于,包括监视模块,用于监视操作系统中活动窗口的切换,并在监视到第一窗口由活动窗口切 换为非活动窗口时,判断所述第一窗口对应的线程是否属于预定进程,并输出第一判断结 果,其中,所述预定进程包括维持所述操作系统正常运行所必须的操作系统进程;冻结命令生成模块,用于在所述第一判断结果表明所述第一窗口对应的线程不属于所 述预定进程时,输出冻结所述第一窗口对应的线程的第一冻结命令;第一冻结模块,用于根据所述第一冻结命令,冻结所述第一窗口对应的线程。
6.如权利要求5所述的计算机系统,其特征在于,还包括判断模块,用于在监视到第二窗口由非活动窗口切换为活动窗口时,判断所述第二窗 口对应的线程是否被冻结,并输出第二判断结果;解冻命令生成模块,用于在所述第二判断结果表明所述第二窗口对应的线程被冻结 时,输出解冻所述第二窗口对应的线程的第一解冻命令;解冻模块,用于根据所述第一解冻命令,解冻所述第二窗口对应的线程。
7.如权利要求5或6所述的计算机系统,其特征在于,所述预定进程还包括用户预先 选择的且不属于维持所述操作系统正常运行所必须的操作系统进程的进程。
8.如权利要求6所述的计算机系统,其特征在于,还包括选择模块,用于在监视到所述第一窗口由活动窗口切换为非活动窗口后,从第一类线 程中选择出不属于所述预定进程的第二类线程,并输出冻结所述第二类进程的第二冻结命 令,其中,所述第一类线程是所述操作系统中除所述第一窗口对应的线程和当前活动窗口 对应的线程之外的其它线程;第二冻结模块,用于根据所述第二冻结命令,冻结所述第二类线程。
9.如权利要求8所述的计算机系统,其特征在于,还包括 记录模块,用于记录各个窗口与线程之间的对应关系;线程确定模块,用于根据所述对应关系,确定所述第一窗口对应的线程以及所述第二窗口对应的线程。
10.如权利要求5所述的计算机系统,其特征在于,还包括接口库模块,分别与所述冻结命令生成模块和第一冻结模块连接,用于提供所述冻结 命令生成模块与所述第一冻结模块之间的通讯接口。
全文摘要
本发明提供了一种计算机系统的节能方法及计算机系统。所述方法包括监视操作系统中活动窗口的切换;在监视到第一窗口由活动窗口切换为非活动窗口时,判断所述第一窗口对应的线程是否属于预定进程,并输出判断结果,其中,所述预定进程包括维持所述操作系统正常运行所必须的操作系统进程;在所述判断结果表明所述第一窗口对应的线程不属于所述预定进程时,冻结所述第一窗口对应的线程。按照本发明,可以节约计算机系统的功耗。
文档编号G06F9/48GK101923382SQ20091008665
公开日2010年12月22日 申请日期2009年6月16日 优先权日2009年6月16日
发明者李志刚, 王凯 申请人:联想(北京)有限公司