[发明专利]一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品有效
申请号: | 201680002834.3 | 申请日: | 2016-12-29 |
公开(公告)号: | CN107077377B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 温燕飞 | 申请(专利权)人: | 深圳前海达闼云端智能科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京新知远方知识产权代理事务所(普通合伙) 11397 | 代理人: | 申楠 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 设备 虚拟 方法 装置 系统 电子设备 计算机 程序 产品 | ||
本申请实施例中提供了一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品,该方法包括:在第一操作系统处创建共享内存,并将该共享内存映射为第二操作系统的外设部件互连标准PCI设备内存空间;其中,该共享内存对应于一物理设备;在第二操作系统处接收物理设备的应用接口API操作指令,并根据API操作指令,确定对应的处理指令;将处理指令通过共享内存传递至第一操作系统;在第一操作系统处执行处理指令,并将处理结果作为API操作指令的响应或者经共享内存返回给第二操作系统。采用本申请中的方案,能够减少虚拟化过程中的系统延时,提高系统性能。
技术领域
本申请涉及计算机技术,具体地,涉及一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品。
背景技术
图1中示出了基于Qemu/KVM(Kernel-based Virtual Machine,基于内核的虚拟机)技术的虚拟化架构。
如图1所示,基于Qemu/KVM技术的虚拟化架构由一个主Host操作系统,一个或多个虚拟出来的客Guest操作系统组成。Host操作系统包括多个Host用户空间程序、Host LinuxKernel,即,Host Linux内核。每个客Guest操作系统分别包括用户空间、Guest LinuxKernel、和Qemu。这些操作系统运行在同一套硬件处理器芯片上,共享处理器及外设资源。支持虚拟化架构的ARM处理器至少包含EL2,EL1,EL0三种模式,EL2模式下运行虚拟机管理器Hypervisor程序;EL1模式下运行Linux内核程序,即,Linux kernel程序;EL0模式下运行用户空间程序。Hypervisor层管理CPU、内存、定时器、中断等硬件资源,并通过中央处理器CPU、内存、定时器、中断的虚拟化资源,可以把不同的操作系统分时加载到物理处理器上运行,从而实现系统虚拟化的功能。
KVM/Hypervisor跨越Host Linux kernel和Hypervisor两层,一方面为模拟处理器Qemu提供驱动节点,即,允许Qemu通过KVM节点创建虚拟CPU,并管理虚拟化资源;另一方面KVM/Hypervisor还可以把Host Linux系统从物理CPU上切换出去,然后把Guest Linux系统加载到物理处理器上运行,并处理Guest Linux系统异常退出的后续事务。
Qemu作为Host Linux的一个应用运行,为Guest Linux的运行提供虚拟的物理设备资源,通过KVM/Hypervisor模块的设备KVM节点,创建虚拟CPU,分配物理设备资源,实现把一个未经修改的Guest Linux加载到物理处理器上去运行。
当Guest Linux需要访问物理设备时,比如GPU(Graphics Processing Unit,图形处理器)设备、多媒体设备、摄像设备等,需要对这些物理设备进行本地虚拟化,目前通常通过Qemu转接去调用Host Linux kernel的驱动节点;具体地,这些物理设备提供了较多数量的API(Application Programming Interface,应用程序编程接口)函数,可以通过远程API调用实现这些设备的虚拟化,具体地,可以从Host与Guest系统软件架构层次中选择合适的层进行API转接。例如,对于Android系统,Guest Android可以选择从HAL(Hard AbstractLayer,硬件抽象层)进行API转接;并在Host Linux用户空间实现一个后端服务器BackendServer,最终使Guest系统能够通过Host系统来实现API函数的远程调用。
跨系统API远程调用主要涉及到函数参数的传递、运行结果的返回、函数的执行时间以及同步。图2中示出了现有技术中跨系统API远程调用的系统架构。如图2所示,一个API的调用经由Guest Android系统发起,经HAL层、Guest Linux Kernel、Qemu、到达HostBackend server、然后调用Host Linux kernel驱动程序实现对物理设备的访问。对于性能要求较高的物理设备,比如GPU设备、多媒体设备、摄像设备等,上述软件架构很难达到理想的性能要求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海达闼云端智能科技有限公司,未经深圳前海达闼云端智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680002834.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:气动式全向扬声器及音箱
- 下一篇:便携式音箱