[發明專利]自適應動態內存管理方法無效
| 申請號: | 01118873.1 | 申請日: | 2001-06-28 |
| 公開(公告)號: | CN1393780A | 公開(公告)日: | 2003-01-29 |
| 發明(設計)人: | 朱英明 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06 |
| 代理公司: | 北京集佳專利商標事務所 | 代理人: | 逯長明 |
| 地址: | 518057 廣東省深圳市科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 自適應 動態 內存 管理 方法 | ||
本發明涉及一種內存管理方法,尤其涉及數據通信設備中的內存管理方法。
在各種數據通信設備中,內存空間按不同字節數分成多種分片,各種分片的長度即字節數包括32字節、64字節、128字節、256字節、512字節、1024字節、2048字節、4096字節等類型。設備運行中對各種類型的內存的需求不斷變化。為了高速地進行內存的申請、釋放等操作,對于同一種內存的申請通常采取成批申請的方式,即在系統的編譯時決定各種分片的數目,進入運行過程后,這種數目將無法根據實際需要進行動態調整。例如,我們憑經驗估計某種設備通常情況下對于32字節的內存分片大約需要5萬片即可,于是在系統初始化時,一次性申請能夠存放5萬片32字節的內存區用于存取。在系統運行過程中,當需要申請32字節的內存時,便從此內存區中取一片空閑的32字節內存分片來使用,如果內存區中已沒有空閑的內存分片,則系統將返回申請失敗提示,即使此時其它種類的內存區中還有很多空閑的內存空間。這種固定分配的內存管理方法雖然容易實現,但在使用中,對空閑的內存資源無法充分利用,造成浪費。
本發明的目的在于:針對現有技術中的不足,提供一種自適應動態內存管理方法,對各種分片類型的內存,在運行過程中根據實際需要動態分配,使內存資源充分利用。
為達到上述目的,本發明采用的技術方案是:一種自適應動態內存管理方法,對內存空間依各種分片的字節數劃分不同種類型的頁面簇,以頁面簇為單位從占整個內存空間一定比例的空閑內存區中分配以供申請,每個頁面簇中至少包含一個頁面,每個頁面的長度能容納一個字節數最大的分片,在同一種類型的頁面簇中,所有頁面中的分片的字節數相同,當申請某種字節數的內存時,包括下述步驟:
A、檢查該種字節數分片類型的頁面簇中是否有空閑分片,如果有,轉步驟E;如果無,繼續步驟B;
B、判斷空閑內存區占整個內存空間的比例是否小于等于設定值,如果是,轉步驟D;如果否,執行步驟C;
C、從空閑內存區中劃分出一個相應類型的頁面簇,轉步驟E;
D、從其他類型的頁面簇中找出所有分片均處于空閑的頁面簇,將其改變為所需類型的頁面簇;繼續步驟E;
E、從頁面簇中分配分片。
由于本發明采用了以上技術方案,將內存空間以頁面簇為單位分配以供申請,頁面簇中包含頁面,而每個頁面的長度能容納一個字節數最大的分片,實際運行中,當某種類型的頁面簇中的所有分片都被占用,而用戶又申請這種類型的分片時,就可以通過兩種途徑解決:(1)從空閑的內存空間中劃分出所需類型的頁面簇,再分配其中的分片;??(2)從其他類型的頁面簇中找出其中各分片均處于空閑的頁面簇,改變其類型,即將其中分片的長度改變為所需類型,再進行分配。由于較大的分片長度是比它小的各種分片長度的整數倍,而每個頁面的長度能容納一個字節數最大的分片,頁面簇又由頁面組成,所以各種類型的頁面簇均可以相互轉換。通過對頁面簇的劃分和相互轉換,實現了內存空間的動態管理,只要有空閑就不拒絕申請,使內存資源得以充分利用。
下面結合實施例對本發明的技術方案作進一步說明。
本發明技術方案的核心就是對內存空間作出新的劃分,使用戶對內存的申請和釋放在劃分后的區間進行,而這種新的劃分使不同類型的區間可以相互轉換,這樣一來,對各種類型的內存就不必預留固定的數量,在運行中按照申請動態分配。
當申請某種字節數的內存時包括下述步驟:
A、檢查該種字節數分片類型的頁面簇中是否有空閑分片,如果有,轉步驟E;如果無,繼續步驟B;
B、判斷空閑內存區占整個內存空間的比例是否小于等于設定值,如果是,轉步驟D;如果否,執行步驟C;
C、從空閑內存區中劃分出一個相應類型的頁面簇,轉步驟E;
D、從其他類型的頁面簇中找出所有分片均處于空閑的頁面簇,將其改變為所需類型的頁面簇;繼續步驟E;
E、從頁面簇中分配分片。
從空閑內存區中取待用內存是以頁面簇為單位,而申請內存是以分片為單位,步驟A的作用就是每次申請時檢查是否有同類型的分片在相應頁面簇中尚未被申請。如果有,直接分配分片;如果無,就需要再取一個這種類型的頁面簇。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/01118873.1/2.html,轉載請聲明來源鉆瓜專利網。





