亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法及裝置的制作方法

文檔序號(hào):6355164閱讀:184來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及操作系統(tǒng)中的進(jìn)程調(diào)度機(jī)制,具體涉及一種防止操作系統(tǒng)作業(yè)繁忙時(shí) 導(dǎo)致面向用戶(hù)感受進(jìn)程出現(xiàn)卡頓故障的進(jìn)程調(diào)度方法及裝置。
背景技術(shù)
當(dāng)前的終端智能設(shè)備,特別是個(gè)人計(jì)算機(jī)中,一般都會(huì)運(yùn)行擅長(zhǎng)多媒體信息處理 的操作系統(tǒng),輸入和輸出全部以直觀的圖形窗口形式完成。當(dāng)計(jì)算機(jī)因作業(yè)眾多而處于繁 忙狀態(tài)時(shí),常常會(huì)造成對(duì)用戶(hù)的響應(yīng)緩慢,直觀表現(xiàn)就是圖形構(gòu)件的刷新慢于人們的習(xí)慣 或預(yù)期,即所謂“卡屏”。例如,鼠標(biāo)的光標(biāo)不隨手的移動(dòng)呈現(xiàn)連續(xù)性位移,而是在屏幕上間 歇性的跳動(dòng);任務(wù)窗口不能隨用戶(hù)的點(diǎn)擊立刻轉(zhuǎn)移到桌面的頂端。此外本發(fā)明將多媒體播 放不能提供合乎自然規(guī)律的視聽(tīng)感受,斷斷續(xù)續(xù)或有停滯感這樣的現(xiàn)象也是歸為用戶(hù)界面 卡屏問(wèn)題。這些用戶(hù)界面卡屏現(xiàn)象在目前的主流操作系統(tǒng),如微軟公司的Windows系列個(gè) 人用戶(hù)操作系統(tǒng)、各種開(kāi)源Linux桌面操作系統(tǒng)、蘋(píng)果公司的Mac OS、以及嵌入在各種掌上 設(shè)備中的嵌入式操作系統(tǒng)中都有表現(xiàn)。隨著信息化時(shí)代的到來(lái),智能設(shè)備將更多的出現(xiàn)在 生產(chǎn)生活的方方面面,改進(jìn)和解決“卡屏”問(wèn)題對(duì)于完善人機(jī)界面,提高操作效率都非常重 要。用戶(hù)界面卡屏故障現(xiàn)象的出現(xiàn)和“用戶(hù)感受”受到影響是等價(jià)的,用戶(hù)界面卡屏故障現(xiàn) 象的關(guān)鍵在于面向用戶(hù)感受進(jìn)程沒(méi)有得到更充分的運(yùn)行,即面向用戶(hù)感受進(jìn)程的運(yùn)行速度 低于用戶(hù)的預(yù)期,面向用戶(hù)感受進(jìn)程具體體現(xiàn)為處于桌面頂層的程序窗口、擁有輸入焦點(diǎn) 的程序窗口、包括影音服務(wù)程序等在內(nèi)的特定程序所對(duì)應(yīng)的進(jìn)程。調(diào)度技術(shù)是多任務(wù)計(jì)算機(jī)的運(yùn)行基礎(chǔ),各種任務(wù)都以分時(shí)共享的方式使用處理器 (CPU)資源,用戶(hù)的輸入輸出和各種圖形顯示也在計(jì)算機(jī)要調(diào)度的任務(wù)之列。一般的多任務(wù) 調(diào)度器都會(huì)將任務(wù)分為兩個(gè)大類(lèi)實(shí)時(shí)性任務(wù)和非實(shí)時(shí)任務(wù)。本發(fā)明中的內(nèi)容只涉及非實(shí) 時(shí)性任務(wù)的調(diào)度,即只關(guān)心此類(lèi)任務(wù)的用戶(hù)感受,下文中提到的任務(wù)都是指非實(shí)時(shí)性任務(wù)。 以Kylin Linux操作系統(tǒng)為例,任務(wù)的調(diào)度一般是對(duì)兩個(gè)重要的因素“優(yōu)先級(jí)和時(shí)間片”進(jìn) 行考察和調(diào)節(jié),作為調(diào)度算法的主要參考。在任務(wù)被創(chuàng)建時(shí),根據(jù)用戶(hù)的要求給其優(yōu)先級(jí)賦 一個(gè)初值,并計(jì)算對(duì)應(yīng)的時(shí)間片初值。在任務(wù)運(yùn)行過(guò)程中,時(shí)間片不斷減少,而優(yōu)先級(jí)一般 保持不變(除非用戶(hù)干預(yù)),以便在時(shí)間片變?yōu)?的時(shí)候(該任務(wù)用完了所分配的時(shí)間片)對(duì) 時(shí)間片重新賦值。當(dāng)一個(gè)任務(wù)的時(shí)間片用完以后,并不馬上對(duì)時(shí)間片進(jìn)行賦值,只有所有處 于可運(yùn)行狀態(tài)的任務(wù)的時(shí)間片都用完了以后,才用優(yōu)先級(jí)對(duì)時(shí)間片重新賦值,這個(gè)任務(wù)才 有了再次被調(diào)度的機(jī)會(huì)。也就是說(shuō)任務(wù)運(yùn)行時(shí),時(shí)間片的減小給了其它任務(wù)得以運(yùn)行的機(jī) 會(huì),直至?xí)r間片減為0時(shí)才完全放棄對(duì)CPU的使用,這就相當(dāng)于優(yōu)先級(jí)在動(dòng)態(tài)變化,所以 稱(chēng)之為動(dòng)態(tài)優(yōu)先級(jí)調(diào)度。當(dāng)前的多數(shù)操作系統(tǒng)中,所有由用戶(hù)執(zhí)行的程序和系統(tǒng)的圖形服 務(wù)程序都是以同樣的系統(tǒng)默認(rèn)優(yōu)先級(jí)運(yùn)行,系統(tǒng)賦給它們相同的運(yùn)行機(jī)會(huì),當(dāng)系統(tǒng)因任務(wù) 數(shù)多而負(fù)載較重時(shí),“用戶(hù)感受”相關(guān)任務(wù)所得到的絕對(duì)CPU時(shí)間也會(huì)減小,造成用戶(hù)響應(yīng)或 者聲像輸出的緩慢。然而在一般操作系統(tǒng)中這并非一個(gè)容易解決的問(wèn)題,主要的原因有幾 個(gè)方面操作系統(tǒng)和應(yīng)用程序由不同廠商提供,難以預(yù)知哪些應(yīng)用是用戶(hù)所關(guān)心的;圖形服務(wù)和操作系統(tǒng)內(nèi)核是分離的,圖形服務(wù)的使用者和圖形服務(wù)也可能是松耦合的,內(nèi)核很 難獲知當(dāng)前用戶(hù)正在操作哪個(gè)任務(wù);有些任務(wù)例如音/視頻播放器,即使用戶(hù)不對(duì)其有任 何操作,也同樣關(guān)心其輸出質(zhì)量。隨著信息化時(shí)代的到來(lái),智能設(shè)備將更多的出現(xiàn)在生產(chǎn)生活的方方面面,面向用 戶(hù)感受進(jìn)程卡頓故障現(xiàn)象已經(jīng)嚴(yán)重影響了操作系統(tǒng)的人機(jī)界面的友好交互性,降低了人機(jī) 界面的操作效率,成為有待解決的關(guān)鍵技術(shù)問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題為提供一種用戶(hù)體驗(yàn)流暢、資源分配公平合理、軟件開(kāi) 銷(xiāo)小、適用范圍廣的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法及裝置。為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為一種操作系統(tǒng)中防止用戶(hù) 界面卡屏的進(jìn)程調(diào)度方法,其實(shí)施步驟如下
1)設(shè)定第一閾值;
2)判斷CPU資源占用率;定時(shí)獲取操作系統(tǒng)當(dāng)前的進(jìn)程隊(duì)列和CPU資源占用率,若CPU 資源占用率大于所述第一閾值時(shí),執(zhí)行步驟3);
3)獲取面向用戶(hù)感受進(jìn)程;將當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸 入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程作為面向用戶(hù)感受進(jìn)程;
4)調(diào)節(jié)面向用戶(hù)感受進(jìn)程;提高所述面向用戶(hù)感受進(jìn)程在操作系統(tǒng)中的相對(duì)優(yōu)先級(jí)。作為本發(fā)明操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法的進(jìn)一步改進(jìn)
所述步驟1)中還包括設(shè)定用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列表,所述步驟3) 中獲取面向用戶(hù)感受進(jìn)程時(shí),一并將當(dāng)前運(yùn)行并屬于所述預(yù)設(shè)程序列表的程序所對(duì)應(yīng)的進(jìn) 程作為面向用戶(hù)感受進(jìn)程。所述步驟1)中還包括設(shè)定第二閾值,所述第二閾值比第一閾值大,所述步驟2)判 斷CPU資源占用率時(shí),若CPU資源占用率大于所述第二閾值,則在所述步驟4)中增加所述 面向用戶(hù)感受進(jìn)程的時(shí)間片。所述增加面向用戶(hù)感受進(jìn)程的時(shí)間片時(shí),首先在建立進(jìn)程時(shí)建立與該進(jìn)程關(guān)聯(lián)并 預(yù)置零值的計(jì)數(shù)器,然后對(duì)操作系統(tǒng)中運(yùn)行的進(jìn)程進(jìn)行判斷,如果該進(jìn)程為面向用戶(hù)感受 進(jìn)程且與該進(jìn)程關(guān)聯(lián)的計(jì)數(shù)器為零,則執(zhí)行增加該進(jìn)程的時(shí)間片,并將所述計(jì)數(shù)器修改為
非零值。所述增加的時(shí)間片為所述面向用戶(hù)感受進(jìn)程的當(dāng)前時(shí)間片的廣3倍。所述步驟4)中提高面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先級(jí)時(shí),首 先保存受影響進(jìn)程的原始優(yōu)先級(jí),所述步驟2)中若CPU資源占用率小于第一閾值時(shí),恢復(fù) 受影響進(jìn)程的原始優(yōu)先級(jí)。所述步驟3)獲取面向用戶(hù)感受進(jìn)程時(shí),首先在初始化程序窗口時(shí)建立程序窗口與 程序進(jìn)程的窗口進(jìn)程關(guān)聯(lián)數(shù)據(jù)表,然后在獲取面向用戶(hù)感受進(jìn)程時(shí),通過(guò)查詢(xún)所述窗口進(jìn) 程關(guān)聯(lián)數(shù)據(jù)表得到處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗口的程序 所對(duì)應(yīng)的進(jìn)程。本發(fā)明的技術(shù)方案還提供一種操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置,包 括任務(wù)調(diào)度器,它還包括主引擎和分別與主引擎相連的內(nèi)核信息探測(cè)器、優(yōu)先級(jí)隨動(dòng)器、預(yù)設(shè)程序配置器、窗口進(jìn)程關(guān)聯(lián)器,所述優(yōu)先級(jí)隨動(dòng)器與任務(wù)調(diào)度器相連,所述主引擎包括存 儲(chǔ)有第一閾值的閾值存儲(chǔ)器,所述內(nèi)核信息探測(cè)器檢測(cè)操作系統(tǒng)的進(jìn)程隊(duì)列和CPU資源占 用率并輸出至主引擎,所述預(yù)設(shè)程序配置器存儲(chǔ)用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列 表并輸出至主引擎,所述窗口進(jìn)程關(guān)聯(lián)器獲取當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn) 程和擁有輸入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程并輸出至主引擎,所述主引擎在CPU資源占用 率大于第一閾值時(shí)將操作系統(tǒng)的進(jìn)程隊(duì)列中與預(yù)設(shè)程序配置器和窗口進(jìn)程關(guān)聯(lián)器的輸出 信息相匹配的進(jìn)程作為面向用戶(hù)感受進(jìn)程,并輸出控制命令至優(yōu)先級(jí)隨動(dòng)器,所述優(yōu)先級(jí) 隨動(dòng)器根據(jù)控制命令調(diào)節(jié)面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先級(jí)。作為本發(fā)明操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置的進(jìn)一步改進(jìn)
所述閾值存儲(chǔ)器還存儲(chǔ)有第二閾值,所述第二閾值比第一閾值大,所述任務(wù)調(diào)度器包 括時(shí)間片重分配單元和時(shí)間片隨動(dòng)開(kāi)關(guān),所述主引擎通過(guò)時(shí)間片隨動(dòng)開(kāi)關(guān)與時(shí)間片重分配 單元相連,所述主引擎在CPU資源占用率大于第二閾值時(shí)輸出開(kāi)啟信號(hào)至?xí)r間片隨動(dòng)開(kāi) 關(guān),所述時(shí)間片重分配單元在時(shí)間片隨動(dòng)開(kāi)關(guān)開(kāi)啟時(shí)增加面向用戶(hù)感受進(jìn)程的時(shí)間片。所述主引擎包括定時(shí)器、進(jìn)程獲取模塊和決策通信模塊,所述進(jìn)程獲取模塊分別 與定時(shí)器、預(yù)設(shè)程序配置器、窗口進(jìn)程關(guān)聯(lián)器相連,所述決策通信模塊通過(guò)通信鏈路分別與 內(nèi)核信息探測(cè)器、優(yōu)先級(jí)隨動(dòng)器、時(shí)間片隨動(dòng)開(kāi)關(guān)相連,所述進(jìn)程獲取模塊由定時(shí)器觸發(fā)后 根據(jù)預(yù)設(shè)程序配置器和窗口進(jìn)程關(guān)聯(lián)器輸出的信息獲取面向用戶(hù)感受進(jìn)程,所述決策通信 模塊執(zhí)行CPU資源占用率的判定,并根據(jù)判定結(jié)果控制優(yōu)先級(jí)隨動(dòng)器的工作和時(shí)間片隨動(dòng) 開(kāi)關(guān)的開(kāi)啟狀態(tài)。本發(fā)明具有下述優(yōu)點(diǎn)
1、本發(fā)明操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法通過(guò)識(shí)別面向用戶(hù)感受進(jìn)程, 從而提高面向用戶(hù)感受進(jìn)程的相對(duì)優(yōu)先級(jí),使得面向用戶(hù)感受進(jìn)程可以獲得相對(duì)更多的 CPU資源,僅僅在系統(tǒng)負(fù)載較重時(shí)才進(jìn)行CPU資源的重新分配,可以防止操作系統(tǒng)中出現(xiàn)進(jìn) 程卡頓故障現(xiàn)象,保持交互性和用戶(hù)感受同時(shí)所有任務(wù)都有公平的運(yùn)行機(jī)會(huì),可以應(yīng)用于 所有具備優(yōu)先級(jí)調(diào)度功能的多任務(wù)操作系統(tǒng)中,具有用戶(hù)體驗(yàn)流暢、資源分配公平合理、軟 件開(kāi)銷(xiāo)小、適用范圍廣的優(yōu)點(diǎn);
2、本發(fā)明不僅可以提高涉及窗口的面向用戶(hù)感受進(jìn)程的優(yōu)先級(jí),還可以通過(guò)窗口進(jìn)程 關(guān)聯(lián)數(shù)據(jù)表實(shí)現(xiàn)提高與用戶(hù)進(jìn)行音視頻交互程序的優(yōu)先級(jí);
3、本發(fā)明通過(guò)CPU資源占用率大于第二閾值時(shí)增加面向用戶(hù)感受進(jìn)程的時(shí)間片,僅僅 在系統(tǒng)負(fù)載非常嚴(yán)重時(shí)才增加面向用戶(hù)感受進(jìn)程的時(shí)間片操作,因此即使在系統(tǒng)負(fù)載非常 嚴(yán)重時(shí)也可以最大限度保證面向用戶(hù)感受進(jìn)程的CPU資源,保障面向用戶(hù)感受進(jìn)程的流暢 運(yùn)行。4、本發(fā)明通過(guò)進(jìn)程關(guān)聯(lián)并預(yù)置零值的計(jì)數(shù)器來(lái)判斷增加時(shí)間片,面向用戶(hù)感受進(jìn) 程之間增加時(shí)間片更加合理;
5、本發(fā)明當(dāng)CPU資源占用率小于第一閾值時(shí),恢復(fù)所述面向用戶(hù)感受進(jìn)程的原始優(yōu)先 級(jí),在系統(tǒng)負(fù)載較輕時(shí)不會(huì)影響現(xiàn)有的進(jìn)程調(diào)度機(jī)制;
6、本發(fā)明通過(guò)窗口進(jìn)程關(guān)聯(lián)數(shù)據(jù)表來(lái)查找處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程 和擁有輸入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程,可以應(yīng)用于窗口與進(jìn)程松耦合的操作系統(tǒng),適 應(yīng)性好。
本發(fā)明操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置由于采用上述方法相對(duì)應(yīng) 的結(jié)構(gòu),因此也具有與上述操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法相對(duì)應(yīng)的優(yōu)點(diǎn)。


圖1為本發(fā)明實(shí)施例的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法的流程示 意圖2為本發(fā)明實(shí)施例的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置的結(jié)構(gòu)示意圖; 圖3為本發(fā)明實(shí)施例的獲取面向用戶(hù)感受進(jìn)程信息的流程示意圖; 圖4為本發(fā)明實(shí)施例的任務(wù)調(diào)度器的狀態(tài)切換示意圖; 圖5為Kylin Linux中的時(shí)間片分配機(jī)制的流程示意圖; 圖6為本發(fā)明實(shí)施例的時(shí)間片分配機(jī)構(gòu)的流程示意圖; 圖7為本發(fā)明實(shí)施例中進(jìn)程調(diào)度方法的工作過(guò)程示意圖。圖例說(shuō)明1、任務(wù)調(diào)度器;11、時(shí)間片重分配單元;2、主引擎;21、定時(shí)器;22、進(jìn)程 獲取模塊;23、決策通信模塊;24、閾值存儲(chǔ)器;3、內(nèi)核信息探測(cè)器;4、優(yōu)先級(jí)隨動(dòng)器;5、預(yù) 設(shè)程序配置器;6、窗口進(jìn)程關(guān)聯(lián)器;7、時(shí)間片隨動(dòng)開(kāi)關(guān)。
具體實(shí)施例方式如圖1所示,本發(fā)明實(shí)施例的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法的實(shí) 施步驟如下
1)設(shè)定第一閾值;
2)判斷CPU資源占用率;定時(shí)獲取操作系統(tǒng)當(dāng)前的進(jìn)程隊(duì)列和CPU資源占用率,若CPU 資源占用率大于第一閾值時(shí),執(zhí)行步驟3);
3)獲取面向用戶(hù)感受進(jìn)程;將當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸 入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程作為面向用戶(hù)感受進(jìn)程;
4)調(diào)節(jié)面向用戶(hù)感受進(jìn)程;提高面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先級(jí)。本實(shí)施例中,步驟1)中還包括設(shè)定用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列表, 步驟3)中獲取面向用戶(hù)感受進(jìn)程時(shí),一并將當(dāng)前運(yùn)行并屬于預(yù)設(shè)程序列表的程序所對(duì)應(yīng)的 進(jìn)程作為面向用戶(hù)感受進(jìn)程。本實(shí)施例中,步驟1)中還包括設(shè)定第二閾值,第二閾值比第一閾值大,步驟2)判 斷CPU資源占用率時(shí),若CPU資源占用率大于第二閾值,則在步驟4)中增加面向用戶(hù)感受 進(jìn)程的時(shí)間片。如果CPU資源占用率大于第二閾值,則針對(duì)面向用戶(hù)感受進(jìn)程同時(shí)執(zhí)行提 高相對(duì)優(yōu)先級(jí)、增加時(shí)間片,否則若CPU資源占用率位于第一閾值與第二閾值之間,則單獨(dú) 針對(duì)面向用戶(hù)感受進(jìn)程執(zhí)行提高相對(duì)優(yōu)先級(jí)。針對(duì)操作系統(tǒng)中負(fù)載情況的不同采取不同的 措施來(lái)達(dá)到最優(yōu)的效果,有利于面向用戶(hù)感受進(jìn)程的流暢運(yùn)行,并可以兼顧其他進(jìn)程調(diào)度 的公平性。增加面向用戶(hù)感受進(jìn)程的時(shí)間片時(shí),首先在建立進(jìn)程時(shí)建立與該進(jìn)程關(guān)聯(lián)并預(yù) 置零值的計(jì)數(shù)器,然后對(duì)操作系統(tǒng)中運(yùn)行的進(jìn)程進(jìn)行判斷,如果該進(jìn)程為面向用戶(hù)感受進(jìn) 程且與該進(jìn)程關(guān)聯(lián)的計(jì)數(shù)器為零,則執(zhí)行增加該進(jìn)程的時(shí)間片,并將計(jì)數(shù)器修改為非零值。 增加的時(shí)間片為面向用戶(hù)感受進(jìn)程的當(dāng)前時(shí)間片的廣3倍,本實(shí)施例中,增加的時(shí)間片為
7面向用戶(hù)感受進(jìn)程的當(dāng)前時(shí)間片的2倍。本實(shí)施例中,步驟4)中提高面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先 級(jí)時(shí),首先保存受影響進(jìn)程的原始優(yōu)先級(jí),步驟2)中若CPU資源占用率小于第一閾值時(shí),恢 復(fù)受影響進(jìn)程的原始優(yōu)先級(jí)。本實(shí)施例中,步驟3)獲取面向用戶(hù)感受進(jìn)程時(shí),首先在初始化程序窗口時(shí)建立程 序窗口與程序內(nèi)核進(jìn)程關(guān)聯(lián)數(shù)據(jù)表,然后在獲取面向用戶(hù)感受進(jìn)程時(shí),通過(guò)查詢(xún)窗口進(jìn)程 關(guān)聯(lián)數(shù)據(jù)表得到處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的內(nèi)核進(jìn)程或擁有輸入焦點(diǎn)的程序所 對(duì)應(yīng)的內(nèi)核進(jìn)程。如圖2所示,本發(fā)明實(shí)施例的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置包括 任務(wù)調(diào)度器1,它還包括主引擎2和分別與主引擎2相連的內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨動(dòng) 器4、預(yù)設(shè)程序配置器5、窗口進(jìn)程關(guān)聯(lián)器6,優(yōu)先級(jí)隨動(dòng)器4與任務(wù)調(diào)度器1相連,主引擎2 包括存儲(chǔ)有第一閾值的閾值存儲(chǔ)器24,內(nèi)核信息探測(cè)器3檢測(cè)操作系統(tǒng)的進(jìn)程隊(duì)列和CPU 資源占用率并輸出至主引擎2,預(yù)設(shè)程序配置器5存儲(chǔ)用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè) 程序列表并輸出至主引擎2,窗口進(jìn)程關(guān)聯(lián)器6獲取當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?應(yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程并輸出至主引擎2,主引擎2在CPU資源 占用率大于第一閾值時(shí)將操作系統(tǒng)的進(jìn)程隊(duì)列中與預(yù)設(shè)程序配置器5和窗口進(jìn)程關(guān)聯(lián)器6 的輸出信息相匹配的進(jìn)程作為面向用戶(hù)感受進(jìn)程,并輸出控制命令至優(yōu)先級(jí)隨動(dòng)器4,優(yōu)先 級(jí)隨動(dòng)器4根據(jù)控制命令調(diào)節(jié)面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先級(jí)。本實(shí)施例中,閾值存儲(chǔ)器M還存儲(chǔ)有第二閾值,第二閾值比第一閾值大,任務(wù)調(diào) 度器1包括時(shí)間片重分配單元11和時(shí)間片隨動(dòng)開(kāi)關(guān)7,主引擎2通過(guò)時(shí)間片隨動(dòng)開(kāi)關(guān)7與 時(shí)間片重分配單元11相連,主引擎2在CPU資源占用率大于第二閾值時(shí)輸出開(kāi)啟信號(hào)至?xí)r 間片隨動(dòng)開(kāi)關(guān)7,時(shí)間片重分配單元11在時(shí)間片隨動(dòng)開(kāi)關(guān)7開(kāi)啟時(shí)增加面向用戶(hù)感受進(jìn)程 的時(shí)間片。本實(shí)施例基于kylin Linux實(shí)現(xiàn),任務(wù)調(diào)度器1為操作系統(tǒng)內(nèi)核層模塊,主引擎2、 預(yù)設(shè)程序配置器5、窗口進(jìn)程關(guān)聯(lián)器6通過(guò)操作系統(tǒng)用戶(hù)層模塊實(shí)現(xiàn),內(nèi)核信息探測(cè)器3、優(yōu) 先級(jí)隨動(dòng)器4、時(shí)間片隨動(dòng)開(kāi)關(guān)7通過(guò)操作系統(tǒng)內(nèi)核層模塊實(shí)現(xiàn),用戶(hù)層模塊和內(nèi)核層模塊 之間通過(guò)net 1 ink鏈路和socket接口進(jìn)行通信。本實(shí)施例中,通信鏈路可以采用過(guò)net 1 ink 鏈路和socket接口實(shí)現(xiàn),通信鏈路可以實(shí)現(xiàn)主引擎2和內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨動(dòng)器 4、時(shí)間片隨動(dòng)開(kāi)關(guān)7之間建立不依賴(lài)操作系統(tǒng)類(lèi)型的標(biāo)準(zhǔn)通信鏈路,有利于提高通信的效 率,從而進(jìn)一步提高面向用戶(hù)感受進(jìn)程的調(diào)度效率。主引擎2包括定時(shí)器21、進(jìn)程獲取模塊22和決策通信模塊23,進(jìn)程獲取模塊22 分別與定時(shí)器21、預(yù)設(shè)程序配置器5、窗口進(jìn)程關(guān)聯(lián)器6相連,決策通信模塊23通過(guò)通信鏈 路分別與內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨動(dòng)器4、時(shí)間片隨動(dòng)開(kāi)關(guān)7相連,進(jìn)程獲取模塊22由 定時(shí)器21觸發(fā)后根據(jù)預(yù)設(shè)程序配置器5和窗口進(jìn)程關(guān)聯(lián)器6輸出的信息獲取面向用戶(hù)感 受進(jìn)程,決策通信模塊23執(zhí)行CPU資源占用率的判定,并根據(jù)判定結(jié)果控制優(yōu)先級(jí)隨動(dòng)器4 的工作和時(shí)間片隨動(dòng)開(kāi)關(guān)7的開(kāi)啟狀態(tài)。決策通信模塊23和內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨 動(dòng)器4、時(shí)間片隨動(dòng)開(kāi)關(guān)7之間通過(guò)netlink鏈路和socket接口進(jìn)行通信,可以實(shí)現(xiàn)主引擎 2和內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨動(dòng)器4、時(shí)間片隨動(dòng)開(kāi)關(guān)7之間建立不依賴(lài)操作系統(tǒng)類(lèi)型的 標(biāo)準(zhǔn)通信鏈路,有利于提高通信的效率,從而進(jìn)一步提高面向用戶(hù)感受進(jìn)程的調(diào)度效率。
內(nèi)核信息探測(cè)器3是主引擎2進(jìn)行決策的信息源,它負(fù)責(zé)讀取內(nèi)核數(shù)據(jù)結(jié)構(gòu),獲取 對(duì)判斷系統(tǒng)繁忙狀態(tài)和對(duì)交互性影響程度有用的信息,本實(shí)施例中用于讀取CPU資源占用 率和操作系統(tǒng)的進(jìn)程隊(duì)列。此外還可以根據(jù)需要采集用戶(hù)進(jìn)程消耗的CPU的百分比、系統(tǒng) 進(jìn)程消耗的CPU的百分比等等,這些信息只在收到用戶(hù)層的主引擎2的請(qǐng)求時(shí)才進(jìn)行獲取 并發(fā)送給主引擎2。本實(shí)施例中,進(jìn)程獲取模塊22獲取面向用戶(hù)感受進(jìn)程時(shí),首先獲取進(jìn)程隊(duì)列中屬 于預(yù)設(shè)程序配置器5中預(yù)設(shè)程序列表的進(jìn)程,然后通過(guò)窗口進(jìn)程關(guān)聯(lián)器6獲取當(dāng)前處于用 戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程,上述獲得的 進(jìn)程即為面向用戶(hù)感受進(jìn)程。如圖3所示,進(jìn)程獲取模塊22首先讀取預(yù)設(shè)程序配置器5獲取預(yù)設(shè)程序列表,搜 索proc文件系統(tǒng)獲取正在運(yùn)行的預(yù)設(shè)程序的PID,獲取當(dāng)前處于用戶(hù)界面頂層窗口的程序 對(duì)應(yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗口的程序的PID,最后將上述獲得的PID相關(guān)的進(jìn)程作為面 向用戶(hù)感受進(jìn)程輸出至決策通信模塊23。預(yù)設(shè)程序配置器5和窗口進(jìn)程關(guān)聯(lián)器6是進(jìn)程 獲取模塊22獲取面向用戶(hù)感受進(jìn)程的信息源,它們運(yùn)行在用戶(hù)層。預(yù)設(shè)程序配置器5基于 配置文件實(shí)現(xiàn),用于設(shè)定用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列表,這些程序可工作在 非頂層窗口或是操作系統(tǒng)后臺(tái)、仍然影響用戶(hù)感受。通常情況下,在UNIX類(lèi)的操作系統(tǒng)中, 很難從窗口直接得到對(duì)應(yīng)其創(chuàng)建者進(jìn)程的PID,這是因?yàn)閁NIX操作系統(tǒng)的窗口子系統(tǒng)都使 用client/server的運(yùn)行架構(gòu),窗口的創(chuàng)建者(進(jìn)程)通過(guò)調(diào)用執(zhí)行者(X服務(wù))的服務(wù)進(jìn)行 窗口顯示,它們是松耦合的,利用socket進(jìn)行通信,因此創(chuàng)建者進(jìn)程和窗口之間沒(méi)有直接 關(guān)聯(lián)。為解決這個(gè)問(wèn)題,本發(fā)明的窗口進(jìn)程關(guān)聯(lián)器6基于圖形服務(wù)API實(shí)現(xiàn),在進(jìn)程調(diào)用建 立窗口的請(qǐng)求時(shí),同時(shí)將自己的PID作為一個(gè)窗口屬性附加在所建立的窗口及其所有子窗 口中,只要查詢(xún)到當(dāng)前屏幕頂層窗口 ID,就能通過(guò)屬性查詢(xún)的API得到其創(chuàng)建者的PID。優(yōu)先級(jí)隨動(dòng)器4和時(shí)間片隨動(dòng)開(kāi)關(guān)7都是主引擎2的執(zhí)行機(jī)構(gòu)。優(yōu)先級(jí)隨動(dòng)器4 在接收到主引擎2控制命令后,獲取控制命令中的指令和面向用戶(hù)感受進(jìn)程信息的PID。主 引擎2發(fā)送給優(yōu)先級(jí)隨動(dòng)器4的指令有兩種調(diào)整和恢復(fù)。本實(shí)施例中,當(dāng)CPU資源占用率 大于第一閾值時(shí),主引擎2判定系統(tǒng)繁忙,否則判定系統(tǒng)空閑。主引擎2判定系統(tǒng)繁忙時(shí), 則可能會(huì)導(dǎo)致進(jìn)程卡頓現(xiàn)象,主引擎2向優(yōu)先級(jí)隨動(dòng)器4發(fā)送“調(diào)整”指令,優(yōu)先級(jí)隨動(dòng)器4 在接到“調(diào)整”指令后首先保存這些受影響進(jìn)程的原始優(yōu)先級(jí),以便在接到“恢復(fù)”指令時(shí)復(fù) 原,“調(diào)整”指令會(huì)附加需要調(diào)整哪些進(jìn)程的優(yōu)先級(jí),其中包括需要優(yōu)先級(jí)提升的感興趣進(jìn) 程和需要降低優(yōu)先級(jí)的繁忙進(jìn)程。當(dāng)主引擎2判定系統(tǒng)空閑時(shí),則不會(huì)發(fā)生進(jìn)程卡頓現(xiàn)象, 主引擎2向優(yōu)先級(jí)隨動(dòng)器4發(fā)送“恢復(fù)”指令,恢復(fù)受影響進(jìn)程的原始優(yōu)先級(jí)。時(shí)間片隨動(dòng) 開(kāi)關(guān)7在接到主引擎的指令后,負(fù)責(zé)打開(kāi)或關(guān)閉附加到任務(wù)調(diào)度器1的時(shí)間片重分配功能, 打開(kāi)這一功能后,增加時(shí)間片的面向用戶(hù)感受進(jìn)程將能得到比正常狀態(tài)下廣3倍的CPU時(shí) 間,本實(shí)施例中為增加2倍時(shí)間片。如圖4所示,根據(jù)指令的不同,任務(wù)調(diào)度器1存在三種狀態(tài)原始調(diào)度狀態(tài)、優(yōu)先級(jí) 修正狀態(tài)、優(yōu)先級(jí)+時(shí)間片調(diào)整狀態(tài)。當(dāng)系統(tǒng)CPU資源占用率小于第一閾值時(shí),系統(tǒng)負(fù)載較 小,任務(wù)調(diào)度器1處于原始調(diào)度狀態(tài);當(dāng)進(jìn)CPU資源占用率大于第一閾值時(shí),主引擎2判定 系統(tǒng)負(fù)載較重,對(duì)用戶(hù)感受有一般性影響時(shí),任務(wù)調(diào)度器1轉(zhuǎn)入優(yōu)先級(jí)修正狀態(tài),其中進(jìn)程 的優(yōu)先級(jí)會(huì)由優(yōu)先級(jí)隨動(dòng)器4做出有利于面向用戶(hù)感受進(jìn)程的調(diào)整,具體調(diào)整措施包括提高面向用戶(hù)感受進(jìn)程的優(yōu)先級(jí)和降低其他進(jìn)程的優(yōu)先級(jí),此時(shí)若CPU資源占用率不大于第 一閾值時(shí),則主引擎2判定系統(tǒng)負(fù)載減輕、影響消除,則任務(wù)調(diào)度器1恢復(fù)到原始調(diào)度狀態(tài); 如果CPU資源占用率大于比第一閾值更大的第二閾值時(shí),則主引擎2判定系統(tǒng)負(fù)載過(guò)重,對(duì) 用戶(hù)感受影響很大,任務(wù)調(diào)度器1會(huì)直接從原始調(diào)度狀態(tài)切換到優(yōu)先級(jí)+時(shí)間片調(diào)整狀態(tài), 或者從優(yōu)先級(jí)修正狀態(tài)切換到優(yōu)先級(jí)+時(shí)間片調(diào)整狀態(tài),而這種狀態(tài)只能在主引擎判斷影 響消除后直接返回原始調(diào)度狀態(tài),不能再返回優(yōu)先級(jí)修正狀態(tài)。如圖5所示,Kylin Linux操作系統(tǒng)中任務(wù)調(diào)度器針對(duì)每個(gè)處理器有兩個(gè)運(yùn)行隊(duì) 列active隊(duì)列和expired隊(duì)列,active隊(duì)列為有剩余時(shí)間片的任務(wù)隊(duì)列,expired隊(duì) 列為已用完時(shí)間片的任務(wù)隊(duì)列。調(diào)度器只會(huì)將active隊(duì)列中的進(jìn)程調(diào)入CPU,當(dāng)一個(gè)進(jìn)程 的時(shí)間片耗完,調(diào)度器重新計(jì)算其時(shí)間片,并插入到expired隊(duì)列,當(dāng)active隊(duì)列中所 有進(jìn)程耗完時(shí)間片,交換指向active和expired隊(duì)列的指針,稱(chēng)為隊(duì)列輪轉(zhuǎn)。任務(wù)調(diào)度 器1的基本工作流程如下
1)保存當(dāng)前CPU當(dāng)前active隊(duì)列,對(duì)active隊(duì)列加鎖;
2)檢查當(dāng)前進(jìn)程的時(shí)間片是否為零。若是則重新分配時(shí)間片,并將其掛到expired 隊(duì)尾;
3)若整個(gè)active隊(duì)列中的進(jìn)程的時(shí)間片耗盡,進(jìn)行隊(duì)列輪轉(zhuǎn);
4)搜索active隊(duì)列,計(jì)算出每一個(gè)進(jìn)程的調(diào)度權(quán)值并與當(dāng)前進(jìn)程的調(diào)度權(quán)值相比 較,權(quán)值最高的進(jìn)程將獲取CPU ;
5)解鎖active隊(duì)列。如圖6所示,在增加面向用戶(hù)感受進(jìn)程的時(shí)間片前,在建立進(jìn)程時(shí)建立與該進(jìn)程 關(guān)聯(lián)并預(yù)置零值的計(jì)數(shù)器,當(dāng)每一個(gè)進(jìn)程的時(shí)間片耗盡后,判斷該進(jìn)程是否為面向用戶(hù)感 受進(jìn)程以及與該進(jìn)程關(guān)聯(lián)的計(jì)數(shù)器是否為零,如果上述條件同時(shí)滿足則執(zhí)行增加該進(jìn)程的 時(shí)間片并改變計(jì)數(shù)器值。增加的時(shí)間片為該進(jìn)程的當(dāng)前時(shí)間片的兩倍。本實(shí)施例中,建立 進(jìn)程時(shí)建立與該進(jìn)程關(guān)聯(lián)并預(yù)置零值的計(jì)數(shù)器count,當(dāng)前進(jìn)程的時(shí)間片耗盡后,判斷是否 為感興趣進(jìn)程并且對(duì)應(yīng)的count是否為0,若兩者都成立,則重新分配時(shí)間片后將進(jìn)程直接 放到active隊(duì)尾并將count加1,若為感興趣進(jìn)程但對(duì)應(yīng)的count非0,則重新分配時(shí)間片 后將進(jìn)程放到expired隊(duì)尾并將count歸0。如圖7所示,本發(fā)明實(shí)施例在操作系統(tǒng)中的工作過(guò)程如下操作系統(tǒng)啟動(dòng)后,位于 內(nèi)核層的任務(wù)調(diào)度器1、內(nèi)核信息探測(cè)器3、優(yōu)先級(jí)隨動(dòng)器4和時(shí)間片隨動(dòng)開(kāi)關(guān)7首先運(yùn)行, 其中任務(wù)調(diào)度器1處于原始調(diào)度狀態(tài),內(nèi)核信息探測(cè)器3監(jiān)聽(tīng)主引擎2發(fā)送的請(qǐng)求,優(yōu)先級(jí) 隨動(dòng)器4和時(shí)間片隨動(dòng)開(kāi)關(guān)7都處于“恢復(fù)”狀態(tài)并等待指令,內(nèi)核啟動(dòng)完畢后,主引擎2作 為系統(tǒng)服務(wù)啟動(dòng),和內(nèi)核各模塊握手建立通信,之后進(jìn)入監(jiān)控和決策循環(huán),直到操作系統(tǒng)停 機(jī),在主引擎2的循環(huán)運(yùn)行過(guò)程中,用戶(hù)可以通過(guò)干預(yù)的方式提示其配置文件已經(jīng)更新,需 要重新讀取,或是改變監(jiān)控的頻率和策略。以上僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例, 凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的 普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤(rùn)飾,應(yīng)視為本發(fā)明的保護(hù) 范圍。
權(quán)利要求
1.一種操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法,其特征在于其實(shí)施步驟如下1)設(shè)定第一閾值;2)判斷CPU資源占用率;定時(shí)獲取操作系統(tǒng)當(dāng)前的進(jìn)程隊(duì)列和CPU資源占用率,若CPU 資源占用率大于所述第一閾值時(shí),執(zhí)行步驟3);3)獲取面向用戶(hù)感受進(jìn)程;將當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸 入焦點(diǎn)窗口的程序所對(duì)應(yīng)的進(jìn)程作為面向用戶(hù)感受進(jìn)程;4)調(diào)節(jié)面向用戶(hù)感受進(jìn)程;提高所述面向用戶(hù)感受進(jìn)程在操作系統(tǒng)中的相對(duì)優(yōu)先級(jí)。
2.根據(jù)權(quán)利要求1所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法,其特征在 于所述步驟1)中還包括設(shè)定用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列表,所述步驟3)中 獲取面向用戶(hù)感受進(jìn)程時(shí),一并將當(dāng)前運(yùn)行并屬于所述預(yù)設(shè)程序列表的程序所對(duì)應(yīng)的進(jìn)程 作為面向用戶(hù)感受進(jìn)程。
3.根據(jù)權(quán)利要求1所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法,其特征在 于所述步驟1)中還包括設(shè)定第二閾值,所述第二閾值比第一閾值大,所述步驟2)判斷CPU 資源占用率時(shí),若CPU資源占用率大于所述第二閾值,則在所述步驟4)中增加所述面向用 戶(hù)感受進(jìn)程的時(shí)間片。
4.根據(jù)權(quán)利要求3所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法,其特征在 于所述增加面向用戶(hù)感受進(jìn)程的時(shí)間片時(shí),首先在建立進(jìn)程時(shí)建立與該進(jìn)程關(guān)聯(lián)并預(yù)置 零值的計(jì)數(shù)器,然后對(duì)操作系統(tǒng)中運(yùn)行的進(jìn)程進(jìn)行判斷,如果該進(jìn)程為面向用戶(hù)感受進(jìn)程 且與該進(jìn)程關(guān)聯(lián)的計(jì)數(shù)器為零,則執(zhí)行增加該進(jìn)程的時(shí)間片,并將所述計(jì)數(shù)器修改為非零 值。
5.根據(jù)權(quán)利要求4所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法,其特征在 于所述增加的時(shí)間片為所述面向用戶(hù)感受進(jìn)程的當(dāng)前時(shí)間片的廣3倍。
6.根據(jù)權(quán)利要求1 5中任意一項(xiàng)所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方 法,其特征在于所述步驟4)中提高面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先 級(jí)時(shí),首先保存受影響進(jìn)程的原始優(yōu)先級(jí),所述步驟2)中若CPU資源占用率小于第一閾值 時(shí),恢復(fù)受影響進(jìn)程的原始優(yōu)先級(jí)。
7.根據(jù)權(quán)利要求1 5中任意一項(xiàng)所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方 法,其特征在于所述步驟3)獲取面向用戶(hù)感受進(jìn)程時(shí),首先在初始化程序窗口時(shí)建立程 序窗口與程序進(jìn)程的窗口進(jìn)程關(guān)聯(lián)數(shù)據(jù)表,然后在獲取面向用戶(hù)感受進(jìn)程時(shí),通過(guò)查詢(xún)所 述窗口進(jìn)程關(guān)聯(lián)數(shù)據(jù)表得到處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗 口的程序所對(duì)應(yīng)的進(jìn)程。
8.一種操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置,包括任務(wù)調(diào)度器(1),其特征 在于它還包括主引擎(2)和分別與主引擎(2)相連的內(nèi)核信息探測(cè)器(3)、優(yōu)先級(jí)隨動(dòng)器 (4)、預(yù)設(shè)程序配置器(5)、窗口進(jìn)程關(guān)聯(lián)器(6),所述優(yōu)先級(jí)隨動(dòng)器(4)與任務(wù)調(diào)度器(1)相 連,所述主引擎(2)包括存儲(chǔ)有第一閾值的閾值存儲(chǔ)器(24),所述內(nèi)核信息探測(cè)器(3)檢測(cè) 操作系統(tǒng)的進(jìn)程隊(duì)列和CPU資源占用率并輸出至主引擎(2),所述預(yù)設(shè)程序配置器(5)存 儲(chǔ)用于與用戶(hù)進(jìn)行音視頻交互的預(yù)設(shè)程序列表并輸出至主引擎(2),所述窗口進(jìn)程關(guān)聯(lián)器 (6)獲取當(dāng)前處于用戶(hù)界面頂層窗口的程序?qū)?yīng)的進(jìn)程和擁有輸入焦點(diǎn)窗口的程序所對(duì)應(yīng) 的進(jìn)程并輸出至主引擎(2),所述主引擎(2)在CPU資源占用率大于第一閾值時(shí)將操作系統(tǒng)的進(jìn)程隊(duì)列中與預(yù)設(shè)程序配置器(5)和窗口進(jìn)程關(guān)聯(lián)器(6)的輸出信息相匹配的進(jìn)程作為 面向用戶(hù)感受進(jìn)程,并輸出控制命令至優(yōu)先級(jí)隨動(dòng)器(4),所述優(yōu)先級(jí)隨動(dòng)器(4)根據(jù)控制 命令調(diào)節(jié)面向用戶(hù)感受進(jìn)程在操作系統(tǒng)進(jìn)程隊(duì)列中的相對(duì)優(yōu)先級(jí)。
9.根據(jù)權(quán)利要求8所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置,其特征在 于所述閾值存儲(chǔ)器(24)還存儲(chǔ)有第二閾值,所述第二閾值比第一閾值大,所述任務(wù)調(diào)度 器(1)包括時(shí)間片重分配單元(11)和時(shí)間片隨動(dòng)開(kāi)關(guān)(7),所述主引擎(2)通過(guò)時(shí)間片隨 動(dòng)開(kāi)關(guān)(7)與時(shí)間片重分配單元(11)相連,所述主引擎(2)在CPU資源占用率大于第二閾 值時(shí)輸出開(kāi)啟信號(hào)至?xí)r間片隨動(dòng)開(kāi)關(guān)(7),所述時(shí)間片重分配單元(11)在時(shí)間片隨動(dòng)開(kāi)關(guān) (7)開(kāi)啟時(shí)增加面向用戶(hù)感受進(jìn)程的時(shí)間片。
10.根據(jù)權(quán)利要求9所述的操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度裝置,其特征在 于所述主引擎(2)包括定時(shí)器(21)、進(jìn)程獲取模塊(22)和決策通信模塊(23),所述進(jìn)程獲 取模塊(22)分別與定時(shí)器(21)、預(yù)設(shè)程序配置器(5)、窗口進(jìn)程關(guān)聯(lián)器(6)相連,所述決策 通信模塊(23 )通過(guò)通信鏈路分別與內(nèi)核信息探測(cè)器(3 )、優(yōu)先級(jí)隨動(dòng)器(4 )、時(shí)間片隨動(dòng)開(kāi) 關(guān)(7)相連,所述進(jìn)程獲取模塊(22)由定時(shí)器(21)觸發(fā)后根據(jù)預(yù)設(shè)程序配置器(5)和窗口 進(jìn)程關(guān)聯(lián)器(6)輸出的信息獲取面向用戶(hù)感受進(jìn)程,所述決策通信模塊(23)執(zhí)行CPU資源 占用率的判定,并根據(jù)判定結(jié)果控制優(yōu)先級(jí)隨動(dòng)器(4)的工作和時(shí)間片隨動(dòng)開(kāi)關(guān)(7)的開(kāi) 啟狀態(tài)。
全文摘要
本發(fā)明公開(kāi)了一種操作系統(tǒng)中防止用戶(hù)界面卡屏的進(jìn)程調(diào)度方法及裝置,所述方法的步驟包括1)設(shè)定第一閾值;2)判斷CPU資源占用率;操作系統(tǒng)當(dāng)前的CPU資源占用率大于所述第一閾值時(shí),執(zhí)行步驟3);3)獲取面向用戶(hù)感受進(jìn)程;將當(dāng)前處于用戶(hù)界面頂層窗口的程序、擁有輸入焦點(diǎn)窗口的程序、以及其它用戶(hù)關(guān)心程序所對(duì)應(yīng)的進(jìn)程作為面向用戶(hù)感受進(jìn)程;4)調(diào)節(jié)面向用戶(hù)感受進(jìn)程;提高面向用戶(hù)感受進(jìn)程在操作系統(tǒng)任務(wù)調(diào)度中的相對(duì)優(yōu)先級(jí)。所述裝置包括任務(wù)調(diào)度器(1)、主引擎(2)和分別與主引擎(2)相連的內(nèi)核信息探測(cè)器(3)、優(yōu)先級(jí)隨動(dòng)器(4)、預(yù)設(shè)程序配置器(5)、窗口進(jìn)程關(guān)聯(lián)器(6)。本發(fā)明具有用戶(hù)體驗(yàn)流暢、資源分配公平合理、軟件開(kāi)銷(xiāo)小、適用范圍廣的優(yōu)點(diǎn)。
文檔編號(hào)G06F9/48GK102073545SQ20111004762
公開(kāi)日2011年5月25日 申請(qǐng)日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者劉曉建, 孔金珠, 易曉東, 董攀, 顏躍進(jìn) 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1