[发明专利]一种提高操作系统大页使用率的方法有效
申请号: | 201410146873.3 | 申请日: | 2014-04-14 |
公开(公告)号: | CN103984599B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 汪小林;罗韬威;罗英伟 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种提高操作系统大页使用率的方法。本方法为1)系统在每一进程的虚拟地址空间数据结构中增加一变量a,记录为进程已经分配虚拟地址的堆顶位置;2)进程启动时,系统将a初始化为0;当该进程调用堆顶设置函数进行内存申请时,向系统传入一堆顶参数b;3)系统根据该进程上一次请求的堆顶位置和当前请求的堆顶位置b,计算堆顶位置向上大页对齐之后的值c;4)系统将a的当前值赋值给该进程的记录已分配内存最高堆地址变量,并将其与c进行比较如果小于c,则根据二者差值增大该进程的堆栈空间;如果小于c,则进行内存释放,如果相等则不进行内存调用。本发明充分提升了大页的使用率,进而提升程序的性能。 | ||
搜索关键词: | 一种 提高 操作系统 使用率 方法 | ||
【主权项】:
一种提高操作系统大页使用率的方法,其步骤为:1)系统在每一进程的虚拟地址空间数据结构中增加一变量a,用于记录为进程已经分配虚拟地址的堆顶位置;并且修改堆起始设置函数,使其返回的堆起始地址大页对齐;2)进程启动时,系统将变量a初始化为0;当该进程调用堆顶设置函数进行内存申请时,向系统传入一堆顶参数b,b为请求设置的新的堆顶位置;3)系统根据该进程上一次请求的堆顶位置和当前请求的堆顶位置b,计算满足该进程当前内存需求的堆顶位置向上大页对齐之后的值c;4)系统将该进程变量a的当前值赋值给该进程的记录已分配内存最高堆地址变量,并将其与c进行比较:如果小于c,则系统根据二者差值增大该进程的堆栈空间;如果大于c,则根据二者差值进行内存释放,减小该进程的堆栈空间,如果相等,则不进行内存调用;其中,如果该进程上一次请求的堆顶位置大于当前请求的堆顶位置b,则从上一次请求的堆顶位置和c之间选取一较小值,系统检查b到该较小值之间的虚拟地址是否已被分配了物理内存,如果已被分配,则将这段物理内存清0。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410146873.3/,转载请声明来源钻瓜专利网。
- 上一篇:改进型微型稻麦收割机
- 下一篇:一种太阳能热水器反射板