專(zhuān)利名稱(chēng):一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法及計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法及計(jì)算機(jī)系 統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)硬件制造工藝水平的提高和計(jì)算機(jī)架構(gòu)的改進(jìn),計(jì)算機(jī)的運(yùn)算速度得 到大幅度的提升。然而,隨著處理器及相關(guān)部件運(yùn)行頻率的增加,盡管采用了低功耗的設(shè) 計(jì)技術(shù),但是硬件的功耗總體上仍在不斷增大;另一方面,計(jì)算機(jī)操作系統(tǒng)也變得越來(lái)越復(fù) 雜,對(duì)硬件資源的占用也越多越大,也導(dǎo)致功耗的增加。在能源變得緊張的今天,人們希望 開(kāi)發(fā)出既能滿足人們使用計(jì)算機(jī)需求,同時(shí)又節(jié)省功耗的計(jì)算機(jī)。綠色節(jié)能是計(jì)算機(jī)課題研究的一個(gè)主要方向,其目標(biāo)是在保證計(jì)算機(jī)功能正常使 用的前提下,最大程度地節(jié)省計(jì)算機(jī)的功耗。如何找到一種有效的方法,在保證計(jì)算機(jī)正常 運(yùn)行的前提下,降低計(jì)算機(jī)的功耗,是一個(gè)值得研究的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法及計(jì)算機(jī) 系統(tǒng),降低計(jì)算機(jī)系統(tǒng)的功耗。為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供方案如下一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法,包括監(jiān)視到第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口 ;判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出判斷結(jié)果,其中,所述預(yù) 定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;在所述判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬于所述預(yù)定進(jìn)程時(shí),凍結(jié)所述 第一窗口對(duì)應(yīng)的線程。優(yōu)選地,上述節(jié)能方法中,所述方法還包括監(jiān)視到第二窗口由非活動(dòng)窗口切換到 活動(dòng)窗口 ;判斷所述第二窗口對(duì)應(yīng)的線程是否被凍結(jié),若是,則解凍所述第二窗口對(duì)應(yīng)的線程。優(yōu)選地,上述節(jié)能方法中,所述預(yù)定進(jìn)程還包括用戶(hù)預(yù)先選擇的且不屬于維持所 述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程的進(jìn)程。優(yōu)選地,上述節(jié)能方法中,在所述監(jiān)視到第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口 后,進(jìn)一步包括從第一類(lèi)線程中選擇出不屬于所述預(yù)定進(jìn)程的第二類(lèi)線程,并凍結(jié)所述第 二類(lèi)線程,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所述第一窗口對(duì)應(yīng)的線程和當(dāng)前活 動(dòng)窗口對(duì)應(yīng)的線程之外的其它線程。本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng),包括監(jiān)視模塊,用于監(jiān)視操作系統(tǒng)中活動(dòng)窗口的切換,并在監(jiān)視到第一窗口由活動(dòng)窗 口切換為非活動(dòng)窗口時(shí),判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出第一判斷結(jié)果,其中,所述預(yù)定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;凍結(jié)命令生成模塊,用于在所述第一判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬 于所述預(yù)定進(jìn)程時(shí),輸出凍結(jié)所述第一窗口對(duì)應(yīng)的線程的第一凍結(jié)命令;第一凍結(jié)模塊,用于根據(jù)所述第一凍結(jié)命令,凍結(jié)所述第一窗口對(duì)應(yīng)的線程。優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,還包括判斷模塊,用于在監(jiān)視到第二窗口由非活動(dòng)窗口切換為活動(dòng)窗口時(shí),判斷所述第 二窗口對(duì)應(yīng)的線程是否被凍結(jié),并輸出第二判斷結(jié)果;解凍命令生成模塊,用于在所述第二判斷結(jié)果表明所述第二窗口對(duì)應(yīng)的線程被凍 結(jié)時(shí),輸出解凍所述第二窗口對(duì)應(yīng)的線程的第一解凍命令;解凍模塊,用于根據(jù)所述第一解凍命令,解凍所述第二窗口對(duì)應(yīng)的線程。優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,所述預(yù)定進(jìn)程還包括用戶(hù)預(yù)先選擇的且不屬于維持 所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程的進(jìn)程。優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,還包括選擇模塊,用于在監(jiān)視到所述第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口后,從第一 類(lèi)線程中選擇出不屬于所述預(yù)定進(jìn)程的第二類(lèi)線程,并輸出凍結(jié)所述第二類(lèi)進(jìn)程的第二凍 結(jié)命令,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所述第一窗口對(duì)應(yīng)的線程和當(dāng)前活動(dòng) 窗口對(duì)應(yīng)的線程之外的其它線程;第二凍結(jié)模塊,用于根據(jù)所述第二凍結(jié)命令,凍結(jié)所述第二類(lèi)線程。優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,還包括記錄模塊,用于記錄各個(gè)窗口與線程之間的對(duì)應(yīng)關(guān)系;線程確定模塊,用于根據(jù)所述對(duì)應(yīng)關(guān)系,確定所述第一窗口對(duì)應(yīng)的線程以及所述 第二窗口對(duì)應(yīng)的線程。優(yōu)選地,上述計(jì)算機(jī)系統(tǒng)中,還包括接口庫(kù)模塊,分別與所述凍結(jié)命令生成模塊和第一凍結(jié)模塊連接,用于提供所述 凍結(jié)命令生成模塊與所述第一凍結(jié)模塊之間的通訊接口。從以上所述可以看出,本發(fā)明實(shí)施例提供的計(jì)算機(jī)系統(tǒng)的節(jié)能方法及計(jì)算機(jī)系 統(tǒng),獨(dú)立于硬件,通過(guò)監(jiān)視活動(dòng)窗口的切換,在不影響計(jì)算機(jī)系統(tǒng)正常運(yùn)行的前提下,將與 當(dāng)前任務(wù)無(wú)關(guān)的一些進(jìn)程凍結(jié),達(dá)到了節(jié)約計(jì)算機(jī)系統(tǒng)功耗的目的。當(dāng)用戶(hù)需要和某個(gè)窗 口交互時(shí),本實(shí)施例所述節(jié)能方法又能主動(dòng)地執(zhí)行解凍操作,從而避免了用戶(hù)手動(dòng)控制節(jié) 能的繁瑣操作。同時(shí),本發(fā)明實(shí)施例中還通過(guò)在所述預(yù)定文件中包含用戶(hù)選擇的不希望被 凍結(jié)的進(jìn)程,使得所述節(jié)能方法更加人性化。
圖1為本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的節(jié)能方法的流程示意圖;圖2為本發(fā)明實(shí)施例所述計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式目前的計(jì)算機(jī)操作系統(tǒng)都是多任務(wù)操作系統(tǒng),操作系統(tǒng)中運(yùn)行的任務(wù)越多,勢(shì) 必將占用更多的系統(tǒng)資源,并由此導(dǎo)致越來(lái)越大的功耗。本發(fā)明實(shí)施例從操作系統(tǒng)多任務(wù)調(diào)度機(jī)制出發(fā),在不影響用戶(hù)正常操作的前提下,將與當(dāng)前任務(wù)無(wú)關(guān)的一些進(jìn)程凍結(jié) (Suspend,也可稱(chēng)作掛起),減少這些進(jìn)程對(duì)CPU和內(nèi)存的消耗,從而達(dá)到節(jié)約計(jì)算機(jī)功耗 的目的。以下結(jié)合附圖通過(guò)具體實(shí)施例作進(jìn)一步說(shuō)明。本文中,所述窗口均是指應(yīng)用程序窗口。軟件程序的基本運(yùn)行單元是進(jìn)程,一個(gè)軟件程序可以有多個(gè)進(jìn)程,每個(gè)進(jìn)程又可 以有多個(gè)線程?,F(xiàn)代個(gè)人計(jì)算機(jī)上的操作系統(tǒng)是基于優(yōu)先級(jí)的搶先式調(diào)度系統(tǒng)。調(diào)度系統(tǒng) 總是運(yùn)行優(yōu)先級(jí)最高的(Ready)線程。用戶(hù)在使用計(jì)算機(jī)時(shí),通常會(huì)運(yùn)行多個(gè)軟件程序,例 如,用戶(hù)經(jīng)常需要打開(kāi)一些軟件,例如郵件系統(tǒng)、OFFICE文檔應(yīng)用程序(可能有多個(gè))、一個(gè) 或多個(gè)網(wǎng)頁(yè)等,并且會(huì)在這些應(yīng)用程序之間穿梭,但是用戶(hù)在某一時(shí)刻通常只使用其中的 一個(gè)應(yīng)用程序。在操作系統(tǒng)(如Windows視窗操作系統(tǒng))中,應(yīng)用程序通常是以窗口方式 與用戶(hù)進(jìn)行交互的。任何一個(gè)時(shí)候,操作系統(tǒng)中只有一個(gè)窗口為活動(dòng)(Active)窗口,該活 動(dòng)窗口在前臺(tái)運(yùn)行,用戶(hù)能夠和活動(dòng)窗口進(jìn)行交互。用戶(hù)還可以在多個(gè)窗口間進(jìn)行切換,以 改變當(dāng)前的活動(dòng)窗口,將非活動(dòng)窗口切換為活動(dòng)窗口,以及將活動(dòng)窗口切換為非活動(dòng)窗口。 本實(shí)施例中正是通過(guò)對(duì)活動(dòng)窗口的切換進(jìn)行監(jiān)視,進(jìn)而對(duì)相關(guān)線程進(jìn)行凍結(jié),達(dá)到節(jié)約功 耗的目的,如圖1所示,本實(shí)施例所述計(jì)算機(jī)系統(tǒng)的節(jié)能方法,包括以下步驟步驟11,記錄操作系統(tǒng)中各個(gè)窗口與線程之間的對(duì)應(yīng)關(guān)系,并監(jiān)視操作系統(tǒng)中活 動(dòng)窗口的切換。這里,操作系統(tǒng)中可能有多個(gè)窗口,但在某一時(shí)刻只能有一個(gè)窗口為活動(dòng)窗口。當(dāng) 用戶(hù)在不同應(yīng)用程序間切換時(shí),例如,從一個(gè)網(wǎng)頁(yè)切換到郵件系統(tǒng)程序時(shí),將會(huì)導(dǎo)致活動(dòng)窗 口的切換,當(dāng)前活動(dòng)窗口由所述網(wǎng)頁(yè)切換為郵件系統(tǒng)程序?qū)?yīng)的窗口,所述網(wǎng)頁(yè)從活動(dòng)窗 口則切換為非活動(dòng)窗口。本步驟中,可以通過(guò)記錄下操作系統(tǒng)中各個(gè)應(yīng)用程序的進(jìn)程/線 程與窗口的窗口句柄之間的對(duì)應(yīng)關(guān)系,以便于在后續(xù)出現(xiàn)活動(dòng)窗口切換時(shí),利用上述對(duì)應(yīng) 關(guān)系,確定相關(guān)窗口對(duì)應(yīng)的線程。步驟12,在監(jiān)視到當(dāng)前活動(dòng)窗口由第一窗口切換為第二窗口時(shí),判斷所述第一窗 口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程若是,則進(jìn)入步驟13 ;否則,進(jìn)入步驟14 ;其中,所述預(yù)定 進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程。操作系統(tǒng)中存在著一些操作系統(tǒng)進(jìn)程,其中一部分操作系統(tǒng)進(jìn)程是維持操作系統(tǒng) 正常運(yùn)行不可缺少的進(jìn)程(核心進(jìn)程),例如Windows操作系統(tǒng)中的services. exe、csrss. exe.winlogon. exe等進(jìn)程。如果凍結(jié)這些核心進(jìn)程,將導(dǎo)致操作系統(tǒng)工作異常甚至系統(tǒng)崩 潰,因此,需要預(yù)先將這些核心進(jìn)程信息提取出來(lái),保存在一個(gè)策略文件中,在進(jìn)行步驟12 中的所述判斷時(shí),通過(guò)查詢(xún)?cè)摬呗晕募斜4娴倪M(jìn)程信息,判斷第一窗口對(duì)應(yīng)的線程是否 屬于核心進(jìn)程,以避免后續(xù)對(duì)核心進(jìn)程的凍結(jié)。步驟13,在所述判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程屬于所述預(yù)定進(jìn)程時(shí),由 于不能對(duì)所述第一窗口對(duì)應(yīng)的線程進(jìn)行凍結(jié),此時(shí),不進(jìn)行其它任何操作,直接結(jié)束流程。步驟14,在所述判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬于所述預(yù)定進(jìn)程時(shí), 則凍結(jié)所述第一窗口對(duì)應(yīng)的線程。這里,在所述第一窗口對(duì)應(yīng)的線程不屬于核心進(jìn)程時(shí),即可對(duì)第一窗口對(duì)應(yīng)的線 程進(jìn)行凍結(jié)(掛起),以減少非活動(dòng)窗口對(duì)應(yīng)的線程對(duì)CPU和內(nèi)存資源的消耗,進(jìn)而達(dá)到降 低計(jì)算機(jī)功耗的目的。
在步驟14之后,如果又監(jiān)視到所述第一窗口由非活動(dòng)窗口重新切換為活動(dòng)窗口 時(shí),上述方法還包括以下步驟步驟15,解凍所述第一窗口對(duì)應(yīng)的線程。按照上述方法,當(dāng)用戶(hù)打開(kāi)多個(gè)應(yīng)用程序時(shí),處于后臺(tái)的多個(gè)應(yīng)用程序(非活動(dòng) 窗口對(duì)應(yīng)的應(yīng)用程序)所對(duì)應(yīng)的線程將被凍結(jié),而處于前臺(tái)的應(yīng)用程序(活動(dòng)窗口對(duì)應(yīng)的 應(yīng)用程序)的線程則被解凍(被喚醒)。從而,后臺(tái)的多個(gè)應(yīng)用程序都將不消耗CPU和內(nèi)存 資源,從而降低了計(jì)算機(jī)功耗。上述步驟12中,在監(jiān)視到當(dāng)前活動(dòng)窗口由第一窗口切換為第二窗口時(shí),還可以進(jìn) 一步判斷所述第二窗口對(duì)應(yīng)的線程是否被凍結(jié),若是,則解凍所述第二窗口對(duì)應(yīng)的線程。這里,在上述步驟12中,在監(jiān)視到當(dāng)前活動(dòng)窗口由第一窗口切換為第二窗口后, 操作系統(tǒng)中除了所述第一窗口和第二窗口對(duì)應(yīng)的線程外,還可能包括其它一些線程,例如, 其它非活動(dòng)窗口所對(duì)應(yīng)的線程、一些對(duì)于操作系統(tǒng)正常運(yùn)行并不是必須的操作系統(tǒng)線程, 還可能有一些并沒(méi)有創(chuàng)建任何窗口的線程。本實(shí)施例還可以進(jìn)一步選擇出這些線程并進(jìn)行 凍結(jié),以進(jìn)一步節(jié)約這些線程消耗的功耗。具體的,在步驟12中,當(dāng)監(jiān)視到第一窗口由活動(dòng) 窗口切換為非活動(dòng)窗口后,本實(shí)施例還可以進(jìn)一步從第一類(lèi)線程中選擇出不屬于所述預(yù)定 進(jìn)程的第二類(lèi)線程,并凍結(jié)所述第二類(lèi)線程,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所 述第一窗口對(duì)應(yīng)的線程和當(dāng)前活動(dòng)窗口對(duì)應(yīng)的線程之外的其它線程。更進(jìn)一步的,本發(fā)明實(shí)施例還可以提供一額外功能,由用戶(hù)選擇不希望被凍結(jié)的 進(jìn)程,并將這些進(jìn)程的信息保存在所述策略文件中,以避免對(duì)這些進(jìn)程進(jìn)行凍結(jié)。例如,當(dāng) 計(jì)算機(jī)系統(tǒng)安裝有殺毒軟件或病毒防火墻時(shí),用戶(hù)通常期望這些軟件程序能夠?qū)崟r(shí)監(jiān)控系 統(tǒng)安全,不希望這些軟件程序被中止。又例如,當(dāng)用戶(hù)希望一邊瀏覽網(wǎng)頁(yè)一邊聽(tīng)音樂(lè)時(shí),用 戶(hù)不希望對(duì)播放音樂(lè)的進(jìn)程進(jìn)行凍結(jié)。此時(shí),可以在上述策略文件中進(jìn)一步包括用戶(hù)選擇 的不希望被凍結(jié)的進(jìn)程,避免了對(duì)這些進(jìn)程的凍結(jié)。上述策略文件中所保存的所述預(yù)定進(jìn)程的信息,對(duì)于操作系統(tǒng)的正常運(yùn)行以及上 述方法的正常實(shí)施都很重要。為防止對(duì)該策略文件的誤刪除甚至惡意篡改等操作,提高上 述方法的安全性,可以進(jìn)一步利用預(yù)定的安全策略對(duì)所述策略文件進(jìn)行保護(hù),例如,在對(duì)所 述策略文件進(jìn)行寫(xiě)操作時(shí),增加身份驗(yàn)證過(guò)程,只有驗(yàn)證通過(guò)以后才可以改寫(xiě)所述策略文 件中的內(nèi)容;在根據(jù)所述策略文件確定上述第一窗口的線程是否屬于預(yù)定進(jìn)程時(shí),首先對(duì) 該策略文件的完整性進(jìn)行驗(yàn)證,只有完整性驗(yàn)證通過(guò)以后,才進(jìn)行下一步的操作,以防止所 述策略文件被惡意篡改后導(dǎo)致的不良后果。從以上所述可以看出,本實(shí)施例所述計(jì)算機(jī)系統(tǒng)的節(jié)能方法,從操作系統(tǒng)任務(wù)調(diào) 度著眼,主動(dòng)地掛起不必要的進(jìn)程/線程和資源,達(dá)到了節(jié)約計(jì)算機(jī)功耗的目的。當(dāng)用戶(hù)需 要和某個(gè)窗口交互時(shí),本實(shí)施例所述節(jié)能方法又能主動(dòng)地執(zhí)行解凍操作,從而避免需要用 戶(hù)手動(dòng)控制節(jié)能的繁瑣操作問(wèn)題(用戶(hù)手動(dòng)控制節(jié)能是目前多數(shù)計(jì)算機(jī)電源管理軟件的 方法,實(shí)際使用中,多數(shù)用戶(hù)不習(xí)慣這種額外的手動(dòng)操作)。另外,本實(shí)施例提供的節(jié)能方 法,獨(dú)立于硬件,也就是說(shuō),當(dāng)計(jì)算機(jī)系統(tǒng)的硬件提供了其它的節(jié)能方法后,本實(shí)施例的節(jié) 能方法仍可以使用,并且這兩種節(jié)能方法的效果是可以累積的。最后,本實(shí)施例所述的節(jié)能 方法,還可以對(duì)用戶(hù)選擇的預(yù)定進(jìn)程不進(jìn)行凍結(jié),具有較好的人性化特點(diǎn)?;谏鲜鲇?jì)算機(jī)系統(tǒng)的節(jié)能方法,本實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng),如圖2所示,該計(jì)算機(jī)系統(tǒng)包括監(jiān)視模塊,用于監(jiān)視操作系統(tǒng)中活動(dòng)窗口的切換,并在監(jiān)視到第一窗口由活動(dòng)窗 口切換為非活動(dòng)窗口時(shí),判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出第一判 斷結(jié)果,其中,所述預(yù)定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;凍結(jié)命令生成模塊,用于在所述第一判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬 于所述預(yù)定進(jìn)程時(shí),輸出凍結(jié)所述第一窗口對(duì)應(yīng)的線程的第一凍結(jié)命令,用以調(diào)用凍結(jié)驅(qū) 動(dòng)模塊中的API函數(shù)實(shí)現(xiàn)對(duì)應(yīng)進(jìn)程或線程的凍結(jié)/恢復(fù);第一凍結(jié)模塊,用于根據(jù)所述第一凍結(jié)命令,凍結(jié)所述第一窗口對(duì)應(yīng)的線程。接口庫(kù)模塊,分別與所述凍結(jié)命令生成模塊和第一凍結(jié)模塊連接,用于提供所述 凍結(jié)命令生成模塊與所述第一凍結(jié)模塊之間的通訊接口,接口庫(kù)模塊是上層應(yīng)用(凍結(jié)命 令生成模塊)調(diào)用下層第一凍結(jié)模塊的接口;這里,所述預(yù)定進(jìn)程還可以包括用戶(hù)預(yù)先選擇的且不屬于維持所述操作系統(tǒng)正 常運(yùn)行所必須的操作系統(tǒng)進(jìn)程的進(jìn)程。此時(shí),由用戶(hù)選擇不希望被凍結(jié)的進(jìn)程,以避免對(duì)這 些進(jìn)程的凍結(jié),以提供更為人性化的效果。優(yōu)選地,所述計(jì)算機(jī)系統(tǒng)還可以包括判斷模塊,用于在監(jiān)視到第二窗口由非活動(dòng)窗口切換為活動(dòng)窗口時(shí),判斷所述第 二窗口對(duì)應(yīng)的線程是否被凍結(jié),并輸出第二判斷結(jié)果;解凍命令生成模塊,用于在所述第二判斷結(jié)果表明所述第二窗口對(duì)應(yīng)的線程被凍 結(jié)時(shí),輸出解凍所述第二窗口對(duì)應(yīng)的線程的第一解凍命令;解凍模塊,用于根據(jù)所述第一解凍命令,解凍所述第二窗口對(duì)應(yīng)的線程。優(yōu)選地,所述計(jì)算機(jī)系統(tǒng)還可以包括選擇模塊,用于在監(jiān)視到所述第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口后,從第一 類(lèi)線程中選擇出不屬于所述預(yù)定進(jìn)程的第二類(lèi)線程,并輸出凍結(jié)所述第二類(lèi)進(jìn)程的第二凍 結(jié)命令,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所述第一窗口對(duì)應(yīng)的線程和當(dāng)前活動(dòng) 窗口對(duì)應(yīng)的線程之外的其它線程;第二凍結(jié)模塊,用于根據(jù)所述第二凍結(jié)命令,凍結(jié)所述第二類(lèi)線程。另外,圖2所述的計(jì)算機(jī)系統(tǒng)中還可以包括以下模塊記錄模塊,用于記錄各個(gè)窗口與線程之間的對(duì)應(yīng)關(guān)系;線程確定模塊,用于根據(jù)所述對(duì)應(yīng)關(guān)系,確定所述第一窗口對(duì)應(yīng)的線程以及所述 第二窗口對(duì)應(yīng)的線程;最后,通過(guò)計(jì)算機(jī)系統(tǒng)在實(shí)際使用環(huán)境下的測(cè)試數(shù)據(jù),進(jìn)一步說(shuō)明本實(shí)施例的節(jié) 能效果。以型號(hào)為T(mén)hinkPad T61筆記本電腦作為測(cè)試平臺(tái),該筆記本的運(yùn)行環(huán)境為出廠預(yù) 裝軟件,并不增加任何新軟件。記錄使用該筆記本電腦瀏覽網(wǎng)頁(yè)時(shí)的功耗變化曲線。首先, 測(cè)試在沒(méi)有應(yīng)用本實(shí)施例所述節(jié)能方法時(shí)該筆記本電腦的功耗在沒(méi)有使用瀏覽器的情況 下,該筆記本的平均功耗為19w(瓦特)。當(dāng)進(jìn)行網(wǎng)上沖浪,例如打開(kāi)5個(gè)網(wǎng)頁(yè)后(不論是使 用多個(gè)瀏覽器打開(kāi),還是在一個(gè)瀏覽器下使用多個(gè)標(biāo)簽頁(yè)打開(kāi)),筆記本的功耗均會(huì)陡增, 增加約10多w,且其中功耗峰值甚至達(dá)到40W,之后功耗在35w左右波動(dòng)。在該筆記本電腦 上采用本實(shí)施例所述節(jié)能方法后,當(dāng)所述節(jié)能方法將這5個(gè)網(wǎng)頁(yè)窗口對(duì)應(yīng)的線程全部掛起后,筆記本電腦的功耗會(huì)漸漸穩(wěn)定在19w左右,也就是說(shuō),瀏覽器窗口對(duì)應(yīng)的線程處于掛起 狀態(tài)后,同瀏覽器進(jìn)程被關(guān)閉相比,筆記本電腦的整機(jī)功耗幾乎相同(也就是被掛起的線 程消耗的功耗幾乎可以忽略不計(jì))。進(jìn)一步使用上述筆記本電腦在如下條件下,測(cè)試本實(shí)施例所述節(jié)能方法對(duì)電池續(xù) 航能力的影響1)保持默認(rèn)開(kāi)機(jī)進(jìn)程不變;2))電源管理器采用高性能模式(從不關(guān)閉顯示器,從不使計(jì)算機(jī)進(jìn)入睡眠狀態(tài), 顯示器亮度最高);3))打開(kāi)5個(gè)IE瀏覽器,分別瀏覽以下5個(gè)網(wǎng)站sina,sohu,pconline,zol, youtube ;4))電池初始狀態(tài)為電池電量100 %,使用電池供電;5)觀看本地保存的同一視頻文件。首先,在沒(méi)有應(yīng)用本實(shí)施例所述節(jié)能方法的情況下,該筆記本電腦的電池續(xù)航時(shí) 間為1小時(shí)40分鐘;在應(yīng)用本實(shí)施例所述節(jié)能方法后,將5個(gè)IE瀏覽器以及部分預(yù)裝的軟 件(如DkService等等)的進(jìn)程/線程掛起后,電池續(xù)航時(shí)間為2小時(shí)17分鐘,增加約37 分鐘。從以上數(shù)據(jù)可以看出,應(yīng)用本實(shí)施例所述節(jié)能方法,可以節(jié)約計(jì)算機(jī)系統(tǒng)的功耗, 從而大幅度提供筆記本電池的續(xù)航能力。以上所述僅是本發(fā)明的實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái) 說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為 本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法,其特征在于,包括監(jiān)視到第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口;判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出判斷結(jié)果,其中,所述預(yù)定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;在所述判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬于所述預(yù)定進(jìn)程時(shí),凍結(jié)所述第一窗口對(duì)應(yīng)的線程。
2.如權(quán)利要求1所述的節(jié)能方法,其特征在于,所述方法還包括監(jiān)視到第二窗口由非 活動(dòng)窗口切換到活動(dòng)窗口 ;判斷所述第二窗口對(duì)應(yīng)的線程是否被凍結(jié),若是,則解凍所述第 二窗口對(duì)應(yīng)的線程。
3.如權(quán)利要求1或2所述的節(jié)能方法,其特征在于,所述預(yù)定進(jìn)程還包括用戶(hù)預(yù)先選 擇的且不屬于維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程的進(jìn)程。
4.如權(quán)利要求1所述的節(jié)能方法,其特征在于,在所述監(jiān)視到第一窗口由活動(dòng)窗口切 換為非活動(dòng)窗口后,進(jìn)一步包括從第一類(lèi)線程中選擇出不屬于所述預(yù)定進(jìn)程的第二類(lèi)線 程,并凍結(jié)所述第二類(lèi)線程,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所述第一窗口對(duì)應(yīng) 的線程和當(dāng)前活動(dòng)窗口對(duì)應(yīng)的線程之外的其它線程。
5.一種計(jì)算機(jī)系統(tǒng),其特征在于,包括監(jiān)視模塊,用于監(jiān)視操作系統(tǒng)中活動(dòng)窗口的切換,并在監(jiān)視到第一窗口由活動(dòng)窗口切 換為非活動(dòng)窗口時(shí),判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出第一判斷結(jié) 果,其中,所述預(yù)定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;凍結(jié)命令生成模塊,用于在所述第一判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬于所 述預(yù)定進(jìn)程時(shí),輸出凍結(jié)所述第一窗口對(duì)應(yīng)的線程的第一凍結(jié)命令;第一凍結(jié)模塊,用于根據(jù)所述第一凍結(jié)命令,凍結(jié)所述第一窗口對(duì)應(yīng)的線程。
6.如權(quán)利要求5所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括判斷模塊,用于在監(jiān)視到第二窗口由非活動(dòng)窗口切換為活動(dòng)窗口時(shí),判斷所述第二窗 口對(duì)應(yīng)的線程是否被凍結(jié),并輸出第二判斷結(jié)果;解凍命令生成模塊,用于在所述第二判斷結(jié)果表明所述第二窗口對(duì)應(yīng)的線程被凍結(jié) 時(shí),輸出解凍所述第二窗口對(duì)應(yīng)的線程的第一解凍命令;解凍模塊,用于根據(jù)所述第一解凍命令,解凍所述第二窗口對(duì)應(yīng)的線程。
7.如權(quán)利要求5或6所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述預(yù)定進(jìn)程還包括用戶(hù)預(yù)先 選擇的且不屬于維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程的進(jìn)程。
8.如權(quán)利要求6所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括選擇模塊,用于在監(jiān)視到所述第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口后,從第一類(lèi)線 程中選擇出不屬于所述預(yù)定進(jìn)程的第二類(lèi)線程,并輸出凍結(jié)所述第二類(lèi)進(jìn)程的第二凍結(jié)命 令,其中,所述第一類(lèi)線程是所述操作系統(tǒng)中除所述第一窗口對(duì)應(yīng)的線程和當(dāng)前活動(dòng)窗口 對(duì)應(yīng)的線程之外的其它線程;第二凍結(jié)模塊,用于根據(jù)所述第二凍結(jié)命令,凍結(jié)所述第二類(lèi)線程。
9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括 記錄模塊,用于記錄各個(gè)窗口與線程之間的對(duì)應(yīng)關(guān)系;線程確定模塊,用于根據(jù)所述對(duì)應(yīng)關(guān)系,確定所述第一窗口對(duì)應(yīng)的線程以及所述第二窗口對(duì)應(yīng)的線程。
10.如權(quán)利要求5所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括接口庫(kù)模塊,分別與所述凍結(jié)命令生成模塊和第一凍結(jié)模塊連接,用于提供所述凍結(jié) 命令生成模塊與所述第一凍結(jié)模塊之間的通訊接口。
全文摘要
本發(fā)明提供了一種計(jì)算機(jī)系統(tǒng)的節(jié)能方法及計(jì)算機(jī)系統(tǒng)。所述方法包括監(jiān)視操作系統(tǒng)中活動(dòng)窗口的切換;在監(jiān)視到第一窗口由活動(dòng)窗口切換為非活動(dòng)窗口時(shí),判斷所述第一窗口對(duì)應(yīng)的線程是否屬于預(yù)定進(jìn)程,并輸出判斷結(jié)果,其中,所述預(yù)定進(jìn)程包括維持所述操作系統(tǒng)正常運(yùn)行所必須的操作系統(tǒng)進(jìn)程;在所述判斷結(jié)果表明所述第一窗口對(duì)應(yīng)的線程不屬于所述預(yù)定進(jìn)程時(shí),凍結(jié)所述第一窗口對(duì)應(yīng)的線程。按照本發(fā)明,可以節(jié)約計(jì)算機(jī)系統(tǒng)的功耗。
文檔編號(hào)G06F9/48GK101923382SQ20091008665
公開(kāi)日2010年12月22日 申請(qǐng)日期2009年6月16日 優(yōu)先權(quán)日2009年6月16日
發(fā)明者李志剛, 王凱 申請(qǐng)人:聯(lián)想(北京)有限公司