[發明專利]堆內存管理方法、裝置、可讀存儲介質及電子設備有效
| 申請號: | 202011508383.5 | 申請日: | 2020-12-18 |
| 公開(公告)號: | CN112667152B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 孫成思;孫日欣;胡偉;高嵊昊 | 申請(專利權)人: | 成都佰維存儲科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 深圳市博銳專利事務所 44275 | 代理人: | 張鵬 |
| 地址: | 610000 四川省成都市高新*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 管理 方法 裝置 可讀 存儲 介質 電子設備 | ||
1.一種堆內存管理方法,其特征在于,包括步驟:
建立連續比特位查詢表;
根據待管理的堆內存大小,建立索引位圖,所述索引位圖每一比特位的初始值為第一標識;
接收堆內存分配請求,根據所述連續比特位查詢表、所述索引位圖和請求分配的堆內存的大小,確定與所述請求分配的堆內存的大小匹配的堆內存的地址,并用第二標識標記所述請求分配的堆內存的地址對應的索引位圖比特位;
所述第一標識與所述第二標識不同;
所述根據待管理的堆內存大小,建立索引位圖包括:
設置所述索引位圖中一個比特位對應的預設內存大小,根據所述待管理的堆內存大小和所述預設內存大小,計算所述索引位圖的字節數,根據所述字節數建立所述索引位圖;
所述根據所述連續比特位查詢表、所述索引位圖和請求分配的堆內存的大小,確定與所述請求分配的堆內存的大小匹配的堆內存的地址包括:
將所述請求分配的堆內存的大小按照所述預設內存大小取整,計算所述請求分配的堆內存的大小需要的連續比特位數量,根據所述連續比特位查詢表,判斷所述索引位圖選擇的當前字節中是否存在值為所述第一標識的目標連續比特位的連續比特位數量滿足所述需要的連續比特位數量,若是,則獲取所述目標連續比特位,若否,則對所述索引位圖的下一字節進行上述判斷,直至找到滿足所述需要的連續比特位數量的目標連續比特位,根據所述目標連續比特位確定與所述堆內存的大小匹配的堆內存的地址;
所述連續比特位查詢表包括低位連續比特位數量、高位連續比特位數量和中間連續最大比特位數量;
所述低位連續比特位數量為待查詢的預設長度的比特數組中從低比特位開始為所述第一標識的連續比特位數量;
所述高位連續比特位數量為待查詢的預設長度的比特數組中從高比特位開始為所述第一標識的連續比特位數量;
所述中間連續最大比特位數量為待查詢的預設長度的比特數組中兩端為所述第二標識、中間為所述第一標識的比特塊中所述第一標識的最大連續比特位數量;
所述判斷所述索引位圖選擇的當前字節中是否存在值為所述第一標識的目標連續比特位的連續比特位數量滿足所述需要的連續比特位數量包括:
判斷上一字節中所述高位連續比特位數量加當前字節中所述低位連續比特位數量是否大于或者等于所述需要的連續比特位數量,當當前字節為所述索引位圖的第一個字節時,所述上一字節中所述高位連續比特位數量的值為零,若大于或者等于,則確定存在值為所述第一標識的目標連續比特位的連續比特位數量滿足所述需要的連續比特位數量,若小于,則判斷當前字節中是否全為所述第一標識;
若是,則將上一字節中所述高位連續比特位數量加八,進入下一字節,并返回執行判斷上一字節中所述高位連續比特位數量加當前字節中所述低位連續比特位數量是否大于或者等于所述需要的連續比特位數量操作,若否,則判斷當前字節中所述中間連續最大比特位數量是否大于或者等于所述需要的連續比特位數量;
若大于或者等于,則確定存在值為所述第一標識的目標連續比特位的連續比特位數量滿足所述需要的連續比特位數量,若小于,則判斷當前字節中所述高位連續比特位數量是否大于或者等于所述需要的連續比特位數量;
若大于或者等于,則確定存在值為所述第一標識的目標連續比特位的連續比特位數量滿足所述需要的連續比特位數量,若小于,則進入下一字節,返回執行判斷上一字節中所述高位連續比特位數量加當前字節中所述低位連續比特位數量是否大于或者等于所述需要的連續比特位數量操作,直至找到滿足所述需要的連續比特位數量的目標連續比特位。
2.根據權利要求1所述的一種堆內存管理方法,其特征在于,所述獲取所述目標連續比特位包括:
獲取所述目標連續比特位的高位地址比特位位置以及所述目標連續比特位的比特位數量;
所述根據所述目標連續比特位確定與所述請求分配的堆內存的大小匹配的堆內存的地址包括:
根據所述目標連續比特位的高位地址比特位位置、所述目標連續比特位數量和所述預設內存大小確定與所述堆內存的大小匹配的堆內存的地址:
與所述請求分配的堆內存的大小匹配的堆內存的地址=堆內存的起始地址+(查詢到的連續比特位的高位地址比特位位置-查詢到的連續比特位數量)*預設內存大小。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都佰維存儲科技有限公司,未經成都佰維存儲科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011508383.5/1.html,轉載請聲明來源鉆瓜專利網。





