[发明专利]一种在内核中高速分配连续内存的方法有效

专利信息
申请号: 201010598005.0 申请日: 2010-12-17
公开(公告)号: CN102063378A 公开(公告)日: 2011-05-18
发明(设计)人: 李锋伟;刘兴奎;刘朝辉;刘灿 申请(专利权)人: 天津曙光计算机产业有限公司
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
地址: 300384 天津市西青区华*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内核 高速 分配 连续 内存 方法
【说明书】:

技术领域

发明涉及数据存储领域,具体涉及一种在内核中告诉分配连续内存的方法。 

背景技术

在Linux内核态申请连续空间,根据内存管理算法,一次最多申请2的order次方个页面的空间。如果要申请连续大内存,需要自己的管理结构。一种管理策略就是将计算机的所有内存块全部申请下来,然后对这些内存块进行排序。找到合适的内存块,释放其他内存块。另外一种管理结构是采用链表管理,把每次在内核态申请到的空间都串到链上,同时管理这些空间。如果发现申请到的空间和链表上的空间连续就将合并空间,查看合并后的空间是否满足要求,如果满足就申请下该块。上述两种策略都需要消耗大量的内存空间,效率低下。 

采用位图策略,可以有效减小内存空间。例如,如果要分配4G的连续内存,在32位机器上只需要32个整型变量就可以维护管理这个结构,大大节省了内存空间。另外,它的操作更是简单,只需要简单的6条位操作语句,再加上一个判断就可以完成内核态连续大内存的申请。 

发明内容

本发明目的是采用位图管理实现了一个在内核空间申请连续大内存的高效的方法。

一种在内核中高速分配连续内存的方法,步骤如下: 

步骤1:在32位系统上作地址划分,使一次申请的最小单元为4MB; 

步骤2:每一个单元使用一个位图表示是否已经被申请; 

步骤3:系统分配时计算所申请的内存需要的最小单元个数; 

步骤4:查找内存模块位图,若出现满足个数的连续个最小单元位图为1,则分配;若不成功,返回继续申请。 

本发明的一种优选技术方案在于:所述步骤1地址划分方法为选取该32位地址的高5位用作32个整型块的寻址,用次高5位用作整型变量内部所对应位的寻址,用其他22位作为4M空间的首地址。 

本发明的另一种优选技术方案在于:所述位图为1表示未被占用,若为0表示已经占用。 

本发明利用最少的存储资源在内核态实现了对连续内存的申请管理,提高了效率,同时本发明实现结构简单清晰,有较好的可扩展性。 

附图说明

图1是本发明原理示意图 

具体实施方案

在32位系统上,在内核态一次申请4M连续内存(order=10),返回一个32位的地址。可以选取该32位地址的高5位(31---27位)用作32个整型块的寻址,用次高5位(26---22位)用作整型变量内部所对应位的寻址,用其他22位(21---0)作为4M空间的首地址。上图是一个内存的片段,每位代表一个4M的空间。如果要在内核态申请连续的N个4M的空间,只需要在内存块中出现连续的N个1即可。 

例如,某一时刻申请一个4M的空间,返回地址为0x12345678,解析高5位00010,次高5位01000,可以确定在整个地址空间偏移为00010的32位中的01000位置1,如上图中b所示。现在需要做的就是判断新置的位是否可以和该位的前面或后面相连构成满足需要的连续的内存块数的要求,如上图所示是32个整型变量里面的3个,某时刻申请了一个地址,经计算填到了a里面的第8位,b和c里面的位用x来表示(x等于0或1)。利用下面的6步操作,再加 上一个判断就可以判断是否在a中的某位置1,就可以和b中的位构成连续的符合要求的内存。 

下面是具体的操作步骤: 

(1)tmpb=~b; 

(2)tmp=tmpb &(tmpb-1); 

(3)tmp=tmp^tmpb; 

(4)tmp-=-1; 

(5)tmpa=a>>(32-shift_bit); 

(6)tmpc=tmp|tmpa; 

(7)if(tmpc>=(1<<shift_bit)-1) 

       成功找到; 

   else 

       继续申请,返回第一步。 

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津曙光计算机产业有限公司,未经天津曙光计算机产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010598005.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top