[發(fā)明專利]一種內(nèi)存管理方法及裝置在審
| 申請?zhí)枺?/td> | 201610430335.6 | 申請日: | 2016-06-16 |
| 公開(公告)號: | CN107515785A | 公開(公告)日: | 2017-12-26 |
| 發(fā)明(設(shè)計(jì))人: | 笪禹 | 申請(專利權(quán))人: | 大唐移動(dòng)通信設(shè)備有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京同達(dá)信恒知識產(chǎn)權(quán)代理有限公司11291 | 代理人: | 劉醒晗 |
| 地址: | 100083*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 管理 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種內(nèi)存管理方法及裝置。
背景技術(shù)
隨著多核處理器的快速發(fā)展,基于對稱多處理(Symmetric Multi-Processing,SMP)的軟件并行處理架構(gòu)已經(jīng)逐步推廣應(yīng)用。在SMP系統(tǒng)中,并發(fā)執(zhí)行性能直接影響系統(tǒng)整體性能,而頻繁的內(nèi)存申請和釋放以及基于內(nèi)存的消息通信是大型軟件中影響性能的關(guān)鍵因素,因此,如何有效提升SMP系統(tǒng)下的內(nèi)存管理效率成為重要問題。
已有的內(nèi)存資源管理方案中,內(nèi)存塊是以鏈表方式管理的,如果多個(gè)任務(wù)同時(shí)操作一個(gè)鏈表,則需要進(jìn)行互斥操作,以避免資源沖突。其中,一個(gè)任務(wù)可視為一個(gè)進(jìn)程或線程。
對于單CPU,其內(nèi)存資源需要在該CPU上運(yùn)行的多任務(wù)之間互斥;對于SMP系統(tǒng),其多CPU之間的共享內(nèi)存池需要在多CPU上的任務(wù)之間互斥。但是,互斥操作會(huì)導(dǎo)致得不到內(nèi)存互斥鎖的任務(wù)進(jìn)入阻塞狀態(tài),因而會(huì)影響系統(tǒng)的并發(fā)處理效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種內(nèi)存管理方法及裝置,用以在內(nèi)存資源管理時(shí)減少內(nèi)存互斥鎖的使用。
本發(fā)明實(shí)施例提供的內(nèi)存管理方法,包括:
接收第一任務(wù)發(fā)送的內(nèi)存資源分配請求;
判斷所述第一任務(wù)的私有內(nèi)存資源池中的空閑內(nèi)存資源容量是否大于或等于所述內(nèi)存資源分配請求所請求分配的內(nèi)存資源大小;
若是,則從所述第一任務(wù)的私有內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配;否則,從共享內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配。
本發(fā)明實(shí)施例提供的內(nèi)存管理裝置,包括:
接收單元,用于接收第一任務(wù)發(fā)送的內(nèi)存資源分配請求;
判斷單元,用于判斷所述第一任務(wù)的私有內(nèi)存資源池中的空閑內(nèi)存資源容量是否大于或等于所述內(nèi)存資源分配請求所請求分配的內(nèi)存資源大小;
分配單元,用于在所述判斷單元判定為是時(shí),從所述第一任務(wù)的私有內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配;在所述判斷單元判定為否時(shí),從共享內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配。
本發(fā)明的上述實(shí)施例中,接收第一任務(wù)發(fā)送的內(nèi)存資源分配請求后,判斷所述第一任務(wù)的私有內(nèi)存資源池中的空閑內(nèi)存資源容量是否大于或等于所述內(nèi)存資源分配請求所請求分配的內(nèi)存資源大小,若是,則從所述第一任務(wù)的私有內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配;否則,從共享內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配。可以看出,由于針對一個(gè)任務(wù)創(chuàng)建了該任務(wù)的私有內(nèi)存資源池,在內(nèi)存資源分配時(shí),優(yōu)先從私有內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配,在私有內(nèi)存資源池中的內(nèi)存資源容量不能滿足內(nèi)置資源分配請求的情況下,才從共享內(nèi)存資源池中獲取內(nèi)存資源進(jìn)行分配。由于不同的任務(wù)的私有內(nèi)存資源池之間以及與共享內(nèi)存資源池之間不會(huì)存在資源沖突,所以在分配的資源來自于私有內(nèi)存資源池的情況下無需使用內(nèi)存互斥鎖也能避免資源沖突,因此與現(xiàn)有技術(shù)相比,減少了內(nèi)存互斥鎖的使用。
附圖說明
圖1為本發(fā)明實(shí)施例的內(nèi)存資源管理的整體方案流程示意圖之一
圖2為本發(fā)明實(shí)施例中的空閑資源池示意圖;
圖3為本發(fā)明實(shí)施例提供的回收資源池的創(chuàng)建流程示意圖;
圖4為本發(fā)明實(shí)施例的內(nèi)存資源管理的整體方案流程示意圖之二;
圖5為本發(fā)明實(shí)施例提供的內(nèi)存資源釋放流程示意圖;
圖6為本發(fā)明實(shí)施例提供的內(nèi)存資源回收整理的流程示意圖;
圖7為本發(fā)明實(shí)施例提供的內(nèi)存資源管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例可適用于單CPU系統(tǒng),也可適用于多CPU系統(tǒng)。使用本發(fā)明實(shí)施例,可以減少內(nèi)存互斥鎖的使用,進(jìn)而提高SMP系統(tǒng)的并發(fā)處理效率。
下面結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
參見圖1,為本發(fā)明實(shí)施例的內(nèi)存資源管理的整體方案流程示意圖,該流程可由用于實(shí)現(xiàn)內(nèi)存資源管理的裝置(以下稱為內(nèi)存資源管理裝置)來實(shí)現(xiàn)。如圖所示,該路程可包括如下步驟:
步驟101:接收第一任務(wù)發(fā)送的內(nèi)存資源分配請求。
該內(nèi)存資源分配請求可用于請求分配第一任務(wù)使用的內(nèi)存資源,比如,該內(nèi)存資源可以是用于緩存第一任務(wù)運(yùn)行過程中的中間數(shù)據(jù)的內(nèi)存塊;也可用于請求分配第一任務(wù)與第二任務(wù)交互時(shí)所需的內(nèi)存資源,比如,該內(nèi)存資源可以是用于緩存第一任務(wù)和第二任務(wù)之間交互的控制信息和/或數(shù)的內(nèi)存塊。
其中,一個(gè)任務(wù)可以對應(yīng)于一個(gè)應(yīng)用程序,更具體地,一個(gè)任務(wù)可以是一個(gè)進(jìn)程,也可以是一個(gè)線程。其中,進(jìn)程或線程是指運(yùn)行態(tài)的應(yīng)用程序或應(yīng)用組件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于大唐移動(dòng)通信設(shè)備有限公司,未經(jīng)大唐移動(dòng)通信設(shè)備有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610430335.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





