【技术实现步骤摘要】
本专利技术涉及应用程序内存管理技术,特别是涉及一种。
技术介绍
内存是计算机类产品的重要硬件设施,应用程序的内存分配释放都是建立在操作系统对内存的管理之上的。操作系统提供接口比如malloc,free等函数供应用程序进行内存的相关操作,操作系统本身则对应用程序的内存使用情况进行管理。操作系统的内存管理机制会产生几种内存浪费的情况内部碎片和外部碎片。操作系统的内存管理机制遵循一些基本的内存分配规则。例如,所有内存的分配必须起始于可被4、8或16整除的地址。内存管理机制把仅仅预定大小的内存块分配给应用程序。当一个应用程序请求一个43字节的内存块的时候,内存管理机制可能会给它分配44个字节、或者48个字节甚至更多满足内存分配规则的内存。由所需大小四舍五入而产生的多余空间叫内部碎片。当已分配内存块之间出现未被使用的差额时,就会产生外部碎片。例如,一个应用程序分配三个连续的内存块,然后释放中间的内存块。操作系统的内存管理机制可以重新使用中间的内存块供将来的内存块进行分配。但不太可能将来分配的内存块的大小跟操作系统的所有空闲内存块一样大。那么内存管理机制只能从大的空闲内存 ...
【技术保护点】
一种解决频繁分配释放同等大小内存的方法,其特征在于:1)记频繁分配释放同等大小内存的大小为msize,内存池链表的指针为plist,第n个内存池为mpn,内存池的起始地址为psn,结束地址为pen,内存池的第一个free标志的内存在 该内存池的位置为freen; 2)定义一个函数f(n)用来决定第n个内存池的大小,f(n)值等于0或者小于0,则表示应用程序设定了大小为msize的内存块的个数上限,大小为前面n-1次分配的内存块的个数的和;3)当应用程序需 要大小为msize的内存时,则从内存池链表的第一个内存池开始,逐个判断内存池 ...
【技术特征摘要】
1一种解决频繁分配释放同等大小内存的方法,其特征在于1)记频繁分配释放同等大小内存的大小为msize,内存池链表的指针为plist,第n个内存池为mpn,内存池的起始地址为psn,结束地址为pen,内存池的第一个free标志的内存在该内存池的位置为freen;2)定义一个函数f(n)用来决定第n个内存池的大小,f(n)值等于0或者小于0,则表示应用程序设定了大小为msize的内存块的个数上限,大小为前面n-1次分配的内存块的个数的和;3)当应用程序需要大小为msize的内存时,则从内存池链表的第一个内存池开始,逐个判断内存池的freen是否大于f(n);如果freen小于等于f(n),表示该内存池有空闲内存可以分配,返回该内存池;如果freen大于f(n),表示该内存池没有空闲内存可以使用,判断下一个内存池;如果没有下一个内存池,并且f(n)>0,那么新建一个大小为F(n)的内存池,其中F(n)=...
【专利技术属性】
技术研发人员:卜佳俊,陈纯,方丰平,柯化成,
申请(专利权)人:浙江大学,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。