在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端的制作方法
【專利摘要】本發(fā)明公開了一種在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端,其中,該方法包括:獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量;根據(jù)各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核,以處理各個OS的工作。本發(fā)明在獲取了各個OS的工作量后,能夠確定哪一個OS當(dāng)前的工作量較大,哪一個OS當(dāng)前的工作量較小,然后根據(jù)工作量的情況,將不同的CPU核分配給不同的OS處理工作,合理的分配和利用了CPU核,不需要所有的CPU核同時工作,合理的利用了系統(tǒng)資源,解決了多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行存在一定的資源浪費,且耗費較多電量的問題。
【專利說明】
在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及通訊領(lǐng)域,特別是涉及一種在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端。
【背景技術(shù)】
[0002]在一臺智能終端同時運行多個獨立的系統(tǒng),智能終端具有多核CPU (CentralProcessing Unit,中央處理器),且不同的核的頻率有可能不同,在系統(tǒng)運行時,通常是把多核CPU作為一個整體按時間片給各個系統(tǒng)調(diào)度,例如,現(xiàn)有的4核手機和8核手機等,都是作為一個整體按時間片給各個系統(tǒng)調(diào)度,各個CPU核都在同時處理某一個系統(tǒng)的工作。
[0003]然而,把多核CPU作為一個整體,按時間片分配給各個操作系統(tǒng),不能很好的做到多個OS (Operating System,操作系統(tǒng))和CPU核對應(yīng)的隔離,同時,多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行也存在一定的資源浪費,且耗費較多電量。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端,以至少解決現(xiàn)有技術(shù)中,多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行存在一定的資源浪費,且耗費較多電量的問題。
[0005]—方面,本發(fā)明提供一種在多系統(tǒng)中分配多核中央處理器的方法,包括:獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量;根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核,以處理所述各個OS的工作。
[0006]進一步,根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的中央處理器CPU核包括:將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進行排序;按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。
[0007]進一步,根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的中央處理器CPU核包括:為所述多個OS設(shè)置不同的優(yōu)先級;確定是否存在具有相同工作量的OS ;在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核。
[0008]進一步,確定是否存在具有相同工作量的OS之后,還包括包括:在不存在具有相同工作量的OS情況下,按照工作量大小分配CPU核。
[0009]進一步,所述方法還包括:在分配一個CPU核無法完成對應(yīng)OS工作的情況下,再為所述OS繼續(xù)分配一個具有相應(yīng)處理能力的CPU核。
[0010]另一方面,本發(fā)明還提供了一種在多系統(tǒng)中分配多核中央處理器的裝置,包括:獲取模塊,用于獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量;分配模塊,用于根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核,以處理所述各個OS的工作。
[0011]進一步,所述分配模塊包括:排序單元,用于將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進行排序;第一分配單元,用于按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。
[0012]進一步,所述分配模塊包括:設(shè)置單元,用于為所述多個OS設(shè)置不同的優(yōu)先級;確定單元,用于確定是否存在具有相同工作量的OS;第二分配單元,用于在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核。
[0013]進一步,所述分配模塊還包括:第三分配單元,用于在不存在具有相同工作量的OS情況下,按照工作量大小分配CPU核。
[0014]又一方面,本發(fā)明還提供了一種終端,包括:上述任一項的在多系統(tǒng)中分配多核中央處理器的裝置。
[0015]本發(fā)明在獲取了各個OS的工作量后,能夠確定哪一個OS當(dāng)前的工作量較大,哪一個OS當(dāng)前的工作量較小,然后根據(jù)工作量的情況,將不同的CPU核分配給不同的OS處理工作,合理的分配和利用了 CPU核,不需要所有的CPU核同時工作,合理的利用了系統(tǒng)資源,解決了多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行存在一定的資源浪費,且耗費較多電量的問題。
【附圖說明】
[0016]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0017]圖1是本發(fā)明實施例中在多系統(tǒng)中分配多核中央處理器的方法的流程圖;
[0018]圖2是本發(fā)明實施例中在多系統(tǒng)中分配多核中央處理器的裝置的結(jié)構(gòu)示意圖;
[0019]圖3是本發(fā)明實施例中在多系統(tǒng)中分配多核中央處理器的裝置的第一結(jié)構(gòu)示意圖;
[0020]圖4是本發(fā)明實施例中在多系統(tǒng)中分配多核中央處理器的裝置的第二結(jié)構(gòu)示意圖;
[0021]圖5是本發(fā)明優(yōu)選實施例一中多系統(tǒng)多核CPU運行框架示意圖。
【具體實施方式】
[0022]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0023]為了解決現(xiàn)有技術(shù)中,多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行存在一定的資源浪費,且耗費較多電量的問題,本發(fā)明提供了一種在多系統(tǒng)中分配多核中央處理器的方法、裝置及終端,以下結(jié)合附圖以及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0024]本發(fā)明實施例提供了一種在多系統(tǒng)中分配多核中央處理器的方法,其流程如圖1所示,包括步驟S102至S104:
[0025]S102,獲取多個OS中各個OS當(dāng)前的工作量。
[0026]該過程的實現(xiàn)通??梢允峭ㄟ^虛擬層來執(zhí)行的,虛擬層可以為各個OS都分配一個虛擬CPU核,該虛擬CPU核實際的作用就是統(tǒng)計各個OS工作量,本實施例中稱其為虛擬CPU核,本領(lǐng)域技術(shù)人員在設(shè)計時,只要能夠?qū)崿F(xiàn)統(tǒng)計工作量的功能即可。
[0027]S104,根據(jù)各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核,以處理各個OS的工作。
[0028]在實現(xiàn)的過程中,CPU核的個數(shù)可能會比系統(tǒng)個數(shù)多,例如4核雙系統(tǒng)智能終端,則如果為某兩個OS分別分配一個CPU核就能夠完成對應(yīng)的工作量,其余兩個CPU核就不需要工作;如果CPU核的個數(shù)和系統(tǒng)個數(shù)相同,例如,雙核雙系統(tǒng)智能終端,則當(dāng)只有一個系統(tǒng)工作,且工作的系統(tǒng)運行工作量較小時,采用一個較小的CPU核就能完成其工作,則處理能力較強的CPU核不需要工作。
[0029]本發(fā)明實施例,在獲取了各個OS的工作量后,能夠確定哪一個OS當(dāng)前的工作量較大,哪一個OS當(dāng)前的工作量較小,然后根據(jù)工作量的情況,將不同的CPU核分配給不同的OS處理工作,合理的分配和利用了 CPU核,不需要所有的CPU核同時工作,合理的利用了系統(tǒng)資源,解決了多核CPU作為一個整體同時運行,在性能需求較低時,多核CPU同時運行存在一定的資源浪費,且耗費較多電量的問題。
[0030]實現(xiàn)時,根據(jù)OS的工作量情況分配CPU核,例如,可以僅根據(jù)工作量來分配CPU核,也可以設(shè)置其他輔助參數(shù)和工作量來共同分配CPU核。
[0031]當(dāng)僅根據(jù)工作量來分配CPU核時,可以將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進行排序,再按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。此種分配方式下,CPU核能充分發(fā)揮自己的能力,在一個CPU核就能完某一 OS工作量的情況下,其他未被分配的CPU核不進行工作,節(jié)省系統(tǒng)資源,也降低了耗電量。
[0032]當(dāng)設(shè)置其他輔助參數(shù)和工作量來共同分配CPU核時,可以更加精確地分配CPU核。例如,將輔助參數(shù)設(shè)置為多個OS中各OS的優(yōu)先級,則先需要為多個OS設(shè)置不同的優(yōu)先級。其中,OS的優(yōu)先級可以在終端出廠時就進行設(shè)置,例如,當(dāng)終端的系統(tǒng)分為普通系統(tǒng)和安全系統(tǒng)時,則可以設(shè)置安全系統(tǒng)的優(yōu)先級級別高于普通系統(tǒng),則在處理時,頻率較高的CPU核可以分配給安全系統(tǒng);os的優(yōu)先級也可以設(shè)置為終端的系統(tǒng)設(shè)置,用戶根據(jù)需求設(shè)置不同OS的優(yōu)先級。
[0033]在設(shè)置了優(yōu)先級后,確定是否存在具有相同工作量(也可以是工作量區(qū)間)的OS,并在OS工作量的大小不相同情況下,按照工作量大小分配CPU核,在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核。
[0034]在上述方法實現(xiàn)的過程中,如果某一個OS的工作量較大,為其分配的一個CPU核無法完成其對應(yīng)工作的情況下,再為所述OS繼續(xù)分配一個具有相應(yīng)處理能力的CPU核。
[0035]本發(fā)明實施例還提供了一種在多系統(tǒng)中分配多核中央處理器的裝置,該裝置的結(jié)構(gòu)示意如圖2所示,包括:獲取模塊10,用于獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量;分配模塊20,與獲取模塊10耦合,用于根據(jù)各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核,以處理各個OS的工作。
[0036]圖3示出了上述裝置中分配模塊20的結(jié)構(gòu)示意圖,其包括:排序單元201,用于將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進行排序;第一分配單元202,與排序單元201耦合,用于按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。
[0037]在圖2的基礎(chǔ)上,分配模塊20還可以如圖4所示,包括:設(shè)置單元203,用于為所述多個OS設(shè)置不同的優(yōu)先級;確定單元204,與設(shè)置單元203耦合,用于確定是否存在具有相同工作量的OS;第二分配單元205,與確定單元204耦合,用于在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核;第三分配單元206,與確定單元204耦合,用于在不存在具有相同工作量的OS情況下,按照工作量大小分配CPU核。
[0038]在一個優(yōu)選的過程中,分配模塊,還用于在分配一個CPU核無法完成對應(yīng)OS工作的情況下,再為所述OS繼續(xù)分配一個具有相應(yīng)處理能力的CPU核。
[0039]本發(fā)明實施例還提供了一種終端,其包括上述的在多系統(tǒng)中分配多核中央處理器的裝置。本領(lǐng)域技術(shù)人員根據(jù)上述記載的內(nèi)容知曉如何將上述在多系統(tǒng)中分配多核中央處理器的裝置集成設(shè)置在終端中,此處不再贅述。
[0040]優(yōu)選實施例一
[0041]現(xiàn)有技術(shù)中,多核CPU作為一個整體同時運行,在性能需求較低時,多CPU核同時運行存在一定的資源浪費,且耗費較多電量?;谏鲜鰡栴},本發(fā)明實施例提供了一種在多系統(tǒng)中分配多核中央處理器的方法,在本實施例中,由虛擬層統(tǒng)一控制CPU核的分配,此虛擬層用于控制,為了方便理解,本實施例中將其提煉出來,以虛擬層的形式呈現(xiàn),多系統(tǒng)多核CPU運行框架示意圖如圖5所示,存在兩個CPU核和兩個OS。
[0042]各OS運行工作量的大小和CPU核不同核頻率的動態(tài)對應(yīng)分配由虛擬層執(zhí)行,如OSl工作量比較小,CPU核I頻率較低,而0S2工作量較大,CPU核2頻率較高,則虛擬層將CPU核I分配給OSl,將CPU核2分配給0S2,OS工作量變化時,根據(jù)工作量大小,動態(tài)調(diào)整。
[0043]例如,終端上具有兩個OS,OSl為正常系統(tǒng),0S2為安全系統(tǒng),只處理一些安全要求級別高的工作,一般情況下,由于0S2只處理安全級別較高的工作,工作較少,而OSl正常系統(tǒng)使用時各種工作都需要處理,工作較多,故虛擬層在進行CPU核分配時,將頻率較低的(PU核分配給0S2,頻率較高的CPU核分配給OSl。但是當(dāng)用戶在正常系統(tǒng)OSl中處理完事件后,切換進入0S2中時,OSl進入待機狀態(tài),此時OSl基本沒工作,而0S2處理安全事件,工作量上升,此時虛擬層將頻率較高的(PU核分配給0S2。利用本實施例提供的方法,能夠充分利用不同頻率CPU核的性能。
[0044]本發(fā)明實施例提出的上述方法中,能根據(jù)各OS運行工作量的大小和CPU核不同核頻率的高低來分配CPU核,如OSl工作量比較小,第一 CPU核頻率較低,則OSl運行在第一CPU核上,而0S2工作量較大,第二 CPU核頻率較高,則0S2運行在第二 CPU核上,各OS工作量變化時,根據(jù)工作量大小,動態(tài)分配CPU核,充分利用不同頻率CPU核性能,根據(jù)工作量分配后,如CPU核尚有閑余,則剩下的CPU核可以暫時處于不工作狀態(tài),節(jié)省電量等資源。
[0045]優(yōu)選實施例二
[0046]本發(fā)明實施例提供了一種在多系統(tǒng)中分配多核中央處理器的方法,該方法控制的終端包括四個CPU核和兩個OS,CPU核I和CPU核2的頻率為1.2GHz,CPU核3和CPU核4的頻率為2.0GHz, OSl和0S2為兩個各自獨立的系統(tǒng)。
[0047]當(dāng)系統(tǒng)運行時,OSl為前臺正在運行的系統(tǒng),0S2為后臺運行的系統(tǒng),OSl當(dāng)前的工作量較大,0S2當(dāng)前的工作量較小,因此,為OSl分配一個2.0GHz的CPU核,為0S2分配一個1.2GHz的CPU核即可,則另兩個CPU核暫不使用。隨著OSl系統(tǒng)工作量增加,一個2.0GHz的CPU核已經(jīng)無法滿足其處理工作的需求時,再根據(jù)其當(dāng)下的工作需求,繼續(xù)為OSl分配一個 2.0GHz 的 CPU 核或 1.2GHz 的 CPU 核。
[0048]當(dāng)系統(tǒng)進行切換。0S2切換為前臺運行的系統(tǒng)時,OSl則轉(zhuǎn)換為后臺運行的系統(tǒng),此時,0S2處理的工作變多,OSl處理的工作變少,則為OSl分配頻率較小的1.2GHz的CPU核即可,此時,由于0S2處理的工作變多,需要為其分配處理能力較強的CPU核,則可以在
1.2GHz的CPU核基礎(chǔ)上再分配其他CPU核,也可以直接將當(dāng)前處理能力較小的1.2GHz的CPU核替換掉,換成處理能力較強的2.0GHz的CPU核。
[0049]本實施例根據(jù)OS工作量的大小來給不同OS分配相匹配頻率的CPU核,OS工作量變化時,根據(jù)工作量大小,動態(tài)調(diào)整,充分利用CPU核的性能,達(dá)到合理調(diào)度CPU核的效果。
[0050]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1.一種在多系統(tǒng)中分配多核中央處理器的方法,其特征在于,包括: 獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量; 根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的中央處理器CPU核,以處理所述各個OS的工作。2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核包括: 將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進行排序; 按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的CPU核包括: 為所述多個OS設(shè)置不同的優(yōu)先級; 確定是否存在具有相同工作量的OS ; 在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核。4.如權(quán)利要求3所述的方法,其特征在于,確定是否存在具有相同工作量的OS之后,還包括: 在不存在具有相同工作量的OS情況下,按照工作量大小分配CPU核。5.如權(quán)利要求1至4中任一項所述的方法,其特征在于,所述方法還包括: 在分配一個CPU核無法完成對應(yīng)OS工作的情況下,再為所述OS繼續(xù)分配一個具有相應(yīng)處理能力的CPU核。6.一種在多系統(tǒng)中分配多核中央處理器的裝置,其特征在于,包括: 獲取模塊,用于獲取多個操作系統(tǒng)OS中各個OS當(dāng)前的工作量; 分配模塊,用于根據(jù)所述各個OS當(dāng)前的工作量的大小,分配具有相應(yīng)處理能力的中央處理器CPU核,以處理所述各個OS的工作。7.如權(quán)利要求6所述的裝置,其特征在于,所述分配模塊包括: 排序單元,用于將所述多個OS按照工作量的大小進行排序,將多個CPU核按照頻率的大小進彳丁排序; 第一分配單元,用于按照CPU核頻率由大到小的順序,將CPU核依次分給按工作量由大到小排序后的各OS。8.如權(quán)利要求6所述的裝置,其特征在于,所述分配模塊包括: 設(shè)置單元,用于為所述多個OS設(shè)置不同的優(yōu)先級; 確定單元,用于確定是否存在具有相同工作量的OS ; 第二分配單元,用于在存在具有相同工作量的OS情況下,按照所述優(yōu)先級分配CPU核。9.如權(quán)利要求8所述的裝置,其特征在于,所述分配模塊還包括: 第三分配單元,用于在不存在具有相同工作量的OS情況下,按照工作量大小分配CPU核。10.一種終端,其特征在于,包括:權(quán)利要求6至9中任一項所述的在多系統(tǒng)中分配多核中央處理器的裝置。
【文檔編號】G06F9/50GK106033374SQ201510111882
【公開日】2016年10月19日
【申請日】2015年3月13日
【發(fā)明人】尹德益, 葉瑞權(quán)
【申請人】西安酷派軟件科技有限公司