CN116126472B - 一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 - Google Patents
一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 Download PDFInfo
- Publication number
- CN116126472B CN116126472B CN202310058241.0A CN202310058241A CN116126472B CN 116126472 B CN116126472 B CN 116126472B CN 202310058241 A CN202310058241 A CN 202310058241A CN 116126472 B CN116126472 B CN 116126472B
- Authority
- CN
- China
- Prior art keywords
- mapping
- memory space
- file
- address
- physical memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,通过文件内存映射将共享文件直接映射到物理内存空间,再将共享文件对应的物理内存空间映射到虚拟机中,在虚拟机中采用该物理内存空间及共享文件元信息构建PCIe设备,使虚拟机通过PCIe设备实现对文件的读操作,相较于现有的文件共享方式仅需完成一次读文件的操作即可实现文件共享,有效节约了内存和CPU的消耗,提高了文件共享的速度及效率。
Description
技术领域
本发明属于跨运行环境开发技术领域,具体涉及一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法。
背景技术
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,安装在虚拟机中的操作系统通常被称为GuestOS(Guest Operating System),安装虚拟机的物理计算机(宿主机)上的操作系统通常被称为Host OS(Host Operating System)。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量,每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
实际使用中,Host OS与Guest OS之间经常需要共享文件。从技术角度看,Host OS与Guest OS间的文件共享通常有两种实现方式:一是基于Samba协议实现文件共享,这种方式的本质是Host OS与GuestOS之间通过网络共享文件,例如Host OS将文件内容读到内存中后再将内存中的文件通过网络发送至Guest OS,Guest OS将文件内容读取到内存后,再将文件内容写入到文件系统中,该过程中执行的操作包括一次文件读取、两次内存复制及一次文件写入;二是基于虚拟机的私有通信协议实现文件共享,私有通信协议通常是指通过构建PCIe设备实现高速通信的方式,例如Host OS将文件内容读到内存后再将内存中的文件内容通过虚拟PCIe设备写入Guest OS的内存,Guest OS再将文件内容写入到文件系统中,该过程中执行的操作包括一次文件读取、一次内存复制及一次文件写入。
例如,Windows版本的xDroid就是通过将安卓系统安装在虚拟机内,再将虚拟机运行在Windows系统上实现了安卓应用在Windows系统上的运行,当用户在该Windows系统上执行安装安卓应用的操作时,也就是安装安卓应用对应的apk文件时,xDroid需要将该apk文件先复制到虚拟机内,再在安卓系统内执行标准的安装操作,安装完成后该apk文件即可被删除。
综上所述,无论是采用上述哪种方式实现Host OS与Guest OS间的文件共享,操作过程都涉及了多次的文件读写及内存复制操作,因此都产生了较多的内存和CPU的消耗,进而降低了文件共享的效率。
发明内容
有鉴于此,本发明提供了一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,能够实现虚拟机与宿主机之间快速的文件共享。
本发明提供的一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,具体包括以下步骤:
步骤1、在Host OS中获取共享文件的句柄,记为第一句柄,根据第一句柄创建文件映射内核对象;当共享文件的大小不大于阈值时,执行步骤2;否则,令起始位置为零后执行步骤3;
步骤2、由文件映射内核对象将共享文件的全部内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4;
步骤3、从起始位置截取阈值大小的共享文件的内容,由文件映射内核对象将该内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4;
步骤4、在Host OS中创建PCIe设备,记为主PCIe设备,令主PCIe设备锁定第一映射地址对应的第一物理内存空间;
步骤5、在Guest OS中创建PCIe设备,记为从PCIe设备,将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间,将I/O地址空间的读写操作映射到第一物理内存空间的读写操作,基于共享文件的元信息及第二映射地址构建虚拟块设备,由虚拟块设备完成共享文件的读操作;
步骤6、移除虚拟块设备,删除第二映射地址,释放第一物理内存空间,依次关闭文件映射内核对象及第一句柄。
进一步地,所述步骤4中令主PCIe设备锁定第一映射地址对应的第一物理内存空间的方式为:
步骤4.1、根据虚拟机软件所在进程对应的CR3寄存器,获取该CR3寄存器所指向的页目录表PDT;遍历页目录表PDT,找到第一映射地址对应的物理内存,记为第一物理内存空间;
步骤4.2、若第一物理内存空间的属性为非分页内存,则调用MmBuildMdlForNonPagedPool为第一物理内存空间分配内存描述符表MDL;若第一物理内存空间的属性为分页内存,则调用MmAllocatePagesForMdl为第一物理内存空间分配内存描述符表MDL;
步骤4.3、若内存描述符表MDL为空,则调用MmProbeAndLockPages锁定第一物理内存空间;若内存描述符表MDL不为空,则调用MmMapLockedPagesSpecifyCache锁定内存描述符表MDL对应的物理内存空间。
进一步地,所述共享文件的元信息包括超级块表、数据块表、索引节点表、目录表、数据块表及文件扩展属性表。
进一步地,所述步骤5中由虚拟块设备完成共享文件的读操作的方式为:
设置虚拟块设备为只读模式,将虚拟块设备读操作的地址映射到元信息和第二映射地址分别对应的内存空间;当读取第二映射地址对应的内存空间时,若产生缺页异常,则不向上抛出异常,并由从PCIe设备通知主PCIe设备,以当前第一物理内存空间中保存的共享文件的结束位置为起始位置执行步骤3;若未产生缺页异常,则完成共享文件的读操作。
进一步地,所述步骤1中在Host OS中获取共享文件的句柄,记为第一句柄,根据第一句柄创建文件映射内核对象的方式为:VirtualBox在用户态调用CreateFile方法获取共享文件的句柄,记为第一句柄,以第一句柄为输入调用CreateFileMapping方法创建文件映射内核对象。
进一步地,所述步骤5中将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间的方式为:调用Linux的内核函数ioremap将从PCIe设备I/O地址空间映射到地址为第二映射地址的GuestOS的内存空间。
有益效果:
本发明通过文件内存映射将共享文件直接映射到物理内存空间,再将共享文件对应的物理内存空间映射到虚拟机中,在虚拟机中采用该物理内存空间及共享文件元信息构建PCIe设备,使虚拟机通过PCIe设备实现对文件的读操作,相较于现有的文件共享方式仅需完成一次读文件的操作即可实现文件共享,有效节约了内存和CPU的消耗,提高了文件共享的速度及效率。
具体实施方式
下面列举实施例,对本发明进行详细描述。
本发明提供的一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,其核心思想是:通过文件内存映射将共享文件直接映射到物理内存空间,再将共享文件对应的物理内存空间映射到虚拟机,在虚拟机中采用该物理内存空间及共享文件元信息构建PCIe设备,虚拟机通过PCIe设备实现对文件的读操作。
本发明提供的一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,具体包括以下步骤:
步骤1、在Host OS中获取共享文件的句柄,记为第一句柄,根据第一句柄创建文件映射内核对象;当共享文件的大小不大于阈值时,执行步骤2;否则,令起始位置为零后执行步骤3。
步骤2、由文件映射内核对象将共享文件的全部内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4。
步骤3、从起始位置截取阈值大小的共享文件的内容,由文件映射内核对象将该内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4。
步骤4、在Host OS中创建PCIe设备,记为主PCIe设备,令主PCIe设备锁定第一映射地址对应的第一物理内存空间。
为了进一步提高获取和锁定物理内存空间的效率,步骤4的实现过程还可为:
步骤4.1、根据虚拟机软件所在进程对应的CR3寄存器,获取该CR3寄存器所指向的页目录表PDT;遍历页目录表PDT,找到第一映射地址对应的物理内存,记为第一物理内存空间。
在现有x86处理器中,只有CR3寄存器内存储了物理地址,其它寄存器中存储的都是线性地址,即虚拟地址,CR3寄存器内存储的物理地址指向页目录表PDT。在Windows系统中,内存页的大小通常为4KB,即一个内存页能够存储1024个页目录表项PDE,页目录表项PDE是页目录表PDT中的元素,每个页目录表项PDE指向一个页表PTT,每个页表PTT的大小为4KB,即一个页表PTT能够存储1024个页表项PTE,页表项PTE是页表PTT内的元素,页表项PTE所指向的才是真正的物理内存页。
步骤4.2、若第一物理内存空间的属性为非分页内存,则调用MmBuildMdlForNonPagedPool为第一物理内存空间分配内存描述符表MDL;若第一物理内存空间的属性为分页内存,则调用MmAllocatePagesForMdl为第一物理内存空间分配内存描述符表MDL。
内存描述符表MDL是用于描述虚拟内存缓冲区的物理页面布局的数据结构。
步骤4.3、若内存描述符表MDL为空,则调用MmProbeAndLockPages锁定第一物理内存空间;若内存描述符表MDL不为空,则调用MmMapLockedPagesSpecifyCache锁定内存描述符表MDL对应的物理内存空间。
步骤5、在Guest OS中创建PCIe设备,记为从PCIe设备,将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间,将I/O地址空间的读写操作映射到第一物理内存空间的读写操作,基于共享文件的元信息及第二映射地址构建虚拟块设备,由虚拟块设备完成共享文件的读操作。
为了进一步提高共享文件读操作的可靠性,步骤5的过程还可为:
步骤5.1、将从PCIe设备的I/O地址空间大小配置共享文件的大小;将该I/O地址空间映射到Guest OS对应的内存空间,映射地址记为第二映射地址。
步骤5.2、将从PCIe设备的I/O地址空间的读写操作映射到第一物理内存空间的读写操作。
步骤5.3、构建虚拟块设备,虚拟块设备包括共享文件的元信息和第二映射地址所指向的内存空间,其中,共享文件的元信息包括超级块表、数据块表、索引节点表、目录表、数据块表、文件扩展属性表等属性。
步骤5.4、设置虚拟块设备为只读模式,将虚拟块设备读操作的地址映射到元信息和第二映射地址分别对应的内存空间;当读取第二映射地址对应的内存空间时,若产生缺页异常,说明共享文件的大小大于阈值当前读操作的处理范围超出了已锁定的第一物理内存空间的范围,则不向上抛出异常,并由从PCIe设备通知主PCIe设备,以当前第一物理内存空间中保存的共享文件的结束位置为起始位置执行步骤3;若未产生缺页异常,则完成共享文件的读操作。
步骤6、移除虚拟块设备,删除第二映射地址,释放第一物理内存空间,依次关闭文件映射内核对象及第一句柄。
实施例:
本实例中Host OS为Windows系统、Guest OS为Linux系统,采用本发明提供的一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,通过修改VirtualBox实现了从Host OS将共享文件sharedFile复制到Guest OS的操作,具体包括以下步骤:
S1、修改VirtualBox将sharedFile映射到虚拟机软件对应进程的内存空间,包括:
S1.1、VirtualBox在用户态调用CreateFile获取sharedFile的句柄sharedFileHandle;
S1.2、在用户态,以sharedFileHandle为输入调用CreateFileMapping,创建文件映射内核对象mappingHandle;
S1.3、在用户态,将sharedFile的文件内容映射到虚拟机软件进程对应的连续内存空间,若sharedFile的大小不大于256MB,则调用MapViewOfFile将sharedFile文件的全部内容映射到连续内存空间中,返回连续内存空间的起始地址mappedAddress;否则,调用MapViewOfFile将sharedFile中的第0字节到第256MB字节的部分内容映射连续内存空间中,返回连续内存空间的起始地址mappedAddress;
S2、在内核态,基于Host OS内的虚拟PCIe设备驱动,创建PCIe设备virtualPciDeviceInWindows,锁定mappedAddress对应的物理内存,包括:
S2.1、获取虚拟机软件进程的CR3寄存器,得到CR3寄存器所指向的页目录表PDT;
S2.2、遍历PDT、PDE和PTE,得到mappedAddress所指向的物理内存空间mappedPhysicalAddress;
S2.3、若mappedPhysicalAddress为非分页内存,则调用MmBuildMdlForNonPagedPool为mappedPhysicalAddress分配MDL;若mappedPhysicalAddress为分页内存,则调用MmAllocatePagesForMdl为mappedPhysicalAddress分配MDL;分配的MDL,记为mappedPhysicalAddressMDL;
S2.4、若mappedPhysicalAddressMDL为空,则调用MmProbeAndLockPages锁定mappedAddress对应的物理内存空间;否则,调用MmMapLockedPagesSpecifyCache锁定mappedPhysicalAddressMDL对应的物理内存空间。
S3、在内核态,基于Guest OS端的虚拟PCIe设备驱动创建PCIe设备,记为virtualPciDeviceInLinux,将mappedPhysicalAddress对应的物理内存空间映射到Linux内核,并基于该内存空间构建虚拟块设备,包括:
S3.1、通过属性配置,将virtualPciDeviceInLinux的I/O地址空间大小配置为sharedFile的大小,将地址空间大小记为sharedFileSize。
S3.2、调用Linux的内核函数ioremap将virtualPciDeviceInLinux的I/O地址空间映射到Linux内核地址空间,映射地址记为sharedFileMemAddressInLinuxKernel;
S3.3、将virtualPciDeviceInLinux的I/O地址空间的读写操作,映射到mappedPhysicalAddress指向的物理内存空间的读写操作;
S3.4、利用内存构建虚拟块设备,记为virtualRamDisk,virtualRamDisk中的内存包括两部分:一是EXT4文件系统的元信息,记为metaInfoBlock,元信息包括超级块表、数据块表、索引节点表、目录表、数据块表、文件扩展属性表等,用于使文件系统内具有与sharedFile相同属性的文件;二是sharedFileMemAddressInLinuxKernel所指向的内存空间。
S3.5、将virtualRamDisk的读写处理函数设置为:对于写操作,设置为不执行任何写操作;对于读操作,将读操作的地址映射到metaInfoBlock和sharedFileMemAddressInLinuxKernel对应的内存空间,在读取sharedFileMemAddressInLinuxKernel指向的内存空间时若产生缺页异常,则不向上抛出异常,并通过virtualPciDeviceInLinux通知virtualPciDeviceInWindows,将sharedFile中对应的部分内容映射到内存并锁定对应的物理内存区域后,执行读操作;若未产生缺页异常,则执行标准读操作。
S4、当sharedFile使用完毕后,执行以下清理操作:
S4.1、在virtualPciDeviceInLinux端,移除virtualRamDisk后,调用iounmap删除sharedFileMemAddressInLinuxKernel的地址映射;
S4.2、在Host OS的用户态下,调用UnmapViewOfFile从虚拟机对应进程的内存空间撤销文件内容的映射,再调用CloseFile关闭文件映射内核对象mappingHandle,最后调用CloseFile关闭文件内核对象sharedFileHandle。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法,其特征在于,具体包括以下步骤:
步骤1、在Host OS中获取共享文件的句柄,记为第一句柄,根据第一句柄创建文件映射内核对象;当共享文件的大小不大于阈值时,执行步骤2;否则,令起始位置为零后执行步骤3;
步骤2、由文件映射内核对象将共享文件的全部内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4;
步骤3、从起始位置截取阈值大小的共享文件的内容,由文件映射内核对象将该内容映射到虚拟机软件进程对应的连续内存空间中,将该连续内存空间的起始地址作为第一映射地址,执行步骤4;
步骤4、在Host OS中创建PCIe设备,记为主PCIe设备,令主PCIe设备锁定第一映射地址对应的第一物理内存空间;
步骤5、在Guest OS中创建PCIe设备,记为从PCIe设备,将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间,将I/O地址空间的读写操作映射到第一物理内存空间的读写操作,基于共享文件的元信息及第二映射地址构建虚拟块设备,由虚拟块设备完成共享文件的读操作;
步骤6、移除虚拟块设备,删除第二映射地址,释放第一物理内存空间,依次关闭文件映射内核对象及第一句柄。
2.根据权利要求1所述的跨运行环境文件快速共享方法,其特征在于,所述步骤4中令主PCIe设备锁定第一映射地址对应的第一物理内存空间的方式为:
步骤4.1、根据虚拟机软件所在进程对应的CR3寄存器,获取该CR3寄存器所指向的页目录表PDT;遍历页目录表PDT,找到第一映射地址对应的物理内存,记为第一物理内存空间;
步骤4.2、若第一物理内存空间的属性为非分页内存,则调用MmBuildMdlForNonPagedPool为第一物理内存空间分配内存描述符表MDL;若第一物理内存空间的属性为分页内存,则调用MmAllocatePagesForMdl为第一物理内存空间分配内存描述符表MDL;
步骤4.3、若内存描述符表MDL为空,则调用MmProbeAndLockPages锁定第一物理内存空间;若内存描述符表MDL不为空,则调用MmMapLockedPagesSpecifyCache锁定内存描述符表MDL对应的物理内存空间。
3.根据权利要求1所述的跨运行环境文件快速共享方法,其特征在于,所述共享文件的元信息包括超级块表、数据块表、索引节点表、目录表、数据块表及文件扩展属性表。
4.根据权利要求1所述的跨运行环境文件快速共享方法,其特征在于,所述步骤5中由虚拟块设备完成共享文件的读操作的方式为:
设置虚拟块设备为只读模式,将虚拟块设备读操作的地址映射到元信息和第二映射地址分别对应的内存空间;当读取第二映射地址对应的内存空间时,若产生缺页异常,则不向上抛出异常,并由从PCIe设备通知主PCIe设备,以当前第一物理内存空间中保存的共享文件的结束位置为起始位置执行步骤3;若未产生缺页异常,则完成共享文件的读操作。
5.根据权利要求1所述的跨运行环境文件快速共享方法,其特征在于,所述步骤1中在Host OS中获取共享文件的句柄,记为第一句柄,根据第一句柄创建文件映射内核对象的方式为:VirtualBox在用户态调用CreateFile方法获取共享文件的句柄,记为第一句柄,以第一句柄为输入调用CreateFileMapping方法创建文件映射内核对象。
6.根据权利要求1所述的跨运行环境文件快速共享方法,其特征在于,所述步骤5中将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间的方式为:调用Linux的内核函数ioremap将从PCIe设备I/O地址空间映射到地址为第二映射地址的Guest OS的内存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310058241.0A CN116126472B (zh) | 2023-01-20 | 2023-01-20 | 一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310058241.0A CN116126472B (zh) | 2023-01-20 | 2023-01-20 | 一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116126472A CN116126472A (zh) | 2023-05-16 |
CN116126472B true CN116126472B (zh) | 2023-06-09 |
Family
ID=86295169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310058241.0A Active CN116126472B (zh) | 2023-01-20 | 2023-01-20 | 一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126472B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954830B (zh) * | 2023-09-18 | 2023-12-26 | 麒麟软件有限公司 | jailhouse下使虚拟机实现msi/x中断的方法 |
CN117056031B (zh) * | 2023-10-11 | 2023-12-29 | 北京麟卓信息科技有限公司 | 一种基于虚拟进程的跨容器动态库共享方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
JP2010033206A (ja) * | 2008-07-28 | 2010-02-12 | Fujitsu Ltd | 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法 |
CN102736969A (zh) * | 2012-05-22 | 2012-10-17 | 中国科学院计算技术研究所 | 一种针对硬件虚拟化的内存监控方法和系统 |
CN106155933A (zh) * | 2016-07-06 | 2016-11-23 | 乾云众创(北京)信息科技研究院有限公司 | 一种基于KSM及Pass‑through相结合的虚拟机内存共享方法 |
CN108932170A (zh) * | 2018-06-06 | 2018-12-04 | 华东师范大学 | 一种同驻虚拟机间高效共享内存文件系统的机制 |
CN111190752A (zh) * | 2019-12-30 | 2020-05-22 | 海光信息技术有限公司 | 虚拟机共享内核内存的方法及装置 |
CN111679921A (zh) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | 内存共享方法、内存共享装置及终端设备 |
-
2023
- 2023-01-20 CN CN202310058241.0A patent/CN116126472B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158924A (zh) * | 2007-11-27 | 2008-04-09 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
JP2010033206A (ja) * | 2008-07-28 | 2010-02-12 | Fujitsu Ltd | 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法 |
CN102736969A (zh) * | 2012-05-22 | 2012-10-17 | 中国科学院计算技术研究所 | 一种针对硬件虚拟化的内存监控方法和系统 |
CN106155933A (zh) * | 2016-07-06 | 2016-11-23 | 乾云众创(北京)信息科技研究院有限公司 | 一种基于KSM及Pass‑through相结合的虚拟机内存共享方法 |
CN108932170A (zh) * | 2018-06-06 | 2018-12-04 | 华东师范大学 | 一种同驻虚拟机间高效共享内存文件系统的机制 |
CN111190752A (zh) * | 2019-12-30 | 2020-05-22 | 海光信息技术有限公司 | 虚拟机共享内核内存的方法及装置 |
CN111679921A (zh) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | 内存共享方法、内存共享装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116126472A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116126472B (zh) | 一种基于动态内存虚拟磁盘的跨运行环境文件快速共享方法 | |
CN109564522B (zh) | 控制对计算装置的存储器中的页的访问 | |
US10067684B2 (en) | File access method and apparatus, and storage device | |
JP4237190B2 (ja) | 仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム | |
US7085909B2 (en) | Method, system and computer program product for implementing copy-on-write of a file | |
RU2373566C2 (ru) | Таблицы теневых страниц для управления преобразованием адресов | |
US9015417B2 (en) | Deduplication-aware page cache | |
WO2016127658A1 (zh) | 一种快照处理方法及装置 | |
US20180032443A1 (en) | Controlling Access to Pages in a Memory in a Computing Device | |
US10552377B2 (en) | Data discard method for journaling file system and memory management apparatus thereof | |
JP2757777B2 (ja) | メモリの不正アクセス検出方法及びシステム | |
WO2020141447A1 (en) | Selective erasure of data in a ssd | |
US9116621B1 (en) | System and method of transfer of control between memory locations | |
CN114327777B (zh) | 确定全局页目录的方法、装置、电子设备及存储介质 | |
US10037334B1 (en) | Memory management and sharing host OS files for Virtual Machines using execution-in-place | |
US10606746B2 (en) | Access request processing method and apparatus, and computer system | |
US10261895B2 (en) | System and method for transferring execution of a computer program | |
WO2022200962A1 (en) | Migrating pages of memory accessible by input-output devices | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
Bittman et al. | A tale of two abstractions: the case for object space | |
US6918023B2 (en) | Method, system, and computer program product for invalidating pretranslations for dynamic memory removal | |
CN105912277A (zh) | 在虚拟机镜像中实现文件系统单写日志的方法 | |
WO2015194027A1 (ja) | 計算機システム、データ更新方法、および仮想化サーバ | |
EP3252610B1 (en) | System and method of transfer of control between memory locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |