一种数据传输的方法、装置及电子设备制造方法及图纸

技术编号:8489706 阅读:211 留言:0更新日期:2013-03-28 08:48
本发明专利技术提供了一种数据传输的方法、装置及电子设备。其中,所述方法包括:获得所述第一操作系统欲传输至所述第二操作系统进行处理的数据;获得所述数据在所述第一操作系统中的第一虚拟地址;根据映射关系,将所述第一虚拟地址映射成第二操作系统中的第二物理地址;获得所述第二物理地址,以在所述第二操作系统下对所述第二物理地址对应的数据进行处理。本发明专利技术能够提高操作系统之间的数据传输效率。

【技术实现步骤摘要】

本专利技术涉及虚拟机
,尤其涉及一种数据传输的方法、装置及电子设备
技术介绍
现有电子设备中可能运行有多个操作系统,例如运行于硬件平台之上的主机操作系统(Host OS),以及运行于主机操作系统之上的客户操作系统(Guest OS),客户操作系统具体可以是运行在所述主机操作系统中的虚拟机管理器(VMM)之上。由于客户操作系统的运行依靠另一操作系统,不直接与硬件平台交互,因而其对数据文件的处理性能通常较低或者无法对一些数据进行处理。举例来说,当使用客户操作系统播放高清视频文件时,由于客户操作系统无法直接与显卡交互,只能使用CPU对视频文件进行软解码,软解码的性能较低,因而会导致视频画面的不连贯、丢帧等现象的发生。为解决上述问题,通常将客户操作系统需要处理的数据,传送给主机操作系统,由主机操作系统进行处理,这样,客户操作系统可以不需要对这些数据进行处理,而是直接使用主机操作系统处理后的结果。为了实现数据在两个操作系统之间的数据传输,现有技术采用的方案是在客户操作系统和主机操作系统之间建立一个固定的内存,在这段内存上建立一个循环队列,由客户操作系统和主机操作系统共同操作这个队列,从而完成传递数据的工作。该方案的缺点在于,需要至少一次内存数据拷贝动作,例如,将客户操作系统的数据拷贝至主机操作系统能够处理的一块内存,这对于频繁的大数据量的数据传输来说,效率不高。
技术实现思路
本专利技术实施例所要解决的技术问题是提供一种数据传输的方法、装置及电子设备,用以提高操作系统之间的数据传输效率。为解决上述技术问题,本专利技术实施例提供方案如下本专利技术实施例至少具有以下有益效果从以上所述可以看出,本专利技术实施例提供的数据传输的方法、装置及电子设备,通过将所述数据在第一操作系统下的虚拟地址,转换成在第二操作系统下的机器物理地址,以使得所述第二操作系统能够确定所述数据的存储空间,进而进行相应处理。由于并没有传输实际数据,传输的只是地址的信息,因此,本实施例能够减少操作系统之间的数据传输,大大提高数据传输效率,尤其在数据量较大时,本专利技术实施例的优势更为突出。另外,虽然本实施例是由第二操作系统代为处理第一操作系统下的数据,但是本实施例中第二操作系统能够直接操作第一操作系统的内存,因此没有发生内存数据拷贝,从而能够大大降低由于传输数据而造成的数据性能处理损失。附图说明图1为本专利技术实施例的数据传输的方法的流程示意图2为本专利技术实施例的数据传输的装置的结构示意图;图3为本专利技术实施例的电子设备的结构示意图。具体实施例方式本专利技术实施例能够建立两个操作系统之间的高效数据通道,能够操作系统之间的数据传输效率,在频繁、大量的数据传输情况下本专利技术实施例的优点更为明显。以下将结合附图,通过具体实施例对本专利技术作进一步的说明。如图1所示为本专利技术实施例的数据传输的方法的流程示意图,该数据传输方法应用于一电子设备,该电子设备包括第二操作系统、运行于第二操作系统之上的第一操作系统。例如,该第一操作系统可以是直接运行于该电子设备的硬件平台之上,可以直接与硬件平台交互的主机操作系统(Host OS),该主机操作系统中可安装有虚拟机平台(例如VMM), 第一操作系统可以是运行于该虚拟机平台之上的客户操作系统(Guest OS)。由于该第一操作系统运行于该电子设备的虚拟机平台之上,通常不直接与硬件平台交互,因而该第一操作系统的数据处理性能和数据处理速度通常要低于该第二操作系统的数据处理性能和数据处理速度。本专利技术实施例中,第一操作系统和第二操作系统可以是不同类型的操作系统,其中,第二操作系统能够直接运行于电子设备的硬件平台上,而第一操作系统可以是无法直接运行于电子设备的硬件平台上。举例来说,电子设备为计算机,第二操作系统可以是Windows操作系统,第一操作系统可以是Android操作系统,Windows操作系统能够直接运行于计算机的硬件平台上,而Android操作系统无法直接运行于计算机的硬件平台上。本实施例中,第一操作系统运行在第二操作系统之上,第二操作系统通常为第一操作系统提供一个虚拟的物理地址空间,可以称之为客户物理地址空间(即第一操作系统中的物理地址)。运行在第二操作系统之上的第一操作系统认为自己在物理机器上运行并使用该客户物理地址空间中的客户物理地址(Guest Physical Address, GPA)进行寻址。第二操作系统需要维护第一操作系统中的物理地址(GPA)到第二操作系统中真实的机器物理地址(Host Physical Address, ΗΡΑ)之间的映射关系,该映射关系可以记录在Ρ2Μ表(Physical to Machine Mapping, P2M)中。本专利技术实施例的数据传输的方法包括以下步骤步骤11,获得所述第一操作系统欲传输至所述第二操作系统进行处理的数据。这里,所述数据可以是第一操作系统中的数据文件中的数据,例如音、视频文件中的数据,第一操作系统对这些数据的处理性能通常不如第二操作系统,因此希望将这些数据传输至第二操作系统进行相应处理,例如通过第二操作系统对视频数据进行解码处理以得到图像解码数据。步骤12,获得所述数据在所述第一操作系统中的第一虚拟地址。操作系统在对数据进行处理时,通常需要申请虚拟地址,并将申请到的虚拟地址与该数据的物理地址进行映射,然后,对根据该虚拟地址,对该虚拟地址中的数据进行处理。这里,第一操作系统认为自己在物理机器上运行并使用客户物理地址空间的物理地址进行寻址。所述第一虚拟地址,是所述数据在所述第一操作系统的客户物理地址空间中的第一物理地址所映射的虚拟地址。步骤13,根据映射关系,将所述第一虚拟地址映射成第二操作系统中的第二物理地址。由于第二操作系统下是真实的机器物理地址,因此,为使得第二操作系统能够对所述数据进行处理,需要将所述数据在第一操作系统中的第一虚拟地址转换为在第二操作系统中的第二物理地址,即所述数据的真实的机器物理地址。步骤14,获得所述第二物理地址,以在所述第二操作系统下对所述第二物理地址对应的数据进行处理。这里,第二操作系统获得上述步骤13中得到的上述第二物理地址之后,可以对所述数据进行相应的处理,此时,本实施例还可以包括以下步骤步骤15,在所述第二操作系统下申请与所述第二物理地址对应的第二虚拟地址,将所述第二物理地址和所述第二虚拟地址进行映射,从而可以在所述第二操作系统下,根据所述第二虚拟地址,确定待处理的所述数据并进行相应的处理。通过以上步骤,本专利技术实施例实现了将第一操作系统中的待处理的数据,发送给第二操作系统进行处理。实质上,本实施例中并没有在两个操作系统之间传输所述数据,而是通过将所述数据在第一操作系统下的虚拟地址,转换成在第二操作系统下的机器物理地址,以使得所述第二操作系统能够确定所述数据的存储空间,进而进行相应处理。由于并没有传输实际数据,传输的只是地址的信息,因此,本实施例能够减少操作系统之间的数据传输,大大提高数据传输效率,尤其在数据量较大时,本专利技术实施例的优势更为突出。由此可见,虽然本实施例是由第二操作系统代为处理第一操作系统下的数据,但是本实施例中第二操作系统能够直接操作第一操作系统的内存,因此没有发生一次内存数据拷贝,能够大大降低由于传输数据而造成的数据性能处理损失。本本文档来自技高网...

【技术保护点】
一种数据传输的方法,应用于一电子设备,所述电子设备包括有第二操作系统和运行在所述第二操作系统之上的第一操作系统;其特征在于,所述方法包括:获得所述第一操作系统欲传输至所述第二操作系统进行处理的数据;获得所述数据在所述第一操作系统中的第一虚拟地址;根据映射关系,将所述第一虚拟地址映射成第二操作系统中的第二物理地址;获得所述第二物理地址,以在所述第二操作系统下对所述第二物理地址对应的数据进行处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭琦路尧陈实
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1