CN101847105A - 一种计算机及多操作系统共享内存的方法 - Google Patents
一种计算机及多操作系统共享内存的方法 Download PDFInfo
- Publication number
- CN101847105A CN101847105A CN200910080933A CN200910080933A CN101847105A CN 101847105 A CN101847105 A CN 101847105A CN 200910080933 A CN200910080933 A CN 200910080933A CN 200910080933 A CN200910080933 A CN 200910080933A CN 101847105 A CN101847105 A CN 101847105A
- Authority
- CN
- China
- Prior art keywords
- operating system
- visit
- data
- shared drive
- directly
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种计算机及多操作系统共享内存的方法,其中计算机包括:硬件平台;运行在硬件平台上的虚拟机管理器;运行在虚拟机管理器上的第一操作系统和第二操作系统;虚拟机管理器包括:分配模块,用于在物理内存中为第一操作系统和第二操作系统分配一具有连续内存地址的共享内存;第一操作模块用于接收第一操作系统发出的访问数据,并将访问数据直接存储在共享内存中,或者将共享内存中存储的访问结果数据发送至第一操作系统;第二操作模块用于将访问数据发送至第二操作系统,接收第二操作系统根据访问数据返回的访问结果数据,并将访问结果数据直接存储在共享内存中。本发明的方案大大提高了计算机的多操作系统之间数据传输的效率。
Description
技术领域
本发明涉及计算机的虚拟技术领域,特别是指一种计算机及多操作系统共享内存的方法。
背景技术
如图1所示,为计算机的虚拟架构示意图,该架构包括:位于计算机底层的硬件平台,运行在硬件平台之上的虚拟机管理器(VMM,Virtual Machine Manager),安装在虚拟机管理器VMM之上的多个操作系统,其中一个操作系统为Server OS(服务操作系统,简称SOS),其余为Guest OS,即客户操作系统,该客户操作系统可以为多个,用户可以在Guest OS中进行各种应用操作,但这些应用操作涉及的对底层硬件平台中硬件设备的操作时,需要通过Server OS进行传输,比如Guest OS系统中QEMU(是一个模拟加速器软件,可以模拟出用户空间和电脑的系统空间)模拟出来的虚拟设备需要和Server OS中的虚拟设备进行通讯,Guest OS的前端应用和Server OS中的后端驱动也需要进行通讯。对于会发生大量数据传输的硬件设备来说,每次读写操作,都将涉及到前后端的大量数据拷贝。
如图2所示,Guest OS与Server OS之间数据传输最常用的方式就是Grant Table(授权访问页表)的共享内存方式。这种方式是:虚拟机管理器从硬件平台中的物理内存中,为Guest OS中分配一段虚拟内存(见图2中的虚线框所表示的Grant Table共享内存),然后通过地址转换得到这段虚拟内存的物理内存地址,在Server OS中,再通过地址映射,根据该物理内存地址得到在Server OS中能够直接访问的虚拟地址。这样,在前后端之间或QEMU设备之间,就能够同时对该共享内存进行读写。
然而,Guest OS的前端应用在给Grant Table的共享内存中写入数据后,Server OS中的后端驱动能够直接读到数据。这些数据是在虚拟地址空间的,当这些数据往真正设备上发送时,往往还需要将数据从Grant Table的共享内存拷贝到Server OS中的DMA内存中,以便对硬件设备的访问。这样的话,在Server OS中的应用,对1个读/写操作来说,就需要一次内存拷贝,即将数据从Grant Table的共享内存中,拷贝到设备能够直接访问的DMA内存中。这样的方式会带来一个问题,频繁的内存拷贝,会经常修改和刷新CPU的TLB(Translation Lookaside Buffer,旁路转换缓冲,是虚拟地址到物理地址的转换表)表,这样在系统负载比较重的情况下,对计算机的整体性能会产生很大的影响。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
现有的虚拟机架构中,计算机的多个操作系统之间进行数据传输时,会涉及大量的数据拷贝,这样,会严重影响计算机的整体性能。
发明内容
本发明要解决的技术问题是提供一种计算机及多操作系统共享内存的方法,使计算机多操作系统能够对一块共享内存进行直接读/写,而不需要多次将Guest OS的访问数据进行拷贝,这样大大提高了计算机的多操作系统之间的数据传输效率,进而提高计算机的整体性能。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种计算机,包括:
硬件平台,具有物理内存和硬件设备;
虚拟机管理器,运行在所述硬件平台上;
第一操作系统,运行在所述虚拟机管理器上;
第二操作系统,运行在所述虚拟机管理器上;
所述虚拟机管理器包括:
分配模块,用于在所述物理内存中,为所述第一操作系统和所述第二操作系统分配一共享内存,所述共享内存具有连续内存地址;
第一操作模块,用于接收所述第一操作系统发出的访问数据,并将所述访问数据直接存储在所述共享内存中,或者将所述共享内存中存储的访问结果数据发送至所述第一操作系统;
第二操作模块,用于将所述访问数据发送至所述第二操作系统,接收所述第二操作系统根据所述访问数据返回的所述访问结果数据,并将所述访问结果数据直接存储在所述共享内存中。
优选的,所述第一操作系统包括:
第一获取模块,用于获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第一操作系统能够直接访问的第一虚拟地址;
第一处理模块,用于根据所述第一虚拟地址将所述访问数据发送给所述第一操作模块,并存储到所述共享内存中,或者从所述第一操作模块接收所述访问结果数据。
优选的,所述第二操作系统包括:
第二获取模块,用于获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第二操作系统能够直接访问的第二虚拟地址;
第二处理模块,用于根据所述第二虚拟地址从所述第二操作模块接收所述访问数据,或者将所述访问结果数据发送给所述第二操作模块,并存储到所述共享内存中。
优选的,所述第一操作系统包括:
第三获取模块,用于获取所述共享内存中一连续内存段的机器物理地址,并将所述内存段的机器物理地址映射成所述第一操作系统能够直接访问的第三虚拟地址;
第三处理模块,用于根据所述第三虚拟地址将所述访问数据发送给所述第一操作模块,并存储到所述内存段中,或者从所述第一操作模块接收所述访问结果数据。
优选的,所述第二操作系统包括:
第四获取模块,用于从所述第三获取模块获取所述内存段的机器物理地址,并将所述内存段的机器物理地址映射成所述第二操作系统能够直接访问的第四虚拟地址;
第四处理模块,用于根据所述第四虚拟地址从所述第二操作模块接收所述访问数据,或者将所述访问结果数据发送给所述第二操作模块,并存储到所述内存段中。
优选的,所述访问数据为:所述第一操作系统对所述硬件设备的访问数据,所述访问结果数据为:所述第二操作系统根据所述访问数据从所述硬件设备返回的访问结果数据;或者
所述访问数据为:所述第一操作系统对所述第二操作系统的访问数据,所述访问结果数据为:根据所述访问数据从所述第二操作系统返回的访问结果数据。
另一方面,还提供一种多操作系统共享内存的方法,所述方法运用在包括有第一操作系统、第二操作系统和虚拟机管理器的计算机中,包括:
接收所述第一操作系统发出的访问数据;
将所述访问数据直接存储在一共享内存中,所述共享内存是,所述虚拟机管理器在所述计算机的物理内存中,为所述第一操作系统和所述第二操作系统分配的一块具有连续内存地址的内存;
将所述访问数据发送至所述第二操作系统;
接收访问结果数据,所述访问结果数据是所述第二操作系统根据所述访问数据返回的访问结果数据;
将所述访问结果数据直接存储在所述共享内存中;
将所述共享内存中的访问结果数据直接发送至所述第一操作系统。
优选的,所述将所述访问数据直接存储在一共享内存中的步骤之前还包括:
从所述虚拟机管理器中获取所述共享内存的机器物理地址;
将所述共享内存的机器物理地址映射成所述第一操作系统能够直接访问的第一虚拟地址;
所述将所述访问数据直接存储在一共享内存中的步骤具体为:
根据所述第一虚拟地址将所述访问数据直接存储在所述共享内存中。
优选的,所述根据所述第一虚拟地址将所述访问数据直接存储在所述共享内存中的步骤之后还包括:
获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第二操作系统能够直接访问的第二虚拟地址;
所述将所述访问结果数据直接存储在所述共享内存中的步骤具体为:
根据所述第二虚拟地址将所述访问结果数据直接存储在所述共享内存中。
优选的,所述将所述访问数据直接存储在一共享内存中的步骤之前还包括:
从所述虚拟机管理器中获取所述共享内存中一内存段的机器物理地址;
将所述内存段的机器物理地址映射成所述第一操作系统能够直接访问的第三虚拟地址;
所述将所述访问数据直接存储在一共享内存中的步骤具体为:
根据所述第三虚拟地址将所述访问数据直接存储到所述共享内存的所述内存段中。
优选的,所述根据所述第三虚拟地址将所述访问数据直接存储到所述共享内存的所述内存段中的步骤之后还包括:
将所述内存段的机器物理地址传输至所述第二操作系统,并由所述第二操作系统将所述内存段的机器物理地址映射成所述第二操作系统能够直接访问的第四虚拟地址;
所述将所述访问结果数据直接存储在所述共享内存中的步骤具体为:
根据所述第四虚拟地址将所述访问结果数据直接存储到所述共享内存的所述内存段中。
优选的,所述访问数据为:所述第一操作系统对所述计算机的硬件设备的访问数据,所述访问结果数据为:所述第二操作系统根据所述访问数据从所述硬件设备返回的访问结果数据;或者
所述访问数据为:所述第一操作系统对所述第二操作系统的访问数据,所述访问结果数据为:根据所述访问数据从所述第二操作系统返回的访问结果数据。
本发明的实施例具有以下有益效果:
上述方案通过虚拟机管理器VMM为计算机的多个操作系统分配一块共享内存,而且该共享内存具有连续的内存地址,使计算机的多个操作系统(如第一操作系统和第二操作系统,其中第一操作系统可以为多个)能够对该共享内存直接进行访问,特别是返回访问结果数据的操作系统能够直接访问该具有连续地址的共享内存,不必再每次访问的数据进行拷贝,这样大大提高了计算机的操作系统之间数据传输的效率,进而提高计算机的整体性能。
附图说明
图1为现有的虚拟机架构示意图;
图2为现有的操作系统之间对硬件设备的访问数据的传输示意图;
图3为本发明的实施例计算机架构示意图;
图4为图3所示计算机的一具体结构示意图;
图5为图3所示计算机的另一具体结构示意图;
图6为图3、图4或图5所示的计算机的具体工作流程示意图;
图7为本发明的实施例多操作系统共享内存的方法的流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中计算机的多个操作系统之间进行数据传输时,会涉及大量的数据拷贝,严重影响计算机的整体性能的问题,提供一种计算机及多操作系统共享内存的方法。
如图3所示,本发明的实施例的计算机,包括:
硬件平台,具有物理内存和硬件设备;
虚拟机管理器,该虚拟机管理器如VMM,该虚拟机管理器运行在该硬件平台上;
第一操作系统,该第一操作系统如Guest OS,该第一操作系统可运行在该虚拟机管理器上;当然该Guest OS在虚拟机系统中可以是多个,每个Guest OS与该计算机中的其它部件之间的数据处理关系与此处的Guest OS相同;
第二操作系统,该第二操作系统如Server OS操作系统,该第二操作系统也可以运行在该虚拟机管理器上;该第二操作系统在虚拟机系统中可以对该硬件设备直接进行操作,上述第一操作系统对该硬件设备的访问数据都要经过该第二操作系统进行;其中,
上述虚拟机管理器包括:
分配模块,用于在该物理内存中,为该第一操作系统和该第二操作系统分配一共享内存,该共享内存具有连续内存地址;
第一操作模块,用于接收该第一操作系统发出的访问数据,并将该访问数据直接存储在该共享内存中,或者将该共享内存中存储的访问结果数据发送至该第一操作系统;
第二操作模块,用于将该访问数据发送至该第二操作系统,接收该第二操作系统根据该访问数据返回的该访问结果数据,并将该访问结果数据直接存储在该共享内存中。
该实施例通过在计算机的虚拟机管理器层,为计算机的操作系统分配一块具有连续内存地址的共享内存,该第一操作系统和第二操作系统并可以直接访问该共享内存,第一操作系统将其发出的访问数据直接存储在该共享内存中,使第二操作系统能够直接读取,或者第二操作系统将返回的访问结果数据存储在该共享内存中,使第一操作系统能够直接读取,这样,第一操作系统和第二操作系统之间的传输的数据,避免了将上述访问数据从Grant Table共享内存到第二操作系统的DMA内存的拷贝,使该第一操作系统和第二操作系统之间的数据传输效率得到极大提高,从而提高计算机的整体性能。
其中,在上述实施例中,第一操作系统发出的访问数据可以为:第一操作系统对计算机的硬件设备的访问数据,则访问结果数据为:第二操作系统根据该访问数据从该硬件设备返回的访问结果数据;这样在提高第一操作系统与第二操作系统之间数据传输效率的同时,可以加速对硬件设备访问;
然而,上述的实施例的技术方案对于非共享硬件设备的数据访问也可以适用,例如第一操作系统中的第一应用与第二操作系统中的第二应用之间传递大量数据等,也可以将该第一应用与第二应用之间传递的数据存储在该共享内存中,使第一操作系统和第二操作系统通过直接访问该共享内存,避免数据从Grant Table共享内存到第二操作系统的DMA内存的拷贝,提高第一操作系统与第二操作系统之间数据传输效率,此时,上述访问数据可以为:第一操作系统对第二操作系统的访问数据,特别是对第二操作系统中的一个应用,上述访问结果数据为:第二操作系统根据该访问数据从第二操作系统的应用返回的访问结果数据。
如图4所示,在上述图3所示实施例的基础上,当第一操作系统的一个应用发出访问请求时,可以将上述整块共享内存映射给该第一操作系统和第二操作系统使用,因此,上述第一操作系统可具体包括:
第一获取模块,用于获取该共享内存的机器物理地址,并将该共享内存的机器物理地址映射成该第一操作系统能够直接访问的第一虚拟地址;
第一处理模块,用于根据该第一虚拟地址将该访问数据发送给该第一操作模块,并存储到该共享内存中,或者从该第一操作模块接收该访问结果数据。
该实施例中,由于共享内存是在虚拟机管理器VMM初始化时,预留的一块具有连续内存地址的物理内存,因此,运行在该虚拟机管理器VMM上的操作系统要想对该共享内存进行访问,就需要将该共享内存的机器物理地址映射成自己能够直接访问的虚拟地址,操作系统通过该虚拟地址将其要发送的数据存储到该共享内存中或者通过该虚拟地址读取该共享内存中的数据。
上述第二操作系统包括:
第二获取模块,用于获取该共享内存的机器物理地址,并将该共享内存的机器物理地址映射成第二操作系统能够直接访问的第二虚拟地址;
第二处理模块,用于根据该第二虚拟地址从该第二操作模块接收所述访问数据,或者将返回的所述访问结果数据发送给第二操作模块,并存储到该共享内存中。
该实施例中,第二获取模块既可以自己从虚拟机管理器中获取该共享内存的机器物理地址,也可以从第一获取模块中获取该共享内存的机器物理地址,也就是说,第一获取模块获取该共享内存的机器物理地址后,将该共享内存的机器物理地址传输给第二获取模块;
另外,还可以是第一操作系统与第二操作系统之间约定的共享内存的机器物理地址,使用时,第一操作系统直接根据该约定的机器物理地址对该共享内存进行访问;
上述第二获取模块还可以通过一ID号,从虚拟机管理器VMM获取统一的机器物理地址,该ID号是第一操作系统和第二操作系统的一对通讯模块固定ID号。
这样,第二获取模块就会将该共享内存的机器物理地址映射成自己能够直接访问的虚拟地址,第二处理模块根据该虚拟地址从该共享内存中直接读取相关的访问数据,根据该访问数据对硬件设备或者对第二操作系统中的应用进行操作,将从硬件设备或者第二操作系统的应用返回的访问结果数据根据该虚拟地址存储到该共享内存中,供第一处理模块读取。
如图5所示,在上述图3所示实施例的基础上,若第一操作系统有多个应用同时发出访问请求时,可以针对每一个应用,将上述共享内存中的一段内存映射给该第一操作系统中的一个应用,因此,上述第一操作系统包括:
第三获取模块,用于获取该共享内存中一连续内存段的机器物理地址,并将该内存段的机器物理地址映射成该第一操作系统能够直接访问的第三虚拟地址;
第三处理模块,用于根据该第三虚拟地址将该访问数据发送给该第一操作模块,并存储到该内存段中,或者从该第一操作模块接收返回的访问结果数据。
该实施例中,第三获取模块如同上述实施例中第一获取模块,获取该共享内存中的一连续内存段的机器物理地址后,将其映射成该第一操作系统中的应用能够直接访问的虚拟地址,这样,该第三处理模块就能够根据该虚拟地址将第一操作系统发出的访问数据存储到该共享内存的相应内存段中。
上述第二操作系统包括:
第四获取模块,用于从该第三获取模块获取该内存段的机器物理地址,并将该内存段的机器物理地址映射成该第二操作系统能够直接访问的第四虚拟地址;
第四处理模块,用于根据该第四虚拟地址从该第二操作模块接收所述访问数据,或者将返回的所述访问结果数据发送给该第二操作模块,并存储到该内存段中。
该实施例中,第四获取模块需要从第三获取模块中获取该共享内存中的内存段的机器物理地址,也就是说,第三获取模块获取该内存段的机器物理地址后,需要将该内存段的机器物理地址传输给第四获取模块,这样,第四获取模块就会知道第一操作系统中的每一个应用所采用的内存段,以便将正确的从该内存段中读/写数据,之后将该内存段的机器物理地址映射成自己能够直接访问的虚拟地址;该第四处理模块根据该虚拟地址从相应的内存中读取相关的访问数据,并根据该访问数据对硬件设备或者第二操作系统中的应用进行操作,将从硬件设备或者第二操作系统中的应用返回的访问结果数据根据该虚拟地址存储到该内存段中,供第三处理模块读取。
如图6所示,在上述所有实施例中,第一处理模块或第三处理模块具体可以为第一操作系统中的一个应用,而第二处理模块或第四处理模块具体可以为硬件设备的驱动或者一个应用,下面结合图6描述上述实施例中计算机的第一操作系统和第二操作系统利用共享内存进行传输对硬件设备操作的数据的具体过程:
VMM初始化时,预先保留一段连续的物理内存空间,用于前后端内存的共享;这里的前端是指第一操作系统,如Guest OS,这里的后端是指第二操作系统,如Server OS;
前端使用之前,可以先调用HYPE CALL函数,调用VMM中的分配函数,得到共享内存的地址,然后映射到前端的虚拟空间;
也可以得到共享内存中的一内存段地址后,传送给后端,后端进行地址映射,从而后端得到后端能够直接访问的地址;
在使用的时候,前端应用将数据拷贝到共享内存,然后后端就把该共享内存的地址直接传给后端设备驱动,并且以DMA方式对硬件设备进行读/写,以便加速对硬件设备的访问;
对硬件设备的读/写操作完成后,后端设备驱动直接返回,并通知前端,读/写操作完成;
前端收到通知后,直接从共享内存中读数据,从而完成整个数据的操作过程。
下面以前端和后端的读/写操作过程为例,描述共享内存的创建和使用流程:
1.前后端共享内存的创建流程:
VMM在初始化的时候,预留一些连续的物理内存,作为全局的共享内存;
Guest OS启动后,若有多个应用需要访问,前端为每一个应用向VMM中请共享内存中的1内存段,并将该内存段映射到Guest OS的虚拟地址空间,使得前端应用能够直接进行访问该内存段;
前端把申请到的内存段的机器物理地址和大小,传给后端;
后端根据得到的机器物理地址进行地址映射,得到后端设备驱动能够直接访问的地址。
2.前端和后端的1个写操作过程:
前端应用得到调用者的设备写操作请求,提取出数据的大小和数据buff的地址;
前端从申请的共享内存中分配1块相同大小的内存段,把数据buff的内存拷贝到这个内存段中,并将这个内存段地址传送给后端;
后端把相应的地址直接传给后端设备驱动,并且以DMA的方式通知设备驱动进行写数据操作;
设备驱动以DMA的方式完成写数据操作;
后端把写操作的完成结果通知前端;
前端直接把结果返回给调用者。
3.前端和后端的读操作过程和上述写操作过程类似,在此不再赘述。
综上,本发明的实施例通过在VMM层次分配具有连续内存地址的共享内存,这样对第二操作系统来说,就可以直接当作DMA(直接存储器访问)内存使用,让设备驱动以DMA方式对设备进行读/写操作,而不需要从后端的虚拟内存拷贝到设备的物理内存。这种方法能够减少内存拷贝的次数,从而提高操作系统间数据的传输效率,进而提高虚拟机的整体性能。
另外,本发明的实施例中,在VMM层次分配共享内存,能够保证分配的内存是连续的,从而使得操作系统在访问内存的时候,能够提高操作系统的内存访问效率。
如图7所示,本发明的实施例还提供一种多操作系统共享内存的方法,该方法运用在包括有第一操作系统、第二操作系统和虚拟机管理器的计算机中,包括:
步骤71,接收计算机的第一操作系统发出的访问数据;
步骤72,将所述访问数据直接存储在一共享内存中,所述共享内存是,所述计算机的虚拟机管理器在所述计算机的物理内存中,为所述第一操作系统和所述计算机的第二操作系统分配的一块具有连续内存地址的内存;
步骤73,将所述访问数据发送至所述第二操作系统;
步骤74,接收访问结果数据,所述访问结果数据是所述第二操作系统根据所述访问数据返回的访问结果数据;
步骤75,将所述访问结果数据直接存储在所述共享内存中;
步骤76,将所述共享内存中的访问结果数据直接发送至所述第一操作系统。
该实施例中的第一操作系统可以为多个,每一个第一操作系统与第二操作系统之间的数据传输方式相同;
该实施例中,上述访问数据为:第一操作系统对计算机的硬件设备的访问数据,该访问结果数据为:第二操作系统根据该访问数据从该硬件设备返回的访问结果数据;这样在提高第一操作系统与第二操作系统之间数据传输效率的同时,加速对硬件设备访问;
该实施例的技术方案对于非共享硬件设备的数据访问也可以适用,例如第一操作系统中的第一应用与第二操作系统中的第二应用之间传递大量数据等,也可以将该第一应用与第二应用之间传递的数据存储在该共享内存中,使第一操作系统和第二操作系统通过直接访问该共享内存,避免数据从Grant Table共享内存到第二操作系统的DMA内存的拷贝,提高第一操作系统与第二操作系统之间数据传输效率,此时,上述访问数据可以为:第一操作系统对第二操作系统的访问数据,特别是对第二操作系统中的一个应用,上述访问结果数据为:第二操作系统根据该访问数据从第二操作系统的应用返回的访问结果数据。
该实施例通过计算机的虚拟机管理器为计算机的操作系统分配一块具有连续内存地址的共享内存,使第一操作系统或者第二操作系统都能够直接对该共享内存进行访问,减少了数据从Grant Table共享内存到第二操作系统的DMA内存的拷贝,使该第一操作系统和第二操作系统之间的数据传输效率得到极大提高,从而提高整个虚拟机系统的性能。
在上述方法中,当第一操作系统的一个应用发出访问请求时,可以将上述整块共享内存映射给该第一操作系统和第二操作系统使用,其中,步骤72之前还包括:
步骤721,获取该共享内存的机器物理地址,并将该共享内存的机器物理地址映射成第一操作系统能够直接访问的第一虚拟地址;
则步骤72具体为:
步骤722,根据该第一虚拟地址将计算机的第一操作系统发出的访问数据直接存储到该共享内存中,其中该访问数据包括但不限于:对硬件设备的访问数据,对第二操作系统的应用的访问数据。
而在步骤722之后还可包括:
步骤723,获取该共享内存的机器物理地址,并将该共享内存的机器物理地址映射成该第二操作系统能够直接访问的第二虚拟地址;
步骤724,根据该第二虚拟地址将根据该访问数据返回的该访问结果数据直接存储到该共享内存中,其中该访问结果数据包括但不限于:从硬件设备返回的访问结果数据,从第二操作系统的应用返回的访问结果数据。
其中,步骤723中,第二操作系统获取该共享内存的机器物理地址的方式可以为但不限于以下几种:
1.第二操作系统从虚拟机管理器中获取该共享内存的机器物理地址;
2.第二操作系统从第一操作系统中获取该共享内存的机器物理地址;
3.第一操作系统与第二操作系统之间约定的共享内存的机器物理地址,使用时,第一操作系统或者第二操作系统直接根据该约定的机器物理地址对该共享内存进行访问;
4.第二操作系统通过一ID号,从虚拟机管理器VMM获取统一的机器物理地址,该ID号是第一操作系统和第二操作系统的一对通讯模块固定ID号。
另外,若第一操作系统有多个应用同时发出访问请求时,可以针对每一个应用,将上述共享内存中的一段内存映射给该第一操作系统中的一个应用,则上述步骤72之前还可包括:
步骤725,获取该共享内存中一内存段的机器物理地址,并将该内存段的机器物理地址映射成该第一操作系统能够直接访问的第三虚拟地址;
则步骤72步骤具体为:
步骤726,根据该第三虚拟地址将计算机的第一操作系统发出的访问数据直接存储到一具有连续内存地址的共享内存中的该内存段中,其中,该访问数据包括但不限于:对硬件设备的访问数据,对第二操作系统的应用的访问数据。
而步骤726之后还包括:
步骤727,第一操作系统将该内存段的机器物理地址传输至该第二操作系统,并由该第二操作系统将该内存段的机器物理地址映射成该第二操作系统能够直接访问的第四虚拟地址;
步骤728,根据该第四虚拟地址将返回的该访问结果数据直接存储到该内存段中,该访问结果数据包括但不限于:从硬件设备返回的访问结果数据,从第二操作系统的应用返回的访问结果数据。
本发明的实施例通过在虚拟机管理器VMM层次分配共享内存,这样对第二操作系统来说,就可以直接当作DMA内存使用,让第二操作系统以DMA方式进行读/写操作,而不需要从第二操作系统的虚拟内存拷贝到设备的物理内存。这种方法能够减少内存拷贝的次数,从而提高系统的访问效率。
另外,本发明的实施例中,在VMM层次分配共享内存,能够保证分配的内存是连续的,从而使得系统在访问内存的时候,能够提高系统的内存访问效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种计算机,包括:
硬件平台,具有物理内存和硬件设备;
虚拟机管理器,运行在所述硬件平台上;
第一操作系统,运行在所述虚拟机管理器上;
第二操作系统,运行在所述虚拟机管理器上;其特征在于,
所述虚拟机管理器包括:
分配模块,用于在所述物理内存中,为所述第一操作系统和所述第二操作系统分配一共享内存,所述共享内存具有连续内存地址;
第一操作模块,用于接收所述第一操作系统发出的访问数据,并将所述访问数据直接存储在所述共享内存中,或者将所述共享内存中存储的访问结果数据发送至所述第一操作系统;
第二操作模块,用于将所述访问数据发送至所述第二操作系统,接收所述第二操作系统根据所述访问数据返回的所述访问结果数据,并将所述访问结果数据直接存储在所述共享内存中。
2.根据权利要求1所述的计算机,其特征在于,所述第一操作系统包括:
第一获取模块,用于获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第一操作系统能够直接访问的第一虚拟地址;
第一处理模块,用于根据所述第一虚拟地址将所述访问数据发送给所述第一操作模块,并存储到所述共享内存中,或者从所述第一操作模块接收所述访问结果数据。
3.根据权利要求2所述的计算机,其特征在于,所述第二操作系统包括:
第二获取模块,用于获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第二操作系统能够直接访问的第二虚拟地址;
第二处理模块,用于根据所述第二虚拟地址从所述第二操作模块接收所述访问数据,或者将所述访问结果数据发送给所述第二操作模块,并存储到所述共享内存中。
4.根据权利要求1所述的计算机,其特征在于,所述第一操作系统包括:
第三获取模块,用于获取所述共享内存中一连续内存段的机器物理地址,并将所述内存段的机器物理地址映射成所述第一操作系统能够直接访问的第三虚拟地址;
第三处理模块,用于根据所述第三虚拟地址将所述访问数据发送给所述第一操作模块,并存储到所述内存段中,或者从所述第一操作模块接收所述访问结果数据。
5.根据权利要求4所述的计算机,其特征在于,所述第二操作系统包括:
第四获取模块,用于从所述第三获取模块获取所述内存段的机器物理地址,并将所述内存段的机器物理地址映射成所述第二操作系统能够直接访问的第四虚拟地址;
第四处理模块,用于根据所述第四虚拟地址从所述第二操作模块接收所述访问数据,或者将所述访问结果数据发送给所述第二操作模块,并存储到所述内存段中。
6.根据权利要求1-5任一项所述的计算机,其特征在于,所述访问数据为:所述第一操作系统对所述硬件设备的访问数据,所述访问结果数据为:所述第二操作系统根据所述访问数据从所述硬件设备返回的访问结果数据;或者
所述访问数据为:所述第一操作系统对所述第二操作系统的访问数据,所述访问结果数据为:根据所述访问数据从所述第二操作系统返回的访问结果数据。
7.一种多操作系统共享内存的方法,所述方法运用在包括有第一操作系统、第二操作系统和虚拟机管理器的计算机中,其特征在于,包括:
接收所述第一操作系统发出的访问数据;
将所述访问数据直接存储在一共享内存中,所述共享内存是所述虚拟机管理器在所述计算机的物理内存中,为所述第一操作系统和所述第二操作系统分配的一块具有连续内存地址的内存;
将所述访问数据发送至所述第二操作系统;
接收访问结果数据,所述访问结果数据是所述第二操作系统根据所述访问数据返回的访问结果数据;
将所述访问结果数据直接存储在所述共享内存中;
将所述共享内存中的访问结果数据直接发送至所述第一操作系统。
8.根据权利要求7所述的方法,其特征在于,所述将所述访问数据直接存储在一共享内存中的步骤之前还包括:
从所述虚拟机管理器中获取所述共享内存的机器物理地址;
将所述共享内存的机器物理地址映射成所述第一操作系统能够直接访问的第一虚拟地址;
所述将所述访问数据直接存储在一共享内存中的步骤具体为:
根据所述第一虚拟地址将所述访问数据直接存储在所述共享内存中。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一虚拟地址将所述访问数据直接存储在所述共享内存中的步骤之后还包括:
所述第二操作系统获取所述共享内存的机器物理地址,并将所述共享内存的机器物理地址映射成所述第二操作系统能够直接访问的第二虚拟地址;
所述将所述访问结果数据直接存储在所述共享内存中的步骤具体为:
根据所述第二虚拟地址将所述访问结果数据直接存储在所述共享内存中。
10.根据权利要求7所述的方法,其特征在于,所述将所述访问数据直接存储在一共享内存中的步骤之前还包括:
从所述虚拟机管理器中获取所述共享内存中一内存段的机器物理地址;
将所述内存段的机器物理地址映射成所述第一操作系统能够直接访问的第三虚拟地址;
所述将所述访问数据直接存储在一共享内存中的步骤具体为:
根据所述第三虚拟地址将所述访问数据直接存储到所述共享内存的所述内存段中。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第三虚拟地址将所述访问数据直接存储到所述共享内存的所述内存段中的步骤之后还包括:
将所述内存段的机器物理地址传输至所述第二操作系统,并由所述第二操作系统将所述内存段的机器物理地址映射成所述第二操作系统能够直接访问的第四虚拟地址;
所述将所述访问结果数据直接存储在所述共享内存中的步骤具体为:
根据所述第四虚拟地址将所述访问结果数据直接存储到所述共享内存的所述内存段中。
12.根据权利要求7-11任一项所述的方法,其特征在于,所述访问数据为:所述第一操作系统对所述计算机的硬件设备的访问数据,所述访问结果数据为:所述第二操作系统根据所述访问数据从所述硬件设备返回的访问结果数据;或者
所述访问数据为:所述第一操作系统对所述第二操作系统的访问数据,所述访问结果数据为:根据所述访问数据从所述第二操作系统返回的访问结果数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100809335A CN101847105B (zh) | 2009-03-26 | 2009-03-26 | 一种计算机及多操作系统共享内存的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100809335A CN101847105B (zh) | 2009-03-26 | 2009-03-26 | 一种计算机及多操作系统共享内存的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101847105A true CN101847105A (zh) | 2010-09-29 |
CN101847105B CN101847105B (zh) | 2013-09-04 |
Family
ID=42771731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100809335A Active CN101847105B (zh) | 2009-03-26 | 2009-03-26 | 一种计算机及多操作系统共享内存的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101847105B (zh) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426536A (zh) * | 2011-10-26 | 2012-04-25 | 深圳市亚特尔科技有限公司 | 一种多任务间数据通信的实现方法及系统 |
CN102541618A (zh) * | 2010-12-29 | 2012-07-04 | 中国移动通信集团公司 | 一种通用图形处理器虚拟化的实现方法、系统及装置 |
CN102541619A (zh) * | 2010-12-23 | 2012-07-04 | 国际商业机器公司 | 虚拟机管理装置和方法 |
CN102567275A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种多核处理器上多个操作系统间内存访问的方法及系统 |
CN102571912A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法 |
CN102810071A (zh) * | 2011-05-30 | 2012-12-05 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机 |
WO2012163275A1 (zh) * | 2011-05-30 | 2012-12-06 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机系统 |
WO2012171438A1 (zh) * | 2011-06-17 | 2012-12-20 | 天津书生投资有限公司 | 一种传递共享内存的方法和装置 |
CN103064632A (zh) * | 2012-12-04 | 2013-04-24 | 记忆科技(深圳)有限公司 | 固态硬盘及其虚拟化方法、系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
CN103186462A (zh) * | 2011-12-30 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | Android操作系统检测方法及系统 |
CN103559075A (zh) * | 2013-10-30 | 2014-02-05 | 华为技术有限公司 | 一种数据传输方法、装置和系统及内存装置 |
CN104410909A (zh) * | 2014-11-28 | 2015-03-11 | 江苏银河电子股份有限公司 | Linux系统软件模块在TVOS系统中的使用方法 |
CN105184192A (zh) * | 2015-08-26 | 2015-12-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种双操作系统的音频数据处理方法和装置 |
CN105635219A (zh) * | 2014-11-06 | 2016-06-01 | 上海贝尔股份有限公司 | 用于实施虚拟基站间通信的方法和基带处理单元 |
CN106020997A (zh) * | 2016-05-13 | 2016-10-12 | 北京红山世纪科技有限公司 | 一种用于虚拟机间数据传输的方法和系统 |
CN106375371A (zh) * | 2016-08-22 | 2017-02-01 | 四川安嵌科技有限公司 | 一种跨域访问服务的方法及系统 |
WO2017067391A1 (zh) * | 2015-10-22 | 2017-04-27 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
CN106797388A (zh) * | 2016-12-29 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
CN106797470A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
CN106844008A (zh) * | 2017-01-03 | 2017-06-13 | 华为技术有限公司 | 一种数据操作的方法、设备及系统 |
CN106959881A (zh) * | 2016-01-08 | 2017-07-18 | 华为技术有限公司 | 发送数据的方法和装置 |
CN107077377A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN107329790A (zh) * | 2017-06-30 | 2017-11-07 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN107491354A (zh) * | 2017-07-03 | 2017-12-19 | 北京东土科技股份有限公司 | 一种基于共享内存的虚拟机间通信方法及装置 |
CN107710160A (zh) * | 2015-07-08 | 2018-02-16 | 株式会社日立制作所 | 计算机和存储区域管理方法 |
CN107995129A (zh) * | 2017-11-30 | 2018-05-04 | 锐捷网络股份有限公司 | 一种nfv报文转发方法和装置 |
CN107996026A (zh) * | 2016-12-27 | 2018-05-04 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体编解码方法、装置及电子设备 |
CN108124475A (zh) * | 2017-12-29 | 2018-06-05 | 深圳前海达闼云端智能科技有限公司 | 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备 |
CN108369604A (zh) * | 2017-12-28 | 2018-08-03 | 深圳前海达闼云端智能科技有限公司 | 一种多操作系统共享文件系统的方法、装置和电子设备 |
CN108984270A (zh) * | 2018-07-18 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种虚拟机的内存分配方法和装置 |
CN111367549A (zh) * | 2020-02-29 | 2020-07-03 | 惠州华阳通用电子有限公司 | 一种双系统及其升级方法 |
CN113094349A (zh) * | 2021-03-29 | 2021-07-09 | 惠州华阳通用电子有限公司 | 一种基于虚拟机的双系统日志上报方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100472451C (zh) * | 2006-04-20 | 2009-03-25 | 联想(北京)有限公司 | 一种虚拟机系统及其硬件设备访问方法 |
CN100573456C (zh) * | 2007-12-10 | 2009-12-23 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
-
2009
- 2009-03-26 CN CN2009100809335A patent/CN101847105B/zh active Active
Cited By (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567275A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种多核处理器上多个操作系统间内存访问的方法及系统 |
CN102571912A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法 |
CN102571912B (zh) * | 2010-12-08 | 2014-09-10 | 中国科学院声学研究所 | 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法 |
CN102567275B (zh) * | 2010-12-08 | 2014-01-08 | 中国科学院声学研究所 | 一种多核处理器上多个操作系统间内存访问的方法及系统 |
CN102541619A (zh) * | 2010-12-23 | 2012-07-04 | 国际商业机器公司 | 虚拟机管理装置和方法 |
CN102541619B (zh) * | 2010-12-23 | 2015-09-16 | 国际商业机器公司 | 虚拟机管理装置和方法 |
CN102541618B (zh) * | 2010-12-29 | 2015-05-27 | 中国移动通信集团公司 | 一种通用图形处理器虚拟化的实现方法、系统及装置 |
CN102541618A (zh) * | 2010-12-29 | 2012-07-04 | 中国移动通信集团公司 | 一种通用图形处理器虚拟化的实现方法、系统及装置 |
WO2012163275A1 (zh) * | 2011-05-30 | 2012-12-06 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机系统 |
CN102810071B (zh) * | 2011-05-30 | 2015-01-28 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机 |
CN102810071A (zh) * | 2011-05-30 | 2012-12-05 | 联想(北京)有限公司 | 控制方法、控制装置以及计算机 |
WO2012171438A1 (zh) * | 2011-06-17 | 2012-12-20 | 天津书生投资有限公司 | 一种传递共享内存的方法和装置 |
CN102426536A (zh) * | 2011-10-26 | 2012-04-25 | 深圳市亚特尔科技有限公司 | 一种多任务间数据通信的实现方法及系统 |
CN102426536B (zh) * | 2011-10-26 | 2014-04-09 | 深圳市亚特尔科技有限公司 | 一种多任务间数据通信的实现方法及系统 |
CN103186462A (zh) * | 2011-12-30 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | Android操作系统检测方法及系统 |
CN103064632A (zh) * | 2012-12-04 | 2013-04-24 | 记忆科技(深圳)有限公司 | 固态硬盘及其虚拟化方法、系统 |
CN103064632B (zh) * | 2012-12-04 | 2016-03-23 | 记忆科技(深圳)有限公司 | 固态硬盘及其虚拟化方法、系统 |
CN103092678A (zh) * | 2013-01-22 | 2013-05-08 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
CN103092678B (zh) * | 2013-01-22 | 2016-01-13 | 华中科技大学 | 一种多增量虚拟机内存管理系统和方法 |
CN103559075A (zh) * | 2013-10-30 | 2014-02-05 | 华为技术有限公司 | 一种数据传输方法、装置和系统及内存装置 |
CN103559075B (zh) * | 2013-10-30 | 2016-10-05 | 华为技术有限公司 | 一种数据传输方法、装置和系统及内存装置 |
CN105635219A (zh) * | 2014-11-06 | 2016-06-01 | 上海贝尔股份有限公司 | 用于实施虚拟基站间通信的方法和基带处理单元 |
CN105635219B (zh) * | 2014-11-06 | 2020-04-03 | 上海诺基亚贝尔股份有限公司 | 用于实施虚拟基站间通信的方法和基带处理单元 |
CN104410909B (zh) * | 2014-11-28 | 2018-01-09 | 江苏银河电子股份有限公司 | Linux系统软件模块在TVOS系统中的使用方法 |
CN104410909A (zh) * | 2014-11-28 | 2015-03-11 | 江苏银河电子股份有限公司 | Linux系统软件模块在TVOS系统中的使用方法 |
CN107710160B (zh) * | 2015-07-08 | 2021-06-22 | 株式会社日立制作所 | 计算机和存储区域管理方法 |
CN107710160A (zh) * | 2015-07-08 | 2018-02-16 | 株式会社日立制作所 | 计算机和存储区域管理方法 |
CN105184192A (zh) * | 2015-08-26 | 2015-12-23 | 宇龙计算机通信科技(深圳)有限公司 | 一种双操作系统的音频数据处理方法和装置 |
WO2017067391A1 (zh) * | 2015-10-22 | 2017-04-27 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
CN106612306A (zh) * | 2015-10-22 | 2017-05-03 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
CN106959881B (zh) * | 2016-01-08 | 2021-06-22 | 华为技术有限公司 | 发送数据的方法和装置 |
CN106959881A (zh) * | 2016-01-08 | 2017-07-18 | 华为技术有限公司 | 发送数据的方法和装置 |
CN106020997B (zh) * | 2016-05-13 | 2019-07-16 | 北京红山世纪科技有限公司 | 一种用于虚拟机间数据传输的方法和系统 |
CN106020997A (zh) * | 2016-05-13 | 2016-10-12 | 北京红山世纪科技有限公司 | 一种用于虚拟机间数据传输的方法和系统 |
CN106375371A (zh) * | 2016-08-22 | 2017-02-01 | 四川安嵌科技有限公司 | 一种跨域访问服务的方法及系统 |
CN106375371B (zh) * | 2016-08-22 | 2019-11-22 | 四川安嵌科技有限公司 | 一种跨域访问服务的方法及系统 |
CN106797470A (zh) * | 2016-12-26 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
CN107996026A (zh) * | 2016-12-27 | 2018-05-04 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体编解码方法、装置及电子设备 |
WO2018119711A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体编解码方法、装置及电子设备 |
CN107077377A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN106797388A (zh) * | 2016-12-29 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
WO2018119955A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
WO2018119952A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN106797388B (zh) * | 2016-12-29 | 2020-11-10 | 深圳前海达闼云端智能科技有限公司 | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
CN107077377B (zh) * | 2016-12-29 | 2020-08-04 | 深圳前海达闼云端智能科技有限公司 | 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN106844008A (zh) * | 2017-01-03 | 2017-06-13 | 华为技术有限公司 | 一种数据操作的方法、设备及系统 |
CN107329790B (zh) * | 2017-06-30 | 2021-01-15 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN107329790A (zh) * | 2017-06-30 | 2017-11-07 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN107491354B (zh) * | 2017-07-03 | 2020-01-21 | 北京东土科技股份有限公司 | 一种基于共享内存的虚拟机间通信方法及装置 |
CN107491354A (zh) * | 2017-07-03 | 2017-12-19 | 北京东土科技股份有限公司 | 一种基于共享内存的虚拟机间通信方法及装置 |
CN107995129B (zh) * | 2017-11-30 | 2021-12-17 | 锐捷网络股份有限公司 | 一种nfv报文转发方法和装置 |
CN107995129A (zh) * | 2017-11-30 | 2018-05-04 | 锐捷网络股份有限公司 | 一种nfv报文转发方法和装置 |
CN108369604B (zh) * | 2017-12-28 | 2021-12-03 | 深圳前海达闼云端智能科技有限公司 | 一种多操作系统共享文件系统的方法、装置和电子设备 |
CN108369604A (zh) * | 2017-12-28 | 2018-08-03 | 深圳前海达闼云端智能科技有限公司 | 一种多操作系统共享文件系统的方法、装置和电子设备 |
WO2019127191A1 (zh) * | 2017-12-28 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 一种多操作系统共享文件系统的方法、装置和电子设备 |
CN108124475A (zh) * | 2017-12-29 | 2018-06-05 | 深圳前海达闼云端智能科技有限公司 | 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备 |
CN108124475B (zh) * | 2017-12-29 | 2022-05-20 | 达闼机器人股份有限公司 | 虚拟系统蓝牙通信方法及装置、虚拟系统、存储介质及电子设备 |
CN108984270B (zh) * | 2018-07-18 | 2020-12-01 | 苏州浪潮智能科技有限公司 | 一种虚拟机的内存分配方法和装置 |
CN108984270A (zh) * | 2018-07-18 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种虚拟机的内存分配方法和装置 |
CN111367549A (zh) * | 2020-02-29 | 2020-07-03 | 惠州华阳通用电子有限公司 | 一种双系统及其升级方法 |
CN111367549B (zh) * | 2020-02-29 | 2023-09-26 | 惠州华阳通用电子有限公司 | 一种双系统及其升级方法 |
CN113094349A (zh) * | 2021-03-29 | 2021-07-09 | 惠州华阳通用电子有限公司 | 一种基于虚拟机的双系统日志上报方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101847105B (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101847105B (zh) | 一种计算机及多操作系统共享内存的方法 | |
US9965392B2 (en) | Managing coherent memory between an accelerated processing device and a central processing unit | |
US20140095769A1 (en) | Flash memory dual in-line memory module management | |
CN100472451C (zh) | 一种虚拟机系统及其硬件设备访问方法 | |
CN101310259B (zh) | 用于共享l2映射高速缓存的对称分配的方法和系统 | |
CN113674133B (zh) | Gpu集群共享显存系统、方法、装置及设备 | |
CN102467473B (zh) | 一种在用户空间和内核之间传输数据的方法和装置 | |
US10055254B2 (en) | Accelerated data operations in virtual environments | |
CN1972293A (zh) | 通过网络操作单元处理器 | |
CN100570562C (zh) | 显卡、应用该显卡的虚拟机系统及显示处理方法 | |
CN111309649B (zh) | 一种数据传输和任务处理方法、装置及设备 | |
CN105335309B (zh) | 一种数据传输方法及计算机 | |
TW201636838A (zh) | 資源處理方法及裝置 | |
US20110202918A1 (en) | Virtualization apparatus for providing a transactional input/output interface | |
CN101459676A (zh) | 针对文件系统的基于高速网络的消息传输框架和方法 | |
CN109062826B (zh) | 数据传输方法及系统 | |
WO2018103022A1 (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN102291298B (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
CN104123173A (zh) | 一种实现虚拟机间通信的方法及装置 | |
US20090307458A1 (en) | Virtual real memory exportation for logical partitions | |
CN102193816B (zh) | 一种设备分配方法及系统 | |
JP2011175395A (ja) | 情報処理装置、画像読取装置、携帯端末、情報処理装置のメモリ制御方法、及び、プログラム | |
Sinha et al. | mWarp: accelerating Intra-host live container migration via memory warping | |
WO2001016761A2 (en) | Efficient page allocation | |
US9652560B1 (en) | Non-blocking memory management unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |