[發明專利]一種靜態內存管理方法及裝置在審
| 申請號: | 202011602076.3 | 申請日: | 2020-12-30 |
| 公開(公告)號: | CN112650693A | 公開(公告)日: | 2021-04-13 |
| 發明(設計)人: | 張朋 | 申請(專利權)人: | 上海創功通訊技術有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06;G06F9/50 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 張燕 |
| 地址: | 201203 上海市浦東新區*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 靜態 內存 管理 方法 裝置 | ||
本發明公開了一種靜態內存管理方法及裝置,其中方法為:若待分配內存空間無空閑的目標內存塊,則將候選內存塊作為分配給所述待分配內存空間的內存塊;所述目標內存塊為堆內存的多個內存塊中不小于所述待分配內存空間的最小內存塊;所述候選內存塊為所述多個內存塊的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述候選內存塊的內存空間大于所述目標內存塊的內存空間;所述多個內存塊的內存空間為靜態空間;待所述目標內存塊空閑時,將所述候選內存塊中的數據拷貝至所述目標內存塊,并釋放所述候選內存塊。
技術領域
本發明涉及靜態內存管理技術領域,尤其涉及一種靜態內存管理方法及裝置。
背景技術
目前許多計算機處理系統會涉及到堆內存,堆內存由于可以動態地申請內存空間,所以經常會將堆內存切分多個小段內存。但隨著堆內存使用的次數增多,會出現堆內存的碎片化問題?,F有的方式是通過固定內存塊空間的管理方式管理堆內存。
具體來說,是由系統開發者首先統計常用大小的內存塊數據,只設置常用大小的內存塊,如128字節和512字節兩種常用的內存塊,等分配內存塊時只分配這兩種大小的內存塊。但這樣可能會出現堆內存浪費的情況。舉例來說,當申請120個字節大小的內存塊時,堆內存128字節的內存塊都已經被使用,只能將512字節的內存塊分配出去。顯然,這便會造成堆內存浪費。
發明內容
本發明提供一種靜態內存管理方法及裝置,解決了現有技術中堆內存浪費的問題。
第一方面,本發明提供一種靜態內存管理方法,包括:若待分配內存空間無空閑的目標內存塊,則將候選內存塊作為分配給所述待分配內存空間的內存塊;所述目標內存塊為堆內存的多個內存塊中不小于所述待分配內存空間的最小內存塊;所述候選內存塊為所述多個內存塊的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述候選內存塊的內存空間大于所述目標內存塊的內存空間;所述多個內存塊的內存空間為靜態空間;待所述目標內存塊空閑時,將所述候選內存塊中的數據拷貝至所述目標內存塊,并釋放所述候選內存塊。
上述方式下,若待分配內存空間無空閑的目標內存塊,只是暫時將候選內存塊作為分配給所述待分配內存空間的內存塊,從而暫時存儲所述待分配內存空間的數據,待所述目標內存塊空閑時,便將所述候選內存塊中的數據拷貝至所述目標內存塊,并及時釋放所述候選內存塊,從而不至于一直占用候選內存塊,節省了內存空間。
可選的,所述候選內存塊為第一候選內存塊或第二候選內存塊;所述第一候選內存塊為所述多個內存塊在第一時段的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述第二候選內存塊為所述多個內存塊在第二時段的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述第一候選內存塊的內存空間大于所述第二候選內存塊的內存空間;所述第一時段在所述第二時段之前;所述方法還包括:
在所述第二時段,將所述第一候選內存塊中的數據拷貝至所述第二候選內存塊,并釋放所述第一候選內存塊。
上述方法中,在第一時段,先用第一候選內存塊存儲所述待分配內存空間的數據,在第二時段有更小且足夠存儲所述待分配內存空間的內存塊,則將所述第一候選內存塊中的數據拷貝至所述第二候選內存塊,并釋放所述第一候選內存塊,從而按時間段存儲數據,在不同時間段最大化資源利用。
可選的,所述候選內存塊為第一候選內存塊;所述第一候選內存塊為所述多個內存塊在第一時段的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述目標內存塊為所述多個內存塊在第三時段的空閑內存塊中不小于所述待分配內存空間的最小內存塊;所述第一時段在所述第三時段之前;
所述待所述目標內存塊空閑時,將所述候選內存塊中的數據拷貝至所述目標內存塊,并釋放所述候選內存塊,包括:
在所述第三時段,將所述第一候選內存塊中的數據拷貝至所述目標內存塊,并釋放所述第一候選內存塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海創功通訊技術有限公司,未經上海創功通訊技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011602076.3/2.html,轉載請聲明來源鉆瓜專利網。





