[发明专利]一种用户态与内核态共享内存的管理方法和装置有效
申请号: | 201210523851.5 | 申请日: | 2012-12-04 |
公开(公告)号: | CN103034544A | 公开(公告)日: | 2013-04-10 |
发明(设计)人: | 赵丹 | 申请(专利权)人: | 杭州迪普科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 内核 共享 内存 管理 方法 装置 | ||
1.一种用户态与内核态共享内存的管理方法,其特征在于,包括:
将预定长度的物理内存作为共享内存分别映射到用户态地址空间和内核态地址空间,映射完成后,用户态进程和内核态进程在各自的地址空间分别得到共享内存的基地址;
将多个伪链表的头节点保存到共享内存的最后区域,其中,伪链表的节点的结构包括对象类型和伪链表中下一个节点的起始地址相对于基地址的偏移,且每种对象类型对应一种长度的内存对象;
根据使用者需要申请内存的大小,从所述多个伪链表中选取一个伪链表,从所选取的伪链表中选取一个或多个节点,将选取的一个或多个节点对应的内存对象分配给该使用者,并将选取的一个或多个节点从所选取的伪链表中摘除,其中,所述使用者为内核态进程或用户态进程,所述使用者能够将自己的基地址加上所分配的内存对象的起始偏移得到内存对象的起始地址,并根据所述起始地址对所述内存对象进行操作。
2.如权利要求1所述的管理方法,其特征在于,还包括:
需要对内存对象进行释放时,获取待释放内存对象的起始偏移和大小,根据所述起始偏移和大小将内存对象添加到相应伪链表中的相应节点中。
3.如权利要求2所述的管理方法,其特征在于:
所述多个伪链表包括:节点对应的内存对象的长度为16字节、32字节、64字节、128字节、256字节、512字节、1024字节和2k字节分别对应的16_list伪链表、32_list伪链表、64_list伪链表、128_list伪链表、256_list伪链表、512_list伪链表、1024_list伪链表和free_list伪链表。
4.如权利要求3所述的管理方法,其特征在于,所述根据使用者需要申请内存的大小,从所述多个伪链表中选取一个伪链表,从所选取的伪链表中选取一个或多个节点,包括:
当申请的内存的大小大于(1024-4)字节时,则从free_list伪链表选取连续的n个节点,n为整数;
当申请的内存的大小小于或等于(1024-4)字节时,则从除free_list伪链表之外的其他伪链表中选取1个节点,当所述其他伪链表为空,则先从free_list伪链表中选取1个2k对象进行分割后,将分割得到的多个对象添加到所述其他伪链表中。
5.如权利要求3所述的管理方法,其特征在于,还包括:
当根据所述起始偏移和大小将内存对象添加到相应伪链表中的相应节点中后,若相应伪链表中有多个连续的节点对应的内存对象大小之和为2k,其该多个连续的节点中的第一个节点的起始偏移能够被2k整除,则将这多个连续的节点从相应伪链表中摘除后,将相应的2k内存对象添加到free_list伪链表中。
6.一种用户态与内核态共享内存的管理装置,其特征在于,包括:
内存映射单元,用于将预定长度的物理内存作为共享内存分别映射到用户态地址空间和内核态地址空间,映射完成后,用户态进程和内核态进程在各自的地址空间分别得到共享内存的基地址;
伪链表建立单元,用于将多个伪链表的头节点保存到共享内存的最后区域,其中,伪链表的节点的结构包括对象类型和伪链表中下一个节点的起始地址相对于基地址的偏移,且每种对象类型对应一种长度的内存对象;
内存分配单元,用于根据使用者需要申请内存的大小,从所述多个伪链表中选取一个伪链表,从所选取的伪链表中选取一个或多个节点,将选取的一个或多个节点对应的内存对象分配给该使用者,并将选取的一个或多个节点从所选取的伪链表中摘除,其中,所述使用者为内核态进程或用户态进程,所述使用者能够将自己的基地址加上所分配的内存对象的起始偏移得到内存对象的起始地址,并根据所述起始地址对所述内存对象进行操作。
7.如权利要求6所述的管理装置,其特征在于,还包括:
内存释放单元,用于需要对内存对象进行释放时,获取待释放内存对象的起始偏移和大小,根据所述起始偏移和大小将内存对象添加到相应伪链表中的相应节点中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技有限公司,未经杭州迪普科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210523851.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种供电式热水器蓄水箱
- 下一篇:一种防震抗冲击空调柜