[發明專利]內存管理方法、內存申請和釋放方法及裝置有效
| 申請號: | 201710399661.X | 申請日: | 2017-05-31 |
| 公開(公告)號: | CN107220127B | 公開(公告)日: | 2020-12-01 |
| 發明(設計)人: | 侯磊 | 申請(專利權)人: | 合肥東芯通信股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 230088 安徽省合肥*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 管理 方法 申請 釋放 裝置 | ||
1.一種內存管理方法,其特征在于,預先將主內存池中的內存塊劃分為多個內存塊組,每個內存塊組包含設定數量的內存塊;該方法包括:
當接收到任務進程發送的內存請求信息時,將一個空閑的內存塊組分配到所述任務進程創建的子內存池,使所述子內存池為所述任務進程分配內存塊;
當接收到所述任務進程創建的釋放內存池釋放的內存塊時,將所述釋放內存池釋放的內存塊釋放到所述主內存池中;
當再次接收到所述任務進程發送的內存請求信息時,再次將一個空閑的內存塊組分配到所述任務進程創建的子內存池。
2.一種內存申請和釋放方法,其特征在于,包括:
創建子內存池和釋放內存池,同時向主內存池發送內存請求信息;其中,所述子內存池和所述釋放內存池能夠容納相同數量的內存塊,并且所述子內存池和所述釋放內存池能夠容納的內存塊數量,與所述主內存池中的內存塊組包含的內存塊數量相同;
向所述子內存池申請內存塊;
當釋放占用的內存塊時,將所述占用的內存塊釋放到所述釋放內存池;
當所述釋放內存池已滿時,將所述釋放內存池包含的所有內存塊釋放到所述主內存池。
3.根據權利要求2所述的方法,其特征在于,該方法還包括:
當所述子內存池中的內存塊已申請完畢時,再次向所述主內存池發送內存請求信息。
4.根據權利要求2所述的方法,其特征在于,所述子內存池中的內存塊均包含索引值;在向所述子內存池申請內存塊后,將所申請的內存塊的索引值置為非0數值;當釋放所申請的內存塊時,將所釋放的內存塊的索引值置為0。
5.一種內存管理裝置,其特征在于,包括:
預處理單元,用于將主內存池中的內存塊劃分為多個內存塊組,每個內存塊組包含設定數量的內存塊;
分配單元,用于當接收到任務進程發送的內存請求信息時,將一個空閑的內存塊組分配到所述任務進程創建的子內存池,使所述子內存池為所述任務進程分配內存塊;當再次接收到所述任務進程發送的內存請求信息時,再次將一個空閑的內存塊組分配到所述任務進程創建的子內存池;
釋放單元,用于當接收到所述任務進程創建的釋放內存池釋放的內存塊時,將所述釋放內存池釋放的內存塊釋放到所述主內存池中。
6.一種內存申請和釋放裝置,其特征在于,包括:
第一申請單元,用于創建子內存池和釋放內存池,同時向主內存池發送內存請求信息;其中,所述子內存池和所述釋放內存池能夠容納相同數量的內存塊,并且所述子內存池和所述釋放內存池能夠容納的內存塊數量,與所述主內存池中的內存塊組包含的內存塊數量相同;
第二申請單元,用于向所述子內存池申請內存塊;
釋放處理單元,用于當釋放占用的內存塊時,將所述占用的內存塊釋放到所述釋放內存池;當所述釋放內存池已滿時,將所述釋放內存池包含的所有內存塊釋放到所述主內存池。
7.根據權利要求6所述的裝置,其特征在于,所述第一申請單元還用于:
當所述子內存池中的內存塊已申請完畢時,再次向所述主內存池發送內存請求信息。
8.根據權利要求6所述的裝置,其特征在于,所述子內存池中的內存塊均包含索引值;當所述第二申請單元向所述子內存池申請內存塊后,將所申請的內存塊的索引值置為非0數值;當所述釋放處理單元釋放所申請的內存塊時,將所釋放的內存塊的索引值置為0。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于合肥東芯通信股份有限公司,未經合肥東芯通信股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710399661.X/1.html,轉載請聲明來源鉆瓜專利網。





