文件映射方法及其装置、车辆及电子设备与流程

文档序号:37432947发布日期:2024-03-25 19:27阅读:8来源:国知局
本公开涉及智能车辆,尤其涉及一种文件映射方法及其装置、车辆及电子设备。
背景技术
::1、sel4是l4微内核家族中的一员,se代表安全(security)的意思,它采用了形式化验证的手段确保了源码的安全性,基于sel4微内核的操作系统中,内存管理以及文件系统属于不同的用户态进程。2、可移植操作系统接口(portable operating system interface of unix,简称posix)的一种内存映射(memory map,简称mmap)方法,将文件或者其它对象映射进内存。在基于sel4微内核的操作系统中,mmap内存映射由内存管理实现,文件映射是操作系统内存映射的基本功能之一。相关技术中,内存管理响应于缺页异常进行文件映射时,每一次文件映射均需访问物理内存,为待映射文件分配新的物理存储空间,以便存储该待映射文件,完成文件映射的过程。当应对同一个待映射文件发生的缺页异常时将会不断分配新的物理存储空间,从而造成物理内存的浪费。因此如何在实现文件映射的过程中减少物理内存的浪费成为亟待解决的问题。技术实现思路1、本公开旨在至少在一定程度上解决相关技术中的技术问题之一。2、为此,本公开的一个目的在于提出一种文件映射方法。3、本公开的第二个目的在于提出一种文件映射装置。4、本公开的第三个目的在于提出一种车辆。5、本公开的第四个目的在于提出一种电子设备。6、本公开的第五个目的在于提出一种计算机可读存储介质。7、为达上述目的,本公开第一方面提出了一种文件映射方法,包括:接收内核发送的缺页处理消息,所述缺页处理消息中包括待映射文件对应的虚拟地址;查找预先存储的所述虚拟地址与文件信息之间的对应关系,获取所述缺页处理消息中所述虚拟地址对应的文件信息;在缓存页中查找所述文件信息对应的所述待映射文件,确定所述待映射文件在所述缓存页中对应的物理地址;关联所述虚拟地址和所述物理地址,对所述待映射文件进行映射。8、根据本公开的一个实施方式,所述在缓存页中查找所述文件信息对应的所述待映射文件,确定所述待映射文件在缓存页中对应的物理地址,包括:查找所述缓存页中是否存在所述文件信息对应的所述待映射文件;响应于所述缓存页中存在所述待映射文件,获取所述待映射文件在所述缓存页中对应的所述物理地址。9、根据本公开的一个实施方式,所述在缓存页中查找所述文件信息在缓存页中查找,确定所述待映射文件在缓存页中对应的物理地址,还包括:响应于所述缓存页中不存在所述待映射文件,发送第一请求消息至文件系统,以使所述文件系统响应于接收到所述第一请求消息,将所述第一请求消息请求获取的所述待映射文件存储至所述缓存页并发送第一应答消息;以及响应于接收到所述第一应答消息,重新查找所述缓存页中存储的所述文件信息对应的所述待映射文件,并获取所述待映射文件在所述缓存页中对应的所述物理地址。10、根据本公开的一个实施方式,所述接收内核发送的缺页处理消息之前,还包括:接收应用进程发送的所述待映射文件的文件映射请求消息;发送所述文件映射请求消息对应的第二请求消息至文件系统;接收所述文件系统发送的所述第二请求消息对应的第二应答消息,所述第二应答消息中包括所述待映射文件对应的所述文件信息;为所述文件信息对应的所述待映射文件分配对应的虚拟地址,并存储所述待映射文件对应的虚拟地址和所述待映射文件对应的文件信息之间的对应关系。11、根据本公开的一个实施方式,所述关联所述虚拟地址和所述物理地址,对所述待映射文件进行映射,包括:为所述待映射文件创建所述物理地址与所述虚拟地址的映射关系;将所述映射关系发送至所述内核。12、根据本公开的一个实施方式,所述发送所述文件映射请求消息对应的第二请求消息至文件系统,包括:获取所述文件映射请求消息中的文件描述符;生成所述第二请求消息,所述第二请求消息中包括所述文件描述符;发送所述第二请求消息至所述文件系统,以使所述文件系统查找第二请求消息中的所述文件描述符对应的文件,并将所述文件确定为所述待映射文件,获取所述待映射文件对应的所述文件信息,其中所述文件信息中包括所述待映射文件对应的设备信息和/或节点信息。13、根据本公开的一个实施方式,所述存储所述待映射文件对应的虚拟地址和所述待映射文件对应的文件信息之间的对应关系,包括:确定所述待映射文件对应的虚拟地址的虚拟地址描述符;将所述待映射文件对应的文件信息存储至所述虚拟地址描述符中,以形成所述待映射文件对应的虚拟地址和所述待映射文件对应的文件信息之间的对应关系。14、为达上述目的,本公开第二方面提出了一种文件映射装置,包括:接收模块,用于接收内核发送的缺页处理消息,所述缺页处理消息中包括待映射文件对应的虚拟地址;获取模块,用于查找预先存储的所述虚拟地址与文件信息之间的对应关系,获取所述缺页处理消息中的所述虚拟地址对应的文件信息;确定模块,用于在缓存页中查找所述文件信息对应的所述待映射文件,确定所述待映射文件在缓存页中对应的物理地址;映射模块,用于关联所述虚拟地址和所述物理地址,对所述待映射文件进行映射。15、根据本公开的一个实施方式,所述确定模块,进一步用于:查找所述缓存页中是否存在所述文件信息对应的所述待映射文件;响应于所述缓存页中存在所述待映射文件,获取所述待映射文件在所述缓存页中对应的所述物理地址。16、根据本公开的一个实施方式,所述确定模块,进一步用于:响应于所述缓存页中不存在所述待映射文件,发送第一请求消息至文件系统,以使所述文件系统响应于接收到所述第一请求消息,将所述第一请求消息请求获取的所述待映射文件存储至所述缓存页并发送第一应答消息;以及响应于接收到所述第一应答消息,查找所述缓存页中存储的所述文件信息对应的所述待映射文件,并获取所述待映射文件在所述缓存页中对应的所述物理地址。17、根据本公开的一个实施方式,所述接收内核发送的缺页处理消息之前,所述接收模块,还用于:接收应用进程发送的所述待映射文件的文件映射请求消息;发送所述文件映射请求消息对应的第二请求消息至文件系统;接收所述文件系统发送的所述第二请求消息对应的第二应答消息,所述第二应答消息中包括所述待映射文件对应的所述文件信息;为所述文件信息对应的所述待映射文件分配对应的虚拟地址,并存储所述待映射文件对应的虚拟地址和所述待映射文件对应的文件信息之间的对应关系。18、根据本公开的一个实施方式,所述映射模块,进一步用于:为所述待映射文件创建所述物理地址与所述虚拟地址的映射关系;将所述映射关系发送至所述内核。19、根据本公开的一个实施方式,所述接收模块,进一步用于:获取所述文件映射请求消息中的文件描述符;生成所述第二请求消息,所述第二请求消息中包括所述文件描述符;发送所述第二请求消息至所述文件系统,以使所述文件系统查找第二请求消息中的所述文件描述符对应的文件,并将所述文件确定为所述待映射文件,获取所述待映射文件对应的所述文件信息,其中所述文件信息中包括所述待映射文件对应的设备信息和/或节点信息。20、根据本公开的一个实施方式,所述接收模块,进一步用于:确定所述待映射文件对应的虚拟地址的虚拟地址描述符;将所述待映射文件对应的文件信息存储至所述虚拟地址描述符中,以形成所述待映射文件对应的虚拟地址和所述待映射文件对应的文件信息之间的对应关系。21、为达上述目的,本公开第三方面提出了一种车辆,包括:如本公开第二方面所述的文件映射装置。22、为达上述目的,本公开第四方面提出了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第一方面所述的文件映射方法。23、为达上述目的,本公开第五方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面所述的文件映射方法。24、本公开实施例的文件映射方法在进行文件映射时,直接在缓存页中查找文件信息对应的待映射文件,将虚拟地址和待映射文件在缓存页中对应的物理地址进行关联,实现文件映射,对于同一个只读文件来说,只需在缓存页中存放一次即可,无需重复从文件系统读入内存的操作,避免过多占用物理内存。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1