[發明專利]一種適用于slab結構的內存管理方法及裝置有效
| 申請號: | 201810167323.8 | 申請日: | 2018-02-28 |
| 公開(公告)號: | CN110209594B | 公開(公告)日: | 2020-01-24 |
| 發明(設計)人: | 李樹龍;陳闖;張炎潑 | 申請(專利權)人: | 貴州白山云科技股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 11453 北京名華博信知識產權代理有限公司 | 代理人: | 白瑩;李冬梅 |
| 地址: | 550003 貴州省貴陽市*** | 國省代碼: | 貴州;52 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存管理 內存塊 分配器 分配 監控 管理 | ||
1.一種適用于slab結構的內存管理方法,其特征在于,包括:
監控slab內存塊的狀態;
在確定slab內存塊的狀態為未分配時,直接將未分配的slab內存塊提交給頁分配器管理;
按照slab內存塊所包含的chunk塊的大小的不同,將slab內存塊劃分成具有不同內存分配粒度的slab內存塊分組,定義與所述slab內存塊分組對應的slab內存塊分組數據結構,使用所述slab內存塊分組數據結構對slab內存塊進行管理;
所述slab內存塊分組數據結構包括:分別對應于一種內存分配粒度的多個slab數據結構,其中,每個slab數據結構包括:對應于一種內存分配粒度的、已完全分配的slab內存塊的已完全分配slab內存塊鏈表;以及,對應于同一種內存分配粒度的、已部分分配的slab內存塊的已部分分配slab內存塊鏈表。
2.如權利要求1所述的內存管理方法,其特征在于,所述不同內存分配粒度包括以下chunk塊的大小:8字節、16字節、32字節、64字節、128字節、256字節、512字節、1024字節、2048字節,其中,每種內存分配粒度的一個slab內存塊包括512個chunk塊。
3.如權利要求1所述的內存管理方法,其特征在于,所述slab內存塊分組數據結構被設置在,由所述頁分配器所管理的、用于頁管理的數據結構所在的內存空間中。
4.一種適用于slab結構的內存管理裝置,其特征在于,包括:
slab內存塊狀態監控模塊,用于監控slab內存塊的狀態;
slab內存塊釋放模塊,用于在確定slab內存塊的狀態為未分配時,直接將未分配的slab內存塊提交給頁分配器管理;
slab內存塊分組管理模塊,用于按照slab內存塊所包含的chunk塊的大小的不同,將slab內存塊劃分成具有不同內存分配粒度的slab內存塊分組,定義與所述slab內存塊分組對應的slab內存塊分組數據結構,使用所述slab內存塊分組數據結構對slab內存塊進行管理;
所述slab內存塊分組數據結構包括:分別對應于一種內存分配粒度的多個slab數據結構,其中,每個slab數據結構包括:對應于一種內存分配粒度的、已完全分配的slab內存塊的已完全分配slab內存塊鏈表;以及,對應于同一種內存分配粒度的、已部分分配的slab內存塊的已部分分配slab內存塊鏈表。
5.如權利要求4所述的內存管理裝置,其特征在于,所述不同內存分配粒度包括以下chunk塊的大小:8字節、16字節、32字節、64字節、128字節、256字節、512字節、1024字節、2048字節,其中,每種內存分配粒度的一個slab內存塊包括512個chunk塊。
6.如權利要求4所述的內存管理裝置,其特征在于,所述slab內存塊分組數據結構被設置在,由所述頁分配器所管理的、用于頁管理的數據結構所在的內存空間中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貴州白山云科技股份有限公司,未經貴州白山云科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810167323.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種面向偏好設置的安卓應用測試方法
- 下一篇:一種用于管理內存頁的方法及裝置





