一种页表释放方法及计算设备与流程

文档序号:30757365发布日期:2022-07-13 12:12阅读:来源:国知局

技术特征:
1.一种页表释放方法,在计算设备的操作系统中执行,所述计算设备中包括内部存储器,所述内部存储器适于提供内存页,所述方法包括步骤:响应于进程申请内存页的请求,为所述进程分配内存页,并增加所述进程对应的页表引用的内存页数量;响应于进程释放内存页的请求,释放所述内存页,并减少所述进程对应的页表引用的内存页数量;获取页表当前引用的内存页数量,根据所述当前引用的内存页数量判断所述页表引用的内存页是否全部释放;以及如果确定页表引用的内存页全部释放,则释放所述页表。2.如权利要求1所述的方法,其中,还包括步骤:当进程缺乏内存页时,为所述进程分配内存页,并对所述进程对应的页表引用的内存页数量进行更新。3.如权利要求1或2所述的方法,其中,还包括步骤:利用基数树来建立引用计数结构体,以便基于引用计数结构体来描述所述页表引用的内存页数量。4.如权利要求3所述的方法,其中,还包括步骤:在计数结构体中建立引用计数器,以对页表引用的内存页数量进行计数。5.如权利要求1-4中任一项所述的方法,其中,在为进程分配内存页之后,还包括步骤:基于所述内存页的物理内存地址更新所述进程对应的页表;在释放内存页之后,还包括步骤:在进程对应的页表中将所述内存页对应的物理内存地址标记为未分配。6.如权利要求1-5中任一项所述的方法,其中,根据当前引用的内存页数量判断页表引用的内存页是否全部释放的步骤包括:判断所述页表当前引用的内存页数量是否为0,如果为0,则确定所述页表引用的内存页全部释放。7.如权利要求1-6中任一项所述的方法,其中,响应于进程申请内存页的请求包括:响应于进程利用madvise函数的参数willneed申请内存页的请求;响应于进程释放内存页的请求包括:响应于进程利用madvise函数的参数dontneed释放内存页的请求。8.如权利要求1-7中任一项所述的方法,其中,所述页表为pte表,所述页表包括碎片页表。9.一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述的方法的指令。10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。

技术总结
本发明公开了一种页表释放方法及计算设备,方法在计算设备的操作系统中执行,计算设备中包括内部存储器,内部存储器适于提供内存页,所述方法包括步骤:响应于进程申请内存页的请求,为所述进程分配内存页,并增加所述进程对应的页表引用的内存页数量;响应于进程释放内存页的请求,释放所述内存页,并减少所述进程对应的页表引用的内存页数量;获取页表当前引用的内存页数量,根据当前引用的内存页数量判断页表引用的内存页是否全部释放;以及如果确定页表引用的内存页全部释放,则释放页表。根据本发明的技术方案,能够避免页表占用额外的内存空间,有利于节省内存资源。有利于节省内存资源。有利于节省内存资源。


技术研发人员:张廉洁 何鲁港
受保护的技术使用者:统信软件技术有限公司
技术研发日:2022.03.29
技术公布日:2022/7/12
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1