[發明專利]一種實時操作系統動態內存的管理方法及裝置在審
| 申請號: | 202210172769.6 | 申請日: | 2022-02-24 |
| 公開(公告)號: | CN114518961A | 公開(公告)日: | 2022-05-20 |
| 發明(設計)人: | 尹燦;沈文靜 | 申請(專利權)人: | 上海金卓科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京華夏正合知識產權代理事務所(普通合伙) 11017 | 代理人: | 韓登營 |
| 地址: | 201203 上海市浦東新區中國(上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實時 操作系統 動態 內存 管理 方法 裝置 | ||
1.一種實時操作系統動態內存的管理方法,其特征在于,包括:
獲取申請內存大小;
當前內存塊空閑且大于或等于所述申請內存大小時,從所述當前內存塊中分配內存,所述當前內存塊為當前的內存控制塊對應的內存塊,每個內存控制塊對應一個內存塊;
當所述當前內存塊忙碌或小于所述申請內存大小時,從動態內存中第一個內存控制塊對應的內存塊中分配內存。
2.根據權利要求1所述方法,其特征在于,
每個內存控制塊至少包括:前向指針、后向指針、內存塊狀態、內存塊大小、內存控制塊的起始地址;
所述內存控制塊按物理位置順序組成控制塊鏈表,一個內存控制塊的前向指針和后向指針分別指向所述控制塊鏈表中下一個和上一個的內存控制塊。
3.根據權利要求1所述方法,其特征在于,還包括:
當從所述當前內存塊中分配完內存后所述當前內存塊中剩余的內存塊大于一個內存控制塊空間時,增加一個內存控制塊管理所述剩余的內存塊,且把新增加的內存控制塊作為所述當前的內存控制塊。
4.根據權利要求1所述方法,其特征在于,還包括:
當從所述當前內存塊中分配完內存后所述當前內存塊中剩余的內存塊不大于一個內存控制塊空間、且所述當前內存塊為動態內存中最后一個內存塊時,把所述第一個內存控制塊作為所述當前的內存控制塊。
5.根據權利要求1所述方法,其特征在于,從所述第一個內存控制塊對應的內存塊中分配內存,包括:
所述第一個內存控制塊對應的內存塊空閑且大于或等于所述申請內存大小時,把所述第一個內存控制塊作為所述當前的內存控制塊,從其對應的內存塊中進行內存分配,否則返回分配失敗。
6.根據權利要求1至5任一所述方法,其特征在于,還包括:
設置內存控制塊全局指針,指向所述當前的內存控制塊。
7.根據權利要求1至5任一所述方法,其特征在于,還包括:
當釋放內存塊的相鄰內存塊中有空閑內存塊時,把空閑內存塊與釋放內存塊合并,并更新相關的內存控制塊。
8.一種實時操作系統動態內存的管理裝置,其特征在于,包括第一獲取模塊、第二獲取模塊、當前分配模塊和第一分配模塊;
所述第一獲取模塊用于獲取申請內存大小;
所述當前分配模塊用于當前內存塊空閑且大于或等于所述申請內存大小時,從所述當前內存塊中分配內存,所述當前內存塊為當前的內存控制塊對應的內存塊,每個內存控制塊對應一個內存塊;
所述第一分配模塊用于當所述當前內存塊忙碌或小于所述申請內存大小時,從動態內存中第一個內存控制塊對應的內存塊中分配內存。
9.一種計算設備,其特征在于,包括:
總線;
通信接口,其與所述總線連接;
至少一個處理器,其與所述總線連接;以及
至少一個存儲器,其與所述總線連接并存儲有程序指令,所述程序指令當被所述至少一個處理器執行時使得所述至少一個處理器執行權利要求1至7任一所述方法。
10.一種計算機可讀存儲介質,其上存儲有程序指令,其特征在于,所述程序指令當被計算機執行時使得所述計算機執行權利要求1至7任一所述方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海金卓科技有限公司,未經上海金卓科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210172769.6/1.html,轉載請聲明來源鉆瓜專利網。





