[發明專利]嵌入式系統的內存管理方法和裝置有效
| 申請號: | 201711201135.4 | 申請日: | 2017-11-27 |
| 公開(公告)號: | CN108038062B | 公開(公告)日: | 2021-05-04 |
| 發明(設計)人: | 賈利民;隋平禮 | 申請(專利權)人: | 北京錦鴻希電信息技術股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 楊貝貝;劉芳 |
| 地址: | 100070 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 嵌入式 系統 內存 管理 方法 裝置 | ||
1.一種嵌入式系統的內存管理方法,其特征在于,應用在嵌入式系統的物理內存中,所述嵌入式系統的物理內存包括:系統管理內存區和用戶管理內存區,所述系統管理內存區由嵌入式系統的操作系統進行管理,所述用戶管理內存區是指可根據應用程序進行預先申請分配的內存區;所述方法包括:
以頁為最小申請單位,接收針對所述用戶管理內存區的內存頁申請請求;
根據所述內存頁申請請求,分配預設大小的內存頁;
對分配的內存頁進行格式化后,將每個內存頁劃分為大小相同的內存片;
在每個內存頁的開始處創建SLAB管理結構,并在SLAB管理結構后創建內存片管理表;或者,在所述用戶管理內存區中的一個預設的緩存中申請內存塊用于創建SLAB管理結構,并在SLAB管理結構后創建內存片管理表;
接收應用程序的內存申請請求;
根據所述應用程序請求的內存大小,從緩存檢索鏈表中找到相應類型的緩存,并通過所述緩存對應的SLAB鏈表獲取內存片后,分配給所述應用程序;其中,所述緩存檢索鏈表用于指示不同類型緩存的大小,以及指示不同類型緩存的控制結構;所述SLAB鏈表用于指示同一類緩存中創建的所有SLAB管理結構的信息;其中,所述SLAB管理結構用于管理對應內存頁劃分的所有內存片;所述內存片管理表中包含對應SLAB管理結構所管理的所有內存片的地址信息,所述SLAB管理結構還用于根據內存片管理表分配內存片給應用程序。
2.根據權利要求1所述的方法,其特征在于,在以頁為最小申請單位,接收針對所述用戶管理內存區的內存頁申請請求之前,還包括:
接收用戶輸入的對用戶管理內存區進行初始化的請求;
將所述用戶管理內存區劃分為若干個大小不同的內存頁面分區塊,每一內存頁面分區塊包含不同數目的對應大小的頁,所述頁的大小包括:4K、8K、16K、32K、64K、128K;所述頁由位于固定位置的頁面控制表進行維護,其中,大小為4K的頁的數量可進行動態調整。
3.根據權利要求1所述的方法,其特征在于,在以頁為最小申請單位,接收針對所述用戶管理內存區的內存頁申請請求之前,還包括:
確定所述SLAB管理結構所管理的所有內存片已經全部被占用。
4.根據權利要求1所述的方法,其特征在于,在將申請的每個內存頁劃分為大小相同的內存片之后,還包括:
根據內存片的大小對所述內存片進行分類,大小相同的內存片分為一類;
按照預設內存片的數量和大小的要求,將內存片劃分成多組片區,每組片區通過緩存檢索鏈表與不同類型的緩存進行關聯。
5.根據權利要求4所述的方法,其特征在于,在SLAB管理結構所管理的所有內存片均處于空閑狀態時,還包括:
刪除對應SLAB鏈表中所述SLAB管理結構的信息,并清除所述SLAB管理結構管理的所有內存片對應內存頁的控制項信息;其中,所述SLAB鏈表用于指示同一類緩存中創建的所有SLAB管理結構的信息,所述控制項信息包括:CACHE指針和SLAB指針;
將所述內存頁放到空閑頁的頭部。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京錦鴻希電信息技術股份有限公司,未經北京錦鴻希電信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711201135.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:高效的生活環境噪聲檢測方法
- 下一篇:一種基于硼石膏的砌塊及其制備方法





