[發明專利]一種嵌入式系統內存管理方法有效
| 申請號: | 201711379808.5 | 申請日: | 2017-12-20 |
| 公開(公告)號: | CN108121603B | 公開(公告)日: | 2021-11-02 |
| 發明(設計)人: | 劉東棟 | 申請(專利權)人: | 安徽皖通郵電股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京科億知識產權代理事務所(普通合伙) 11350 | 代理人: | 湯東鳳 |
| 地址: | 230000 *** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 嵌入式 系統 內存 管理 方法 | ||
一種嵌入式系統內存管理方法,可解決嵌入式系統應用中申請大量小片內存導致內存碎片化和申請效率降低下的問題。包括如下步驟:集中申請、集中釋放;通過配置生成一個內存緩沖池,防止管理結構直接從動態內存中去申請小塊內存;對批量內存池采用隊列化的管理;對程序異常導致的內存壞塊做了容錯處理,對被破壞的內存塊進行隔離。通過本發明可以有效克服傳統的內存方法無法避免的內存碎片和內存申請效率問題,具有很好的容錯性能,使得程序的運行更加健壯穩定。
技術領域
本發明涉及嵌入式操作系統的內存管理技術領域,具體涉及一種嵌入式系統內存管理方法。
背景技術
對于嵌入式系統中常見的實地址模式(實際的地址和物理地址是一一對應的關系)下的內存管理目前有很多方法,常見內存分配方法及優缺點如下:
(1)首次適應方法。VxWorks操作系統采用這種分配方法。使用該方法進行內存分配時,從空閑分區鏈首開始查找,直至找到一個能滿足其大小需求的空閑分區為止。然后再按照作業的大小,從該分區中劃出一塊內存分配給請求者,余下的空閑分區仍留在空閑分區鏈中。該方法傾向于使用內存中低地址部分的空閑分區,在高地址部分的空閑分區非常少被利用,從而保留了高地址部分的大空閑區。顯然為以后到達的大作業分配大的內存空間創造了條件。缺點在于低址部分不斷被劃分,留下許多難以利用、非常小的空閑區,而每次查找又都從低址部分開始,這無疑會增加查找的開銷。同時還會造成內存碎片化的問題。
(2)循環首次適應方法。該方法是由首次適應方法演變而成的。在為進程分配內存空間時,不再每次從鏈首開始查找,而是從上次找到的空閑分區開始查找,直至找到一個能滿足需求的空閑分區,并從中劃出一塊來分給作業。該方法能使空閑中的內存分區分布得更加均勻,但將會缺乏大的空閑分區。
(3)最佳適應方法。該方法總是把既能滿足需求,又是最小的空閑分區分配給作業。為了加速查找,該方法需求將所有的空閑區按其大小排序后,以遞增順序形成一個空白鏈。這樣每次找到的第一個滿足需求的空閑區,必然是最優的。孤立地看,該方法似乎是最優的,但事實上并不一定。因為每次分配后剩余的空間一定是最小的,在存儲器中將留下許多難以利用的小空閑區。同時每次分配后必須重新排序,這也帶來了一定的開銷。
(4)最差適應方法。最差適應方法中,該方法按大小遞減的順序形成空閑區鏈,分配時直接從空閑區鏈的第一個空閑分區中分配(不能滿足需要則不分配)。非常顯然,如果第一個空閑分區不能滿足,那么再沒有空閑分區能滿足需要。這種分配方法初看起來不太合理,但他也有非常強的直觀吸引力:在大空閑區中放入程式后,剩下的空閑區常常也非常大,于是還能裝下一個較大的新程式。最壞適應方法和最佳適應方法的排序正好相反,他的隊列指針總是指向最大的空閑區,在進行分配時,總是從最大的空閑區開始查尋。該方法克服了最佳適應方法留下的許多小的碎片的不足,但保留大的空閑區的可能性減小了,而且空閑區回收也和最佳適應方法相同復雜。
嵌入式路由器設備中協議棧(如DHCP、RSVP、LDP等),在大量、多種路由產生和震蕩的時候瞬間需要申請、釋放大量的大小相等的小片內存,申請的數量隨著時間的變化很不穩定,這種情況下申請內存的特點是不定期的申請和釋放小片內存,由于一個系統中除了有這種方式的申請內存外還有其它的進程也要申請內存,這樣就會很容易形成內存碎片,一般情況下操作系統都會維護一個空閑內存鏈表,隨著碎片的增加,鏈的長度也會增加,每申請一塊內存就會遍歷一次空閑內存鏈表,鏈的長度越長申請內存的效率越低下,碎片多到一定程度時會使整個內存碎片化從而導致申請大塊的內存失敗的情況,而上述幾種常見的內存管理方法都不能解決這個問題,需要提出一種新的內存分配策略。
發明內容
本發明提出的一種嵌入式系統內存管理方法,可解決嵌入式系統應用中申請大量小片內存導致內存碎片化和申請效率降低下的問題。
為實現上述目的,本發明采用了以下技術方案:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安徽皖通郵電股份有限公司,未經安徽皖通郵電股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711379808.5/2.html,轉載請聲明來源鉆瓜專利網。





