[发明专利]一种内存分配、释放方法及装置有效
| 申请号: | 201010187309.8 | 申请日: | 2010-05-21 |
| 公开(公告)号: | CN101859279A | 公开(公告)日: | 2010-10-13 |
| 发明(设计)人: | 马晓靖 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
| 地址: | 100036 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 内存 分配 释放 方法 装置 | ||
1.一种内存分配方法,其特征在于,包括:
在加载程序时,根据所述程序预先设置的实时属性,为所述程序的静态段占用的逻辑页分配对应的物理页;
在所述程序运行过程中,记录逻辑内存中每个逻辑页使用者的数量;当所述程序的动态段申请的逻辑内存所在的逻辑页由空闲变为有使用者使用时,为所述动态段申请的逻辑内存所在的逻辑页分配对应的物理页。
2.如权利要求1所述的方法,其特征在于,所述程序预先设置的实时属性通过下述方式实现:
对程序的可执行文件进行扩展,在扩展后的可执行文件中增加自定义的实时属性段。
3.如权利要求1所述的方法,其特征在于,所述记录逻辑内存中每个逻辑页使用者的数量,包括:
建立逻辑页描述数组,使用所述数组中每个元素的值记录每个逻辑页的使用者的数量;并将每个元素的初始值设置为零;
当逻辑页中的逻辑内存区域被申请使用时,在该逻辑页使用者的数量上增加1;
当逻辑页中的逻辑内存区域被所述程序释放时,在该逻辑页使用者的数量上减去1。
4.如权利要求1-3任一项所述的方法,其特征在于,为所述静态段的逻辑页分配对应的物理页,以及为动态段申请的逻辑内存的逻辑页分配对应的物理页之后,还包括:
在分配的物理页的属性中将所述物理页设置为锁定状态。
5.一种内存的释放方法,其特征在于,包括:
在所述程序运行过程中,记录当前逻辑内存中每个逻辑页使用者的数量;
当逻辑页由有使用者使用转为空闲时,释放该逻辑页对应的物理页。
6.如权利要求5所述的方法,其特征在于,所述记录当前逻辑内存中使用每个逻辑页使用者的数量,包括:
建立逻辑页描述数组,使用所述数组中每个元素的值记录每个逻辑页的使用者的数量;并将每个元素的初始值设置为零;
当逻辑页中的逻辑内存区域被申请使用时,在该逻辑页使用者的数量上增加1;
当逻辑页中的逻辑内存区域被所述程序释放时,在该逻辑页使用者的数量上减去1。
7.如权利要求5或6所述的方法,其特征在于,当逻辑页由有使用者使用转为空闲时,释放该逻辑页对应的物理页的步骤之前,还包括:
解除该逻辑页对应的物理页设置的锁定状态。
8.一种内存分配装置,其特征在于,包括:
静态段分配模块,用于在加载程序时,根据所述程序预先设置的实时属性,为所述程序的静态段占用的逻辑页分配对应的物理页;
动态段分配模块,用于在所述程序运行过程中,记录逻辑内存中每个逻辑页使用者的数量;当所述程序的动态段申请的逻辑内存所在的逻辑页由空闲变为有使用者使用时,为所述动态段申请的逻辑内存所在的逻辑页分配对应的物理页。
9.如权利要求8所述的装置,其特征在于,所述动态段分配模块,进一步包括:
数组建立子模块,用于建立逻辑页描述数组,使用所述数组中每个元素的值记录每个逻辑页的使用者的数量;并将每个元素的初始值设置为零;
数组记录子模块,用于当逻辑页中的逻辑内存区域被申请使用时,在该逻辑页使用者的数量上增加1;当逻辑页中的逻辑内存区域被程序释放时,在该逻辑页使用者的数量上减去1。
10.如权利要求8或9所述的装置,其特征在于,还包括:
锁定状态设置模块,用于在为所述静态段的逻辑页分配对应的物理页,以及为动态段申请的逻辑内存的逻辑页分配对应的物理页之后,在分配的物理页的属性中将所述物理页设置为锁定状态。
11.一种内存的释放装置,其特征在于,包括:
记录模块,用于在所述程序运行过程中,记录当前逻辑内存中每个逻辑页使用者的数量;
释放模块,用于当逻辑页由有使用者使用转为空闲时,释放该逻辑页对应的物理页。
12.如权利要求11所述的装置,其特征在于,所述记录模块,进一步包括:
数组建立子模块,用于建立逻辑页描述数组,使用所述数组中每个元素的值记录每个逻辑页的使用者的数量;并将每个元素的初始值设置为零;
数组记录子模块,用于当逻辑页中的逻辑内存区域被申请使用时,在该逻辑页使用者的数量上增加1;当逻辑页中的逻辑内存区域被程序释放时,在该逻辑页使用者的数量上减去1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010187309.8/1.html,转载请声明来源钻瓜专利网。





