-
公开(公告)号:CN103984599A
公开(公告)日:2014-08-13
申请号:CN201410146873.3
申请日:2014-04-14
Applicant: 北京大学
IPC: G06F9/50
Abstract: 本发明公开了一种提高操作系统大页使用率的方法。本方法为:1)系统在每一进程的虚拟地址空间数据结构中增加一变量a,记录为进程已经分配虚拟地址的堆顶位置;2)进程启动时,系统将a初始化为0;当该进程调用堆顶设置函数进行内存申请时,向系统传入一堆顶参数b;3)系统根据该进程上一次请求的堆顶位置和当前请求的堆顶位置b,计算堆顶位置向上大页对齐之后的值c;4)系统将a的当前值赋值给该进程的记录已分配内存最高堆地址变量,并将其与c进行比较:如果小于c,则根据二者差值增大该进程的堆栈空间;如果小于c,则进行内存释放,如果相等则不进行内存调用。本发明充分提升了大页的使用率,进而提升程序的性能。
-
公开(公告)号:CN103984599B
公开(公告)日:2017-05-17
申请号:CN201410146873.3
申请日:2014-04-14
Applicant: 北京大学
IPC: G06F9/50
Abstract: 本发明公开了一种提高操作系统大页使用率的方法。本方法为:1)系统在每一进程的虚拟地址空间数据结构中增加一变量a,记录为进程已经分配虚拟地址的堆顶位置;2)进程启动时,系统将a初始化为0;当该进程调用堆顶设置函数进行内存申请时,向系统传入一堆顶参数b;3)系统根据该进程上一次请求的堆顶位置和当前请求的堆顶位置b,计算堆顶位置向上大页对齐之后的值c;4)系统将a的当前值赋值给该进程的记录已分配内存最高堆地址变量,并将其与c进行比较:如果小于c,则根据二者差值增大该进程的堆栈空间;如果小于c,则进行内存释放,如果相等则不进行内存调用。本发明充分提升了大页的使用率,进而提升程序的性能。
-