[发明专利]一种文件的虚拟内存空间的处理方法、计算设备在审
申请号: | 202211212377.4 | 申请日: | 2022-09-28 |
公开(公告)号: | CN115576864A | 公开(公告)日: | 2023-01-06 |
发明(设计)人: | 王晓华;孟杰;卢彦;薛皓琳;张钰杰 | 申请(专利权)人: | 统信软件技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 姜莹 |
地址: | 100176 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 虚拟 内存空间 处理 方法 计算 设备 | ||
本发明公开了一种文件的虚拟内存空间的处理方法、计算设备,涉及计算机领域。文件的地址空间中存储由用于管理文件的所有VMA的多个区间树组成的区间树数组、区间树数组的读锁和写锁、各区间树的读锁和写锁。上述方法包括:接收对文件的地址空间执行VMA操作处理的目标请求;基于目标请求,获取所要处理的待处理区间树。若目标请求为写请求,获取区间树数组的读锁和待处理区间树的写锁,并对待处理区间树执行写处理。若目标请求为读请求,获取区间树数组的读锁和待处理区间树的读锁,并对待处理区间树执行读处理。本发明细化了管理文件的VMA的区间树和区间树锁,这样在同一时刻可对管理文件的VMA的多个区间树进行处理,提升了进程多并发的性能。
技术领域
本发明涉及计算机领域,尤其涉及一种文件的虚拟内存空间的处理方法、计算设备。
背景技术
为了让多个进程可以同时访问物理内存,操作系统在应用程序和物理内存之间加入了一个新的抽象:虚拟内存。其中,每个进程都有属于自己的一个统一连续的虚拟地址空间,且在运行时只能访问自身的虚拟地址空间。当进程访问其虚拟内存时,内存管理单元(Memory Management Unit,MMU)负责将虚拟地址翻译成物理地址,操作系统负责设置虚拟地址和物理地址间的映射,这样多个进程便可共享一块物理内存。并且,操作系统仅将进程实际使用的虚拟地址映射到物理地址,提高了物理内存的利用率。
可见,在应用程序和物理内存之间加入虚拟内存后,进程读写文件时,是将内存中的文件映射到其实际使用的虚拟地址空间中。其中,进程通过虚拟内存空间(Virtualmemory area,VMA)管理自己的虚拟地址空间,VMA是指一段连续的虚拟空间(即进程的虚拟地址空间中包括多个VMA),因此进程读写文件,实质是将其所读写的文件部分映射到自身的VMA中。
也就是说,任一文件被进程读写,则会建立该文件与此进程的VMA的映射关系。目前,文件到每个进程的VMA映射关系通过文件的地址空间(address_space)管理,具体地通过address_space中的一个区间树管理。并且,文件的address_space中存储有用于保持该区间树互斥访问的读写锁,以保证同一时刻只有一个进程可以对此区间树进行写处理,如删除或添加VMA。
显然,基于目前一个文件的所有VMA(映射此文件的所有VMA)通过一个区间树管理的方法,即使在同一时刻对区间树的不同区段进行VMA操作处理,也无法实现,降低了进程的多并发性能。
发明内容
为此,本发明提供了一种文件的虚拟内存空间的处理方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种文件的虚拟内存空间的处理方法,文件的地址空间中存储有区间树数组、区间树数组的读锁和写锁、以及区间树数组中各区间树的读锁和写锁,区间树数组由用于管理文件的所有虚拟内存空间VMA的多个区间树组成,该方法包括:接收对文件的地址空间执行VMA操作处理的目标请求,目标请求包括读请求或写请求;基于目标请求,获取所要处理的待处理区间树;如果目标请求为写请求,则获取区间树数组的读锁和待处理区间树的写锁,并对待处理区间树执行写处理;如果目标请求为读请求,则获取区间树数组的读锁和待处理区间树的读锁,并对待处理区间树执行读处理。
可选地,在根据本发明的文件的虚拟内存空间的处理方法中,还包括:确定区间树数组中各区间树的两个端点值;以及将各区间树的两个端点值存储至文件的地址空间中。
可选地,在根据本发明的文件的虚拟内存空间的处理方法中,确定区间树数组中各区间树的两个端点值,包括:根据文件的大小和区间树数组中区间树的数量,确定一个区间树所管理文件部分的大小;根据确定出的一个区间树所管理文件部分的大小,确定各区间树的第一端点值和第二端点值,各区间树的第一端点值为各区间树所管理文件部分的起始位置相对于文件的起始位置的偏移量,各区间树的第二端点值为各区间树所管理文件部分的结束位置相对于文件的起始位置的偏移量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于统信软件技术有限公司,未经统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211212377.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硅尾泥高强蒸压加气混凝土及其制备方法
- 下一篇:一种专用于转向节的机床