本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于多核處理器的資源調(diào)度方法及裝置。
背景技術(shù):
隨著有線(xiàn)、無(wú)線(xiàn)網(wǎng)絡(luò)在嵌入式系統(tǒng)的日益深入,嵌入式應(yīng)用的安全性成為系統(tǒng)功能最重要的要求。在數(shù)據(jù)服務(wù)和支付應(yīng)用等嵌入式應(yīng)用中,安全性更是消費(fèi)者保護(hù)和商業(yè)價(jià)值內(nèi)容保護(hù)的強(qiáng)制性要求?,F(xiàn)有技術(shù)在CPU(Central Processing Unit,中央處理器)內(nèi)核的設(shè)計(jì)中集成系統(tǒng)安全性擴(kuò)展,是TrustZone-ARMv6內(nèi)核架構(gòu)下的重要擴(kuò)展特性之一,在對(duì)內(nèi)核的功耗、性能和硅片面積不產(chǎn)生大的影響前提下,TrustZone技術(shù)為設(shè)計(jì)具有高度安全性的嵌入式系統(tǒng)提供了堅(jiān)實(shí)的基礎(chǔ)。在一個(gè)具有八核CPU的系統(tǒng)下,普通區(qū)域與安全區(qū)域各占有一半的處理器內(nèi)核。現(xiàn)有技術(shù)方案的缺陷主要包括:
一、資源浪費(fèi):當(dāng)用戶(hù)由普通區(qū)域切換至安全區(qū)域時(shí),普通區(qū)域會(huì)使用較少的處理器資源,但是占用一半處理器內(nèi)核導(dǎo)致資源使用上的浪費(fèi),反之亦然。
二、分配方式不靈活:當(dāng)普通區(qū)域或安全區(qū)域過(guò)多使用處理器資源時(shí),處理器內(nèi)核的固定分配限制了處理器內(nèi)核的智能優(yōu)化使用,導(dǎo)致使用效率降低。
三、不方便監(jiān)控與管理:不能統(tǒng)一對(duì)CPU使用數(shù)據(jù)進(jìn)行收集、整理。
綜上可知,現(xiàn)有技術(shù)在實(shí)際使用上顯然存在不便與缺陷,所以有必要加以改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述的缺陷,本發(fā)明的目的在于提供一種基于多核處理器的資源調(diào)度方法及裝置,其能夠?qū)Σ煌瑓^(qū)域間的CPU資源的使用實(shí)現(xiàn)智能調(diào)度和控制,從而提高了CPU資源的使用效率。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于多核處理器的資源調(diào)度方法,應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述方法包括步驟有:
實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求;
根據(jù)所述當(dāng)前區(qū)域的所述CPU使用需求,為所述當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核。
根據(jù)本發(fā)明所述的資源調(diào)度方法,所述實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求的步驟之前包括:
當(dāng)運(yùn)行在第一區(qū)域時(shí),初始化一個(gè)父進(jìn)程,并為所述父進(jìn)程派生出多個(gè)子進(jìn)程,每個(gè)所述子進(jìn)程管理一個(gè)所述處理器內(nèi)核;
所述實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求的步驟包括:
實(shí)時(shí)檢測(cè)所述第一區(qū)域的第一CPU使用需求;
所述根據(jù)當(dāng)前區(qū)域的所述CPU使用需求,為所述當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核的步驟包括:
根據(jù)所述第一CPU使用需求,從所述父進(jìn)程中調(diào)度匹配數(shù)量的所述子進(jìn)程給所述第一區(qū)域。
根據(jù)本發(fā)明所述的資源調(diào)度方法,所述實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求的步驟包括:
當(dāng)從所述第一區(qū)域切換到第二區(qū)域時(shí),實(shí)時(shí)檢測(cè)所述第二區(qū)域的第二CPU使用需求;
所述根據(jù)當(dāng)前區(qū)域的所述CPU使用需求,為所述當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核的步驟包括:
根據(jù)所述第二CPU使用需求,從所述父進(jìn)程中調(diào)度匹配數(shù)量的所述子進(jìn)程給所述第二區(qū)域。
根據(jù)本發(fā)明所述的資源調(diào)度方法,所述根據(jù)當(dāng)前區(qū)域的所述CPU使用需求,為所述當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核的步驟還包括:
終止所述第一區(qū)域已調(diào)用的至少一個(gè)所述子進(jìn)程。
根據(jù)本發(fā)明所述的資源調(diào)度方法,所述系統(tǒng)為T(mén)rustZone系統(tǒng),所述區(qū)域包括相互隔離的安全區(qū)域和普通區(qū)域。
本發(fā)明還提供一種基于多核處理器的資源調(diào)度裝置,應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述資源調(diào)度裝置包括有:
CPU檢測(cè)模塊,用于實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求;
CPU調(diào)度模塊,用于根據(jù)所述當(dāng)前區(qū)域的所述CPU使用需求,為所述當(dāng)前 區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核。
根據(jù)本發(fā)明所述的資源調(diào)度裝置,還包括:
初始化模塊,用于當(dāng)運(yùn)行在第一區(qū)域時(shí),初始化一個(gè)父進(jìn)程,并為所述父進(jìn)程派生出多個(gè)子進(jìn)程,每個(gè)所述子進(jìn)程管理一個(gè)所述處理器內(nèi)核;
所述CPU檢測(cè)模塊包括:
第一檢測(cè)子模塊,用于實(shí)時(shí)檢測(cè)所述第一區(qū)域的第一CPU使用需求;
所述CPU調(diào)度模塊包括:
第一調(diào)度子模塊,用于根據(jù)所述第一CPU使用需求,從所述父進(jìn)程中調(diào)度匹配數(shù)量的所述子進(jìn)程給所述第一區(qū)域。
根據(jù)本發(fā)明所述的資源調(diào)度裝置,所述CPU檢測(cè)模塊包括:
第二檢測(cè)子模塊,用于當(dāng)從所述第一區(qū)域切換到第二區(qū)域時(shí),實(shí)時(shí)檢測(cè)所述第二區(qū)域的第二CPU使用需求;
所述CPU調(diào)度模塊包括:
第二調(diào)度子模塊,用于根據(jù)所述第二CPU使用需求,從所述父進(jìn)程中調(diào)度匹配數(shù)量的所述子進(jìn)程給所述第二區(qū)域。
根據(jù)本發(fā)明所述的資源調(diào)度裝置,所述CPU調(diào)度模塊還包括:
終止子模塊,用于終止所述第一區(qū)域已調(diào)用的至少一個(gè)所述子進(jìn)程。
根據(jù)本發(fā)明所述的資源調(diào)度裝置,所述系統(tǒng)為T(mén)rustZone系統(tǒng),所述區(qū)域包括相互隔離的安全區(qū)域和普通區(qū)域。
本發(fā)明提供基于多核處理器的資源調(diào)度技術(shù),實(shí)時(shí)檢測(cè)當(dāng)前區(qū)域的CPU使用需求,并根據(jù)所述CPU使用需求為當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核。借此,本發(fā)明能夠?qū)崟r(shí)監(jiān)控當(dāng)前區(qū)域的CPU使用狀況,并根據(jù)當(dāng)前區(qū)域的CPU使用狀況自由調(diào)度處理器內(nèi)核的占用數(shù)量,從而對(duì)不同區(qū)域間的CPU資源的使用實(shí)現(xiàn)智能調(diào)度和控制,提高了CPU資源的使用效率。本發(fā)明尤其適用于具有TrustZone系統(tǒng)的通信終端。
附圖說(shuō)明
圖1是本發(fā)明基于多核處理器的資源調(diào)度裝置的結(jié)構(gòu)示意圖;
圖2是本發(fā)明優(yōu)選基于多核處理器的資源調(diào)度裝置的結(jié)構(gòu)示意圖;
圖3是本發(fā)明基于多核處理器的資源調(diào)度方法的流程圖;
圖4是本發(fā)明第一實(shí)施例中基于多核處理器的資源調(diào)度方法的流程圖;
圖5是本發(fā)明第二實(shí)施例中基于多核處理器的資源調(diào)度方法的流程圖;
圖6是本發(fā)明第三實(shí)施例中基于多核處理器的資源調(diào)度方法的原理圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是本發(fā)明基于多核處理器的資源調(diào)度裝置的結(jié)構(gòu)示意圖,應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述通信終端包括手機(jī)、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、平板電腦等。優(yōu)選的是,所述系統(tǒng)為T(mén)rustZone系統(tǒng),所述區(qū)域包括相互隔離的安全區(qū)域和普通區(qū)域。所述資源調(diào)度裝置100至少包括有CPU檢測(cè)模塊10和CPU調(diào)度模塊20,其中:
CPU檢測(cè)模塊10,用于實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求。所述CPU使用需求優(yōu)選為當(dāng)前區(qū)域保證正常運(yùn)行所需的處理器內(nèi)核的數(shù)量,其中所述多核處理器可以包括2、4、8等任意個(gè)處理器內(nèi)核。優(yōu)選的是,所述當(dāng)前區(qū)域可以是安全區(qū)域或普通區(qū)域。
CPU調(diào)度模塊20,用于根據(jù)當(dāng)前區(qū)域的CPU使用需求,為當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核,以保證當(dāng)前區(qū)域能夠正常而高效運(yùn)行。
在本發(fā)明一具體實(shí)施例中,假設(shè)應(yīng)用程序有非校驗(yàn)的普通頁(yè)面,則被放在普通區(qū)域;若需校驗(yàn)的密碼輸入界面,則放在安全區(qū)域以保證密碼安全。且當(dāng)用戶(hù)從普通頁(yè)面進(jìn)入密碼輸入頁(yè)面時(shí),系統(tǒng)將從普通區(qū)域切換至安全區(qū)域。若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)普通頁(yè)面,且該普通頁(yè)面被放在普通區(qū)域。此時(shí),實(shí)時(shí)檢測(cè)正在運(yùn)行的普通區(qū)域的CPU使用需求,并根據(jù)普通區(qū)域的CPU使用需求,為普通區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核,例如普通區(qū)域正常運(yùn)行普通頁(yè)面需要6個(gè)處理器內(nèi)核,則分配6個(gè)處理器內(nèi)核給普通區(qū)域。或者,若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)密碼輸入界面,且該密碼輸入界面被放在安全區(qū)域。此時(shí),實(shí)時(shí)檢測(cè)正在運(yùn)行的安全區(qū)域的CPU使用需求,并根據(jù)安全區(qū)域的CPU使用需求,為安全區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核,例如安全區(qū)域正常運(yùn)行密碼輸入界面需要5個(gè)處理器內(nèi)核,則分配5個(gè)處理器內(nèi)核給普通區(qū)域。
本發(fā)明能夠?qū)^(qū)域間處理器內(nèi)核的使用實(shí)現(xiàn)智能調(diào)度和控制,具體有點(diǎn)包括:在普通區(qū)域與安全區(qū)域中間加入一中間件—資源調(diào)度裝置100,用來(lái)實(shí)時(shí)監(jiān)測(cè)當(dāng)前域的CPU使用狀況,并根據(jù)CPU使用狀況自由擴(kuò)展或減少對(duì)CPU的占用。CPU資源的合理利用;不需對(duì)每一處理器內(nèi)核進(jìn)行監(jiān)控,只需給資源調(diào)度裝置100發(fā)布指令,資源調(diào)度裝置100統(tǒng)一檢測(cè)和記錄CPU使用情況,并自動(dòng)調(diào)度資源,一旦出現(xiàn)問(wèn)題,可直接上報(bào)。
圖2是本發(fā)明優(yōu)選基于多核處理器的資源調(diào)度裝置的結(jié)構(gòu)示意圖,應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述通信終端包括手機(jī)、PDA、平板電腦等,優(yōu)選的是,所述系統(tǒng)為T(mén)rustZone系統(tǒng),所述區(qū)域包括相互隔離的安全區(qū)域和普通區(qū)域。所述資源調(diào)度裝置100包括有CPU檢測(cè)模塊10、CPU調(diào)度模塊20和/或初始化模塊30,其中:
初始化模塊30,用于當(dāng)運(yùn)行在第一區(qū)域時(shí),初始化一個(gè)父進(jìn)程,并為父進(jìn)程派生出多個(gè)子進(jìn)程,每個(gè)子進(jìn)程管理一個(gè)處理器內(nèi)核。所述第一區(qū)域優(yōu)選為普通區(qū)域或安全區(qū)域。例如,若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)普通頁(yè)面,且該普通頁(yè)面被放在普通區(qū)域,此時(shí)運(yùn)行普通區(qū)域。
所述CPU檢測(cè)模塊10包括:
第一檢測(cè)子模塊11,用于實(shí)時(shí)檢測(cè)第一區(qū)域的第一CPU使用需求。
例如,普通區(qū)域正常運(yùn)行普通頁(yè)面需要6個(gè)處理器內(nèi)核,則第一CPU使用需求為6個(gè)處理器內(nèi)核。
CPU調(diào)度模塊20包括:則分配6個(gè)處理器內(nèi)核給普通區(qū)域
第一調(diào)度子模塊21,用于根據(jù)第一CPU使用需求,從父進(jìn)程中調(diào)度匹配數(shù)量的子進(jìn)程給第一區(qū)域。
例如,第一CPU使用需求為6個(gè)處理器內(nèi)核,則從父進(jìn)程中調(diào)度6個(gè)子進(jìn)程給第一區(qū)域,此時(shí)第一區(qū)域可占用6個(gè)處理器內(nèi)核。
優(yōu)選的是,所述CPU檢測(cè)模塊10包括:
第二檢測(cè)子模塊12,用于當(dāng)從第一區(qū)域切換到第二區(qū)域時(shí),實(shí)時(shí)檢測(cè)第二區(qū)域的第二CPU使用需求。所述第二區(qū)域優(yōu)選為安全區(qū)域或普通區(qū)域。例如,當(dāng)用戶(hù)從普通頁(yè)面進(jìn)入密碼輸入頁(yè)面時(shí),系統(tǒng)將從普通區(qū)域切換至安全區(qū)域,安全區(qū)域正常運(yùn)行密碼輸入頁(yè)面需要5個(gè)處理器內(nèi)核,則第二CPU使用需求為5個(gè)處理器內(nèi)核。
所述CPU調(diào)度模塊20包括:
第二調(diào)度子模塊22,用于根據(jù)第二CPU使用需求,從父進(jìn)程中調(diào)度匹配數(shù)量的子進(jìn)程給第二區(qū)域。
例如,第二CPU使用需求為5個(gè)處理器內(nèi)核,則從父進(jìn)程中調(diào)度5個(gè)子進(jìn)程給第一區(qū)域,此時(shí)第一區(qū)域可占用5個(gè)處理器內(nèi)核。
更好的是,CPU調(diào)度模塊20還包括:
終止子模塊23,用于終止第一區(qū)域已調(diào)用的至少一個(gè)子進(jìn)程。
由于第一區(qū)域不再運(yùn)行,因此對(duì)CPU的需求量減少,則終止第一區(qū)域中至少一個(gè)子進(jìn)程來(lái)減少對(duì)CPU的開(kāi)銷(xiāo),達(dá)到自由調(diào)度和節(jié)省資源的目的。
圖3是本發(fā)明基于多核處理器的資源調(diào)度方法的流程圖,所述方法通過(guò)如圖1或圖2所示的資源調(diào)度裝置100實(shí)現(xiàn),應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述方法包括步驟有:
步驟S301,實(shí)時(shí)檢測(cè)正在運(yùn)行的當(dāng)前區(qū)域的CPU使用需求。
所述CPU使用需求優(yōu)選為當(dāng)前區(qū)域保證正常運(yùn)行所需的處理器內(nèi)核的數(shù)量,其中所述多核處理器可以包括2、4、8等任意個(gè)處理器內(nèi)核。優(yōu)選的是,所述當(dāng)前區(qū)域可以是安全區(qū)域或普通區(qū)域。
步驟S302,根據(jù)當(dāng)前區(qū)域的CPU使用需求,為當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核。
優(yōu)選的是,所述系統(tǒng)為T(mén)rustZone系統(tǒng),所述區(qū)域包括相互隔離的安全區(qū)域和普通區(qū)域。在本發(fā)明一具體實(shí)施例中,假設(shè)應(yīng)用程序有非校驗(yàn)的普通頁(yè)面,則被放在普通區(qū)域;若需校驗(yàn)的密碼輸入界面,則放在安全區(qū)域以保證密碼安全。且當(dāng)用戶(hù)從普通頁(yè)面進(jìn)入密碼輸入頁(yè)面時(shí),系統(tǒng)將從普通區(qū)域切換至安全區(qū)域。若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)普通頁(yè)面,且該普通頁(yè)面被放在普通區(qū)域。此時(shí),實(shí)時(shí)檢測(cè)正在運(yùn)行的普通區(qū)域的CPU使用需求,并根據(jù)普通區(qū)域的CPU使用需求,為普通區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核,例如普通區(qū)域正常運(yùn)行普通頁(yè)面需要6個(gè)處理器內(nèi)核,則分配6個(gè)處理器內(nèi)核給普通區(qū)域。或者,若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)密碼輸入界面,且該密碼輸入界面被放在安全區(qū)域。此時(shí),實(shí)時(shí)檢測(cè)正在運(yùn)行的安全區(qū)域的CPU使用需求,并根據(jù)安全區(qū)域的CPU使用需求,為安全區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核,例如安全區(qū)域正常運(yùn)行密碼輸入界面需要5個(gè)處理器內(nèi)核,則分配5個(gè)處理器內(nèi)核給普 通區(qū)域。
圖4是本發(fā)明第一實(shí)施例中基于多核處理器的資源調(diào)度方法的流程圖,所述方法通過(guò)如圖2所示的資源調(diào)度裝置100實(shí)現(xiàn),應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述方法包括步驟有:
步驟S401,當(dāng)運(yùn)行在第一區(qū)域時(shí),初始化一個(gè)父進(jìn)程,并為父進(jìn)程派生出多個(gè)子進(jìn)程,每個(gè)子進(jìn)程管理一個(gè)處理器內(nèi)核。
所述第一區(qū)域優(yōu)選為普通區(qū)域或安全區(qū)域。例如,若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)普通頁(yè)面,且該普通頁(yè)面被放在普通區(qū)域,此時(shí)運(yùn)行普通區(qū)域。
步驟S402,實(shí)時(shí)檢測(cè)第一區(qū)域的第一CPU使用需求。
例如,普通區(qū)域正常運(yùn)行普通頁(yè)面需要6個(gè)處理器內(nèi)核,則第一CPU使用需求為6個(gè)處理器內(nèi)核。
步驟S403,根據(jù)第一CPU使用需求,從父進(jìn)程中調(diào)度匹配數(shù)量的子進(jìn)程給第一區(qū)域。
例如,第一CPU使用需求為6個(gè)處理器內(nèi)核,則從父進(jìn)程中調(diào)度6個(gè)子進(jìn)程給第一區(qū)域,此時(shí)第一區(qū)域可占用6個(gè)處理器內(nèi)核。
圖5是本發(fā)明第二實(shí)施例中基于多核處理器的資源調(diào)度方法的流程圖,所述方法通過(guò)如圖2所示的資源調(diào)度裝置100實(shí)現(xiàn),應(yīng)用于包括系統(tǒng)和至少兩個(gè)區(qū)域的通信終端中,所述方法包括步驟有:
步驟S501,當(dāng)運(yùn)行在第一區(qū)域時(shí),初始化一個(gè)父進(jìn)程,并為父進(jìn)程派生出多個(gè)子進(jìn)程,每個(gè)子進(jìn)程管理一個(gè)處理器內(nèi)核。
所述第一區(qū)域優(yōu)選為普通區(qū)域或安全區(qū)域。例如,若用戶(hù)運(yùn)行一個(gè)應(yīng)用程序時(shí)進(jìn)入一個(gè)普通頁(yè)面,且該普通頁(yè)面被放在普通區(qū)域,此時(shí)運(yùn)行普通區(qū)域。
步驟S502,實(shí)時(shí)檢測(cè)第一區(qū)域的第一CPU使用需求。
例如,普通區(qū)域正常運(yùn)行普通頁(yè)面需要6個(gè)處理器內(nèi)核,則第一CPU使用需求為6個(gè)處理器內(nèi)核。
步驟S503,根據(jù)第一CPU使用需求,從父進(jìn)程中調(diào)度匹配數(shù)量的子進(jìn)程給第一區(qū)域。
例如,第一CPU使用需求為6個(gè)處理器內(nèi)核,則從父進(jìn)程中調(diào)度6個(gè)子進(jìn)程給第一區(qū)域,此時(shí)第一區(qū)域可占用6個(gè)處理器內(nèi)核。
步驟S504,當(dāng)從第一區(qū)域切換到第二區(qū)域時(shí),實(shí)時(shí)檢測(cè)第二區(qū)域的第二CPU 使用需求。
所述第二區(qū)域優(yōu)選為安全區(qū)域或普通區(qū)域。例如,當(dāng)用戶(hù)從普通頁(yè)面進(jìn)入密碼輸入頁(yè)面時(shí),系統(tǒng)將從普通區(qū)域切換至安全區(qū)域,安全區(qū)域正常運(yùn)行密碼輸入頁(yè)面需要5個(gè)處理器內(nèi)核,則第二CPU使用需求為5個(gè)處理器內(nèi)核。
步驟S505,根據(jù)第二CPU使用需求,從父進(jìn)程中調(diào)度匹配數(shù)量的子進(jìn)程給第二區(qū)域。
例如,第二CPU使用需求為5個(gè)處理器內(nèi)核,則從父進(jìn)程中調(diào)度5個(gè)子進(jìn)程給第一區(qū)域,此時(shí)第一區(qū)域可占用5個(gè)處理器內(nèi)核。
步驟S506,終止第一區(qū)域已調(diào)用的至少一個(gè)子進(jìn)程。
由于第一區(qū)域不再運(yùn)行,因此對(duì)CPU的需求量減少,則終止第一區(qū)域中至少一個(gè)子進(jìn)程來(lái)減少對(duì)CPU的開(kāi)銷(xiāo),達(dá)到自由調(diào)度和節(jié)省資源的目的。
圖6是本發(fā)明第三實(shí)施例中基于多核處理器的資源調(diào)度方法的原理圖,應(yīng)用于具有多核處理器的通信終端,該通信終端具有TrustZone系統(tǒng)、普通區(qū)域、安全區(qū)域和資源調(diào)度裝置100,所述TrustZone系統(tǒng)分別連接普通區(qū)域、安全區(qū)域和資源調(diào)度裝置100。
假設(shè)APP(Application,應(yīng)用程序)有非校驗(yàn)的普通頁(yè)面,則被放在普通區(qū)域;若需校驗(yàn)的密碼輸入界面,則放在安全區(qū)域以保證密碼安全。當(dāng)用戶(hù)從普通頁(yè)面進(jìn)入密碼輸入頁(yè)面時(shí),系統(tǒng)將從普通區(qū)域切換至安全區(qū)域。
1、用戶(hù)運(yùn)行一個(gè)APP,進(jìn)入一個(gè)普通頁(yè)面,它會(huì)通知TrustZone系統(tǒng)若加載該普通頁(yè)面,需更多的處理器內(nèi)核。
2、TrustZone系統(tǒng)調(diào)用資源調(diào)度裝置100,初始化一個(gè)父進(jìn)程,并派生出子進(jìn)程,每個(gè)子進(jìn)程將調(diào)用一處理器內(nèi)核,根據(jù)頁(yè)面需求調(diào)用適當(dāng)數(shù)量的處理器內(nèi)核。
3、資源調(diào)度裝置100對(duì)普通區(qū)域的CPU的使用狀況進(jìn)行監(jiān)控,隨著用戶(hù)瀏覽頁(yè)面的使用情況,資源調(diào)度裝置100會(huì)自動(dòng)調(diào)整CPU的增加或減少。
4、當(dāng)APP在某一個(gè)普通頁(yè)面彈出輸入密碼的對(duì)話(huà)框時(shí),普通頁(yè)面被隱藏在后臺(tái),由于涉及到密碼安全,TrustZone系統(tǒng)將自動(dòng)從普通區(qū)域切換至安全區(qū)域。
5、安全區(qū)域通知TrustZone系統(tǒng)若加載該密碼校驗(yàn)頁(yè)面,需更多的處理器內(nèi)核。
6、TrustZone系統(tǒng)將調(diào)用資源調(diào)度裝置100,從已經(jīng)初始化的父進(jìn)程中派生 新的子進(jìn)程來(lái)調(diào)用新的處理器內(nèi)核。若當(dāng)前CPU的子進(jìn)程已經(jīng)全部被占用,需先終止普通系統(tǒng)的至少一個(gè)子進(jìn)程后再調(diào)用空閑狀態(tài)的新子進(jìn)程,若子進(jìn)程未全部被占用,則可直接調(diào)用空閑狀態(tài)的新子進(jìn)程。
7、由于普通頁(yè)面被隱藏在后臺(tái),對(duì)CPU資源的需求量減少,資源調(diào)度裝置100將終止其中至少一個(gè)子進(jìn)程來(lái)減少對(duì)CPU資源的開(kāi)銷(xiāo),達(dá)到自由調(diào)度和節(jié)省資源的目的。
8、若由安全區(qū)域切換至普通區(qū)域,資源調(diào)度裝置100自動(dòng)控制減少安全區(qū)域使用的處理器內(nèi)核,并增加普通區(qū)域的處理器內(nèi)核。
綜上所述,本發(fā)明提供基于多核處理器的資源調(diào)度技術(shù),實(shí)時(shí)檢測(cè)當(dāng)前區(qū)域的CPU使用需求,并根據(jù)所述CPU使用需求為當(dāng)前區(qū)域調(diào)度匹配數(shù)量的處理器內(nèi)核。借此,本發(fā)明能夠?qū)崟r(shí)監(jiān)控當(dāng)前區(qū)域的CPU使用狀況,并根據(jù)當(dāng)前區(qū)域的CPU使用狀況自由調(diào)度處理器內(nèi)核的占用數(shù)量,從而對(duì)不同區(qū)域間的CPU資源的使用實(shí)現(xiàn)智能調(diào)度和控制,提高了CPU資源的使用效率。本發(fā)明尤其適用于具有TrustZone系統(tǒng)的通信終端。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。