一种内存管理方法及装置制造方法及图纸

技术编号:16885783 阅读:31 留言:0更新日期:2017-12-27 03:35
本发明专利技术公开了一种内存管理方法及装置。本发明专利技术中,接收第一任务发送的内存资源分配请求后,判断第一任务的私有内存资源池中的空闲内存资源容量是否满足该内存资源分配请求,若是,则从第一任务的私有内存资源池中获取内存资源进行分配。由于针对一个任务创建了该任务的私有内存资源池,在内存资源分配时,优先从私有内存资源池中获取内存资源进行分配,而不同的任务的私有内存资源池之间以及与共享内存资源池之间不会存在资源冲突,所以在分配的资源来自于私有内存资源池的情况下无需使用内存互斥锁也能避免资源冲突,因此与现有技术相比,减少了内存互斥锁的使用。

A memory management method and device

The invention discloses a memory management method and device. In the invention, the memory allocation request sent after receiving the first task, whether the amount of free memory resources of private memory resource pool determines whether the first task in the meet the memory resource allocation request, if it gets, memory resources from the private memory of the first task in the pool of resources allocation. Because the private memory resource pool for a task is created in memory of this task, resource allocation, priority access to memory resources from the private memory pool allocation, but not between the private memory resource pool of different tasks and the shared memory pool of resources in resource conflict, so in the allocation of resources from private memory resource pool without the use of memory mutex can also avoid resource conflict, so compared with the existing technology, reduce the use of memory mutex.

【技术实现步骤摘要】
一种内存管理方法及装置
本专利技术涉及通信
,尤其涉及一种内存管理方法及装置。
技术介绍
随着多核处理器的快速发展,基于对称多处理(SymmetricMulti-Processing,SMP)的软件并行处理架构已经逐步推广应用。在SMP系统中,并发执行性能直接影响系统整体性能,而频繁的内存申请和释放以及基于内存的消息通信是大型软件中影响性能的关键因素,因此,如何有效提升SMP系统下的内存管理效率成为重要问题。已有的内存资源管理方案中,内存块是以链表方式管理的,如果多个任务同时操作一个链表,则需要进行互斥操作,以避免资源冲突。其中,一个任务可视为一个进程或线程。对于单CPU,其内存资源需要在该CPU上运行的多任务之间互斥;对于SMP系统,其多CPU之间的共享内存池需要在多CPU上的任务之间互斥。但是,互斥操作会导致得不到内存互斥锁的任务进入阻塞状态,因而会影响系统的并发处理效率。
技术实现思路
本专利技术实施例提供一种内存管理方法及装置,用以在内存资源管理时减少内存互斥锁的使用。本专利技术实施例提供的内存管理方法,包括:接收第一任务发送的内存资源分配请求;判断所述第一任务的私有内存资本文档来自技高网...
一种内存管理方法及装置

【技术保护点】
一种内存管理方法,其特征在于,包括:接收第一任务发送的内存资源分配请求;判断所述第一任务的私有内存资源池中的空闲内存资源容量是否大于或等于所述内存资源分配请求所请求分配的内存资源大小;若是,则从所述第一任务的私有内存资源池中获取内存资源进行分配;否则,从共享内存资源池中获取内存资源进行分配。

【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:接收第一任务发送的内存资源分配请求;判断所述第一任务的私有内存资源池中的空闲内存资源容量是否大于或等于所述内存资源分配请求所请求分配的内存资源大小;若是,则从所述第一任务的私有内存资源池中获取内存资源进行分配;否则,从共享内存资源池中获取内存资源进行分配。2.如权利要求1所述的方法,其特征在于,所述第一任务的私有内存资源池包括:所述第一任务的空闲资源池,用于容纳为所述第一任务分配的空闲内存资源,以及容纳被所述第一任务释放的内存资源;所述第二任务的回收资源池,用于容纳被所述第二任务释放的且在被释放前用于与所述第一任务交互用的内存资源;其中,所述第一任务为发送任务,所述第二任务为与所述第一任务对应的接收任务。3.如权利要求2所述的方法,其特征在于,一个空闲资源池中包括一个或多个子资源池,每个子资源池中包含一个或多个大小相同的内存块,每个子资源池中包含的内存块的大小不相同;和/或,一个回收资源池中包括一个或多个子资源池,每个子资源池中包含一个或多个大小相同的内存块,每个子资源池中包含的内存块的大小不相同。4.如权利要求2所述的方法,其特征在于,判断所述第一任务的私有内存资源池中的空闲内存资源容量是否大于或等于所述内存资源分配请求所请求分配的内存资源大小,若是,则从所述第一任务的私有内存资源池中获取内存资源进行分配,包括:若所述第一任务的空闲资源池中的内存资源容量大于或等于所述内存资源分配请求所请求分配的内存资源大小,则从所述第一任务的空闲资源池中获取内存资源进行分配;或者,若所述第二队列的回收资源池中的内存资源容量大于或等于所述内存资源分配请求所请求分配的内存资源大小,则从所述第二任务的回收资源池中获取内存资源进行分配。5.如权利要求4所述的方法,其特征在于,所述从共享内存资源池中获取内存资源进行分配,包括:若所述第一任务的空闲资源池中的内存资源容量小于所述内存资源分配请求所请求分配的内存资源大小,且所述第二任务的回收资源池中的内存资源容量小于所述内存资源分配请求所请求分配的内存资源大小,则从共享内存资源池中获取内存资源进行分配。6.如权利要求2所述的方法,其特征在于,分配内存资源之后,还包括:对所分配的内存资源标记所述内存资源的所有者信息。7.如权利要求6所述的方法,其特征在于,还包括:接收内存资源释放请求;根据被请求释放的内存资源的所有者,确定目标内存资源池,所述目标内存资源池为私有内存资源池;将被请求释放的内存资源回收至确定出的目标内存资源池。8.如权利要求7所述的方法,其特征在于,所述根据被请求释放的内存资源的所有者,确定目标内存资源池,包括:若被请求释放的内存资源的所有者为所述第一任务对应的第二任务,则将用于容纳被所述第二任务释放的且在被释放前用于与所述第一任务交互用的内存资源的回收资源池,确定为目标内存资源池;或者,若被请求释放的内存资源的所有者为所述第一任务,则将所述第一任务的空闲资源池确定为目标内存资源池。9.如权利要求2至8中任一项所述的方法,其特征在于,还包括:当共享内存资源池中的内存资源容量低于门限值时,选取回收资源池;将选取的回收资源...

【专利技术属性】
技术研发人员:笪禹
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:北京,11

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

1