一种通过内存块实现内存管理的方法及系统技术方案

技术编号:9751021 阅读:104 留言:0更新日期:2014-03-09 07:17
本发明专利技术公开了一种通过内存块实现内存管理的方法及系统,申请64KB大小的内存块,将此内存块分为内存分配区和数据存放区两个区域,将内存分配区划分为以链表形式连接的固定大小的子块,将链表的头指针和空闲子块的数量写入数据存放区,之后通过链表操作即可实现内存的分配与回收。本发明专利技术通过申请64KB的内存块,以链表的形式进行内存单元的分配与回收,减少甚至消除了内存分配时可能产生的碎片,链表方式,结构比较简单,无论是分配还是回收内存,省去了传统方法中遍历、查询上的复杂操作,明显提升了内存的处理速度,有效提升了内存管理的效率。

【技术实现步骤摘要】
一种通过内存块实现内存管理的方法及系统
本专利技术涉及内存信息技术管理领域,特别是一种通过内存块实现内存管理的方法及系统。
技术介绍
内存管理在软件开发和应用中占据十分重要的位置,对于软件的性能有着十分重要的影响。由于操作系统要考虑到底层硬件管理、内存有限、内存碎片、多软件同时运行、多线程环境等情况,因此导致了内存的分配和回收操作非常复杂,内存操作所消耗的时间的限制成为软件性能的瓶颈。对此一些传统的方法是通过申请一块大内存,再划分成各个子块分配使用,但传统方法忽略了子块的组织结构,在分配和回收时都需要进行大量的内存块结构查询,才能完成分配和回收操作,这就导致了内存管理效率的低下。在多线程环境中这种影响尤其明显,直接导致了应用软件的性能低下。在高性能软件应用领域,内存管理是关键性的基础功能,其性能直接影响了整个应用软件系统的运行。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种通过内存块实现内存管理的方法及系统,简化内存的分配与回收,减少内存分配时碎片的产生,提高内存管理效率,尤其是对于高性能软件的应用,提升整个软件系统的运行效率。本专利技术解决其问题所采用的技术方本文档来自技高网...

【技术保护点】
一种通过内存块实现内存管理的方法,其特征在于,包括:(1)申请固定大小的内存块;(2)将此内存块划分为以链表形式连接的固定大小的子块;(3)通过链表操作对子块空间进行分配与回收。

【技术特征摘要】
1.一种通过内存块实现内存管理的方法,其特征在于,包括: (1)申请固定大小的内存块; (2)将此内存块划分为以链表形式连接的固定大小的子块; (3)通过链表操作对子块空间进行分配与回收。2.根据权利要求1所述的方法,其特征在于,步骤(2)中,所述内存块在被划分时,还被划分出一个单独的数据存放区,用于存储空闲子块的数量和链表头指针。3.根据权利要求2所述的方法,其特征在于,步骤(3)中,通过链表操作对子块空间进行分配时,将链表头指针指向的子块分配出去,且空闲子块数量减1,同时链表头指针指向下一个空闲子块。4.根据权利要求3所述的方法,其特征在于,当空闲子块数量为零时,则重新执行步骤(I)。5.根据权利要求2所述的方法,其特征在于,步骤(3)中,通过链表操作对子块空间进行回收时,将链表的头指针存入要回收的子块内,将此要回收的子块的首地址作为链表的头指针写入数据存放区,并将空闲子块数量加I。6.根据权利要求2所述的方法,其特征在于,所述数据存放区被划分在内存块地址的末端。7.根据权利要求1至6任一所述的方法,其特征在于...

【专利技术属性】
技术研发人员:余欣
申请(专利权)人:珠海金山网络游戏科技有限公司成都西山居互动娱乐科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1