[發明專利]內存碎片管理系統及方法有效
| 申請號: | 201710119705.9 | 申請日: | 2017-03-02 |
| 公開(公告)號: | CN108536609B | 公開(公告)日: | 2022-02-22 |
| 發明(設計)人: | 何三波 | 申請(專利權)人: | 邁普通信技術股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 成都虹橋專利事務所(普通合伙) 51124 | 代理人: | 吳中偉 |
| 地址: | 610041 四川省*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 碎片 管理 系統 方法 | ||
1.內存碎片管理系統,其特征在于,包括:
管理模塊,用于生成內存管理任務;以及為用戶模塊提供內存分配接口函數,在所述內存分配接口函數中增加一個參數-用戶內存回收處理回調函數;
檢測模塊,用于在內存管理任務啟動時,檢測用戶模塊所分配的內存塊中是否存在孤立塊,并判斷所述孤立塊是否需要被釋放,若需要被釋放,則通知管理模塊調用該孤立塊對應的用戶內存回收處理回調函數;
用戶模塊,用于在進行內存分配時,在所分配內存中指定用戶內存回收處理回調函數;以及在用戶內存回收處理回調函數被調用后,重新分配一塊內存保存孤立塊中的數據,并將對孤立塊內存的引用修改為對所述新分配的內存的引用,然后釋放孤立塊。
2.如權利要求1所述的內存碎片管理系統,其特征在于,所述用戶模塊還用于,在進行內存分配時,判斷分配的內存小于一定閾值且內存中的數據在系統運行過程中可以搬移時,才在所分配內存中指定用戶內存回收處理函數。
3.如權利要求1所述的內存碎片管理系統,其特征在于,所述在所分配內存中指定用戶內存回收處理函數的方法為:
在所分配內存的管理頭部新開辟一個字段用于保存用戶內存回收處理函數。
4.如權利要求1所述的內存碎片管理系統,其特征在于,所述檢測模塊檢測用戶模塊所分配的內存塊中是否存在孤立塊,并判斷所述孤立塊是否需要被釋放的方法為:
若檢測到某個已分配的內存塊隔離了前后兩個空閑內存塊,則判定該已分配的內存塊為孤立塊,若孤立塊所隔離的前后兩個空閑內存塊的大小之和為孤立塊大小的n倍以上,則判定該孤立塊需要被釋放。
5.如權利要求1所述的內存碎片管理系統,其特征在于,所述用戶模塊還用于,在重新分配內存時,緊鄰著已分配的大塊內存后分配一塊新的內存保存孤立塊中的數據。
6.內存碎片管理方法,其特征在于,包括以下步驟:
a.在進行內存分配時,在所分配內存中指定用戶內存回收處理回調函數;
b.在內存管理任務啟動時,檢測所分配的內存塊中是否存在孤立塊,并判斷所述孤立塊是否需要被釋放,若需要被釋放,則調用該孤立塊對應的用戶內存回收處理回調函數;
c.在用戶內存回收處理回調函數被調用后,重新分配一塊內存保存孤立塊中的數據,并將對孤立塊內存的引用修改為對所述新分配的內存的引用,然后釋放孤立塊。
7.如權利要求6所述的內存碎片管理方法,其特征在于,步驟a中,在進行內存分配時,判斷分配的內存小于一定閾值且內存中的數據在系統運行過程中可以搬移時,才在所分配內存中指定用戶內存回收處理函數。
8.如權利要求6所述的內存碎片管理方法,其特征在于,所述在所分配內存中指定用戶內存回收處理函數的方法為:
在所分配內存的管理頭部新開辟一個字段用于保存用戶內存回收處理函數。
9.如權利要求6所述的內存碎片管理方法,其特征在于,步驟b中,檢測所分配的內存塊中是否存在孤立塊,并判斷所述孤立塊是否需要被釋放的方法為:
若檢測到某個已分配的內存塊隔離了前后兩個空閑內存塊,則判定該已分配的內存塊為孤立塊,若孤立塊所隔離的前后兩個空閑內存塊的大小之和為孤立塊大小的n倍以上,則判定該孤立塊需要被釋放。
10.如權利要求6所述的內存碎片管理方法,其特征在于,步驟c中,在重新分配內存時,緊鄰著已分配的大塊內存后分配一塊新的內存保存孤立塊中的數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于邁普通信技術股份有限公司,未經邁普通信技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710119705.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:頁面版本測試方法及裝置
- 下一篇:管理裝置、信息處理裝置以及管理方法





