CN116820675A - 一种虚拟机处理方法、系统、电子设备和存储介质 - Google Patents

一种虚拟机处理方法、系统、电子设备和存储介质 Download PDF

Info

Publication number
CN116820675A
CN116820675A CN202310784888.1A CN202310784888A CN116820675A CN 116820675 A CN116820675 A CN 116820675A CN 202310784888 A CN202310784888 A CN 202310784888A CN 116820675 A CN116820675 A CN 116820675A
Authority
CN
China
Prior art keywords
client
host
kernel
processing unit
central processing
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.)
Pending
Application number
CN202310784888.1A
Other languages
English (en)
Inventor
王森
李军
孙丽
冯爽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FAW Group Corp
Original Assignee
FAW Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FAW Group Corp filed Critical FAW Group Corp
Priority to CN202310784888.1A priority Critical patent/CN116820675A/zh
Publication of CN116820675A publication Critical patent/CN116820675A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于处理器虚拟化的虚拟机处理方法、系统、电子设备和存储介质,方法步骤包括:主机对客户端内核进行编译;主机启动后,将客户端内核加载到主机内存中;主机为客户端创建对应的虚拟中央处理单元;主机的虚拟中央处理单元线程运行到主机‑客户端的切换点,跳转至客户端的镜像入口;虚拟中央处理单元根据上下文跳转至客户端的镜像入口;客户端启动。本发明能够通过软件实现处理器虚拟化架构,并在处理主机与客户端内核的内存编址方式时按照预先分配的地址对客户端进行编译,利用虚拟中央处理单元的上下文跳转至客户端的镜像入口,实现虚拟机的客户端启动,实时对虚拟机的客户端提供支持,增加了虚拟机的扩展性。

Description

一种虚拟机处理方法、系统、电子设备和存储介质
技术领域
本处理涉及一种处理方法、系统、电子设备和存储介质,尤其涉及一种虚拟机处理方法、系统、电子设备和存储介质。
背景技术
业界现存的处理器虚拟化有以下几类:1、基于硬件特性实现处理器虚拟化;2、软件模拟处理器;3、监控或改写敏感指令。
第一类方案被广泛使用,但是其问题在于很多处理器都不支持硬件虚拟化而且即使处理器支持硬件虚拟化,在很多环境下,处理器厂商并不把虚拟化硬件特性暴露给用户使用,而后二两类方案由于导致性能大幅下降,几乎不能被实际生产、商用场景下使用。
发明内容
本发明的目的在于提供一种虚拟机处理方法、系统、电子设备和存储介质,本发明能够在保证性能的同时兼容现有虚拟化生态,解决现有技术存在的缺憾。
本发明提供了下述方案:
一种基于处理器虚拟化的虚拟机处理方法,具体包括:
主机对客户端内核进行编译;
主机启动后,将客户端内核加载到主机内存中;
主机为客户端创建对应的虚拟中央处理单元;
主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
客户端启动。
进一步的,所述主机对客户端内核进行编译,具体为主机按照预先分配的地址对客户端进行编译。
进一步的,所述客户端启动后,将客户端内核加载到主机内存中,具体为:主机根据客户端的线程创建对应的虚拟中央处理单元。
进一步的,所述虚拟中央处理单元根据上下文跳转至客户端的镜像入口,具体为:主机的虚拟处理单元线程运行到主机/客户端切换点,虚拟处理单元线程根据虚拟中央处理单元上下文,跳转至客户端的镜像入口。
进一步的,在客户端启动前,客户端内核依次初始化客户端的相关子系统,直到客户端的根目录文件系统。
一种基于处理器虚拟化的虚拟机处理系统,具体包括:
客户端内核编译模块,用于主机对客户端内核进行编译;
客户端内核加载模块,用于主机启动后,将客户端内核加载到主机内存中;
虚拟中央处理单元创建模块,用于主机为客户端创建对应的虚拟中央处理单元;
虚拟中央处理单元线程跳转模块,主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
客户端镜像入口跳转模块,虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
虚拟机客户端启动模块,用于客户端启动。
进一步的,所述客户端内核编译模块,具体为主机按照预先分配的地址对客户端进行编译。
进一步的,所述客户端内核加载模块具体为:所述客户端启动后,将客户端内核加载到主机内存中,具体为:主机根据客户端的线程创建对应的虚拟中央处理单元。
一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行所述方法的步骤。
一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述计算机程序在所述电子设备上运行时,使得所述电子设备执所述方法的步骤。
本发明与现有技术相比具有以下的优点:本发明能够通过软件实现处理器虚拟化架构,并在处理主机与客户端内核的内存编址方式时按照预先分配的地址对客户端进行编译,利用虚拟中央处理单元的上下文跳转至客户端的镜像入口,实现虚拟机的客户端启动,实时对虚拟机的客户端提供支持,增加了虚拟机的扩展性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是虚拟机处理方法的流程图。
图2是虚拟机处理系统的架构图。
图3是本发明实施例在虚拟化总体方案具体应用场景中的实施方式。
图4是本发明实施例在虚拟化总体方案具体应用场景中的方法流程图。
图5是电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示的基于处理器虚拟化的虚拟机处理方法,具体包括:
步骤S1,主机对客户端内核guest kernel进行编译;
具体的,所述主机对客户端内核guest kernel进行编译,具体为主机按照预先分配的地址对客户端进行编译。
示例性的,将客户机内核基地址偏移主机内核地址一段距离,如512m。
步骤S2,主机启动后,将客户端内核加载到主机内存中;
具体的,主机根据客户端的线程创建对应的虚拟中央处理单元。
步骤S3,主机为客户端创建对应的虚拟中央处理单元V-cpu;
步骤S4,主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
步骤S5,虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
具体的,主机的虚拟处理单元线程V-cpu运行到主机/客户端切换点,虚拟处理单元线程V-cpu根据虚拟中央处理单元上下文,跳转至客户端的镜像入口。
步骤S6,客户端启动。
具体的,在客户端启动前,客户端内核依次初始化客户端的相关子系统,直到客户端的根目录文件系统。
对于上述实施例公开的方法步骤,出于简单描述的目的将方法步骤表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
流程图或以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序执行并实现功能,或者按照循环、分支等程序结构执行计算机指令并实现相应的功能,这是本领域技术人员在实施本发明实施例时理所当然可以理解的。
如图2所示的基于处理器虚拟化的虚拟机处理系统,具体包括:
客户端内核编译模块,用于主机对客户端内核guest kernel进行编译;
所述客户端内核编译模块,具体为主机按照预先分配的地址对客户端进行编译。
客户端内核加载模块,用于主机启动后,将客户端内核加载到主机内存中;
所述客户端内核加载模块具体为:所述客户端启动后,将客户端内核加载到主机内存中,具体为:主机根据客户端的线程创建对应的虚拟中央处理单元。
虚拟中央处理单元创建模块,用于主机为客户端创建对应的虚拟中央处理单元(V-cpu);
虚拟中央处理单元线程跳转模块,主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
客户端镜像入口跳转模块,虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
虚拟机客户端启动模块,用于客户端启动。
值得注意的是,虽然在本发明实施例中只披露了一些基本功能模块,但并不意味着本系统的组成仅仅局限于上述基本功能模块,相反,本实施例所要表达的意思是:在上述基本功能模块的基础之上本领域技术人员可以结合现有技术任意添加一个或多个功能模块,形成无穷多个实施例或技术方案,也就是说本系统是开放式而非封闭式的,不能因为本实施例仅仅披露了个别基本功能模块,就认为本发明权利要求的保护范围局限于所公开的基本功能模块。同时,为了描述的方便,描述以上装置时以功能分为各种单元、模块分别描述。当然在实施本发明时可以把各单元、模块的功能在同一个或多个软件和/或硬件中实现。
以上所描述的系统的实施方式仅仅是示意性的,例如:其中作为系统中的各个功能模块、单元或子系统等可以是也可以不是物理上分开的,或者可以是或者也可以不是物理单元,即可以位于同一个地方,也可以分布到多个不同的系统及其子系统或模块上。本领域技术人员可以根据实际的需要选择其中的部分或者全部功能模块、单元或子系统来实现本发明实施例的目的,对于上述情形本领域普通技术人员在不付出创造性劳动的情况下即可以理解并实施。
如图3所示的本发明实施例在虚拟化总体方案具体应用场景中的实施方式,在本发明实施例中客户端Guest有两种设备使用方式:1、依赖主机Host系统侧的后端实现设备访问能力。2、主机Host分离出来部分硬件设备给Guest内核,Guest内核直接访问这些被隔离的硬件设备。
所有内核地址共享同一空间,主机Host和每个客户端Guest内核占用该空间的一段地址,其起始地址为该内核的基地址。每个内核编译时,其虚拟地址空间都由该基地址开始编址。每个系统的用户态的地址空间是独立的、隔离的,完全兼容现有生态的虚拟地址编址。每个Guest看到的Cpu都是V-cpu,对应到host系统上的一个线程。每个V-cpu有着自己的中断异常表,每当主机Host将V-cpu线程切换到物理处理器上时,异常表发生切换。主机Host内核与客户端Guest可使用同一内核,如主机Host使用Linux操作系统,客户端Guest基于Linux改造。主机Host也可与客户端Guest使用异构内核,如某一个Guest采用RTOS内核。
主机Host与客户端Guest的关系:
主机Host负责管理客户端Guest。主机Host为每个客户端Guest构建一个相互隔离的管理器,该管理具有以下功能:
容纳了主机Guest V-cpu(虚拟中央处理单元)对应的线程。
负责客户端Guest内核镜像加载及销毁以及Guest直接访问物理设备的分配。
虚拟化出客户端Guest依赖的后端虚拟设备。
主机/客户端启动:
主机Host从冷启动开始即管控硬件,与普通内核启动无异。
Guest内核需要进行如下改造:
启动时避开处理硬件初始化,内核从虚拟地址启动,其异常表也是由host为其准备。
内核态内存初始化与Host内核共用同一套页表
仅对可直接访问硬件设备施加驱动初始化。
工作模式:
Host与Guest可采用共享或隔离两种工作方式。
共享方式时,Guest V-cpu在出现idle、请求Host虚拟设备服务时切换回客户端内核Guest kernel。或者:主机内核Host kernel在V-cpu对应线程时间片用完,某个非V-cpu管理中断到来时主动切换回Host内核。
隔离工作方式时,Host会隔离出来某些处理器,一旦切换上V-cpu对应线程便直到其系统关闭或异常时,才回收这些处理器。
实施方式:
服务器场景下,Host侧管理器兼容现有云计算生态的虚拟机管理器。可以通过现有生态环境编排、调度Guest。
手机环境下,可以通过共享方式,在Host上部署Linux环境而在Guest上部署Android系统。
专用计算设备环境下,可以通过隔离的异构内核工作模式,在一个设备中部署硬实时系统和通用操作系统。兼顾实时与生态。
如图4所示,本发明实施例在虚拟化总体方案具体应用场景中的具体实施步骤为:
首先将每个客户端内核guest kernel按照其预先分配的地址进行编译。
主机Host启动后,依次将客户端内核Guest kernel加载到内存中。
主机Host为客户端guest创建相应的V-cpu(对应到主机host的线程thread)。
主机Host的V-cpu线程运行到主机/客户端host guest切换点,V-cpu切换到客户端上下文guest context,然后跳入客户端guest的镜像入口。
客户端内核Guest kernel内核依次初始化自己的相关子系统,直到根目录文件系统。
Guest启动引导自己文件系统。
通过本发明实施例可以看出,本发明通过软件实现了处理器虚拟化架构,按照预先分配的地址对客户端进行编译,并根据客户端的线程由主机创建对应的虚拟中央处理单元,在客户端启动前,客户端内核依次初始化客户端的相关子系统,直到客户端的根目录文件系统,可以实现实时对客户端的支持,具有一定的扩展性。
名词解释:CPU(包括虚拟中央处理单元)上下文指的是CPU寄存器状态以及程序计数器PC,这些都是记录CPU当前任务的状态。CPU上下文切换会把当前的cpu的上下文保存下来,然后加载新任务的对应上下文,而这些保存下来的上下文,会存储在系统内核中,并在任务重新调度执行时再次加载进来。这样就能保证任务原来的状态不受影响,让任务看起来还是连续运行。在本实施例中CPU的任务可以是线程、进程、中断,等等。CPU上下文的切换会因特权模式切换、进程上下文切换、线程上下文切换以及中断上下文切换产生。
如图5所示,本发明实施例在处理器虚拟化处理方法、系统的基础之上,还提供了与之对应的电子设备和存储介质:
一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行处理器虚拟化处理方法的步骤。
一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述计算机程序在所述电子设备上运行时,使得所述电子设备执行处理器虚拟化处理方法的步骤。
图5是本发明实施例提供的一种电子设备的结构示意图。如图5所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器710和存储装置720;该电子设备中的处理器710可以是一个或多个,图5中以一个处理器710为例;存储装置720用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器710执行,使得所述一个或多个处理器710实现如本发明实施例中任一项所述的处理器虚拟化处理方法。
该电子设备还可以包括:输入装置730和输出装置740。
该电子设备中的处理器710、存储装置720、输入装置730和输出装置740可以通过总线或其他方式连接,图5中以通过总线连接为例。
该电子设备中的存储装置720作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的处理器虚拟化处理方法对应的程序指令/模块。处理器710通过运行存储在存储装置720中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中处理器虚拟化处理方法。
存储装置720可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器710执行时,程序进行如下操作:
主机对客户端内核guest kernel进行编译;
主机启动后,将客户端内核加载到主机内存中;
主机为客户端创建对应的虚拟中央处理单元V-cpu;
主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
客户端启动。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
需要说明的是,本说明书与权利要求中使用了某些词汇来指称特定元件。本领域技术人员应可以理解,不同的制造商、生产厂商可能会用不同名词来称呼同一个元件。本说明书与权利要求并不以名词的差异来作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如:在权利要求书中所要求保护的实施例的任意之一都可以以本发明实施例以任意的组合方式来使用。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书中公开的任一特征,除非特别叙述,均可被其它等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而己。在整个说明书中,同样的附图标记指示同样的元件。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括相应的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括相应的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现,例如:以上所描述的装置实施例仅仅是示意性的;例如:单元的划分仅仅为一种逻辑功能划分,实际实现时可以有其他的划分方式;例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行某些指令。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它未示出的形式。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于处理器虚拟化的虚拟机处理方法,其特征在于,具体包括:
主机对客户端内核进行编译;
主机启动后,将客户端内核加载到主机内存中;
主机为客户端创建对应的虚拟中央处理单元;
主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
客户端启动。
2.根据权利要求1所述的基于处理器虚拟化的虚拟机处理方法,其特征在于,所述主机对客户端内核进行编译,具体为主机按照预先分配的地址对客户端进行编译。
3.根据权利要求1所述的基于处理器虚拟化的虚拟机处理方法,其特征在于,所述客户端启动后,将客户端内核加载到主机内存中,具体为:主机根据客户端的线程创建对应的虚拟中央处理单元。
4.根据权利要求1所述的基于处理器虚拟化的虚拟机处理方法,其特征在于,所述虚拟中央处理单元根据上下文跳转至客户端的镜像入口,具体为:主机的虚拟处理单元线程运行到主机/客户端切换点,虚拟处理单元线程根据虚拟中央处理单元上下文,跳转至客户端的镜像入口。
5.根据权利要求1所述的基于处理器虚拟化的虚拟机处理方法,其特征在于,在客户端启动前,客户端内核依次初始化客户端的相关子系统,直到客户端的根目录文件系统。
6.一种基于处理器虚拟化的虚拟机处理系统,其特征在于,具体包括:
客户端内核编译模块,用于主机对客户端内核进行编译;
客户端内核加载模块,用于主机启动后,将客户端内核加载到主机内存中;
虚拟中央处理单元创建模块,用于主机为客户端创建对应的虚拟中央处理单元;
虚拟中央处理单元线程跳转模块,主机的虚拟中央处理单元线程运行到主机-客户端的切换点,跳转至客户端的镜像入口;
客户端镜像入口跳转模块,虚拟中央处理单元根据上下文跳转至客户端的镜像入口;
虚拟机客户端启动模块,用于客户端启动。
7.根据权利要求6所述的基于处理器虚拟化的虚拟机处理系统,其特征在于,所述客户端内核编译模块,具体为主机按照预先分配的地址对客户端进行编译。
8.根据权利要求6所述的基于处理器虚拟化的虚拟机处理系统,其特征在于,所述客户端内核加载模块具体为:所述客户端启动后,将客户端内核加载到主机内存中,具体为:主机根据客户端的线程创建对应的虚拟中央处理单元。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述计算机程序在所述电子设备上运行时,使得所述电子设备执行权利要求1至5中任一项所述方法的步骤。
CN202310784888.1A 2023-06-29 2023-06-29 一种虚拟机处理方法、系统、电子设备和存储介质 Pending CN116820675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310784888.1A CN116820675A (zh) 2023-06-29 2023-06-29 一种虚拟机处理方法、系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310784888.1A CN116820675A (zh) 2023-06-29 2023-06-29 一种虚拟机处理方法、系统、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116820675A true CN116820675A (zh) 2023-09-29

Family

ID=88142549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310784888.1A Pending CN116820675A (zh) 2023-06-29 2023-06-29 一种虚拟机处理方法、系统、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116820675A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117170877A (zh) * 2023-10-26 2023-12-05 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117170877A (zh) * 2023-10-26 2023-12-05 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法
CN117170877B (zh) * 2023-10-26 2024-02-23 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法

Similar Documents

Publication Publication Date Title
JP5969550B2 (ja) パフォーマンスカウンタの仮想化
US9529650B2 (en) Method and apparatus for accessing hardware resource
JP5562988B2 (ja) 命令群トラッピングによってosコンテキスト切替を最適化するシステム及び方法
WO2017152633A1 (zh) 一种端口绑定实现方法及装置
RU2429530C2 (ru) Управление состоянием распределенных аппаратных средств в виртуальных машинах
CN110134446B (zh) 启动pcie设备扫描的方法
US20070255798A1 (en) Brokered virtualized application execution
US10353713B2 (en) Method to facilitate rapid deployment and rapid redeployment of an information handling system
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
US9846582B2 (en) Operating system hardware configuration state specialization
US10360043B2 (en) Installation of device drivers from virtual media
CN103309792A (zh) 一种日志信息的控制方法及系统
CN116820675A (zh) 一种虚拟机处理方法、系统、电子设备和存储介质
US20200264941A1 (en) Dynamically loadable unikernel binaries
CN112486522A (zh) 含智能网卡OpenStack裸机的部署方法及装置
CN105389190B (zh) 一种操作系统启动的方法、装置及系统
CN114168271A (zh) 一种任务调度方法、电子设备及存储介质
US20130159689A1 (en) Method and apparatus for initializing embedded device
US10241838B2 (en) Domain based resource isolation in multi-core systems
CN114371908A (zh) 一种云应用程序运行方法和装置
CN111722888B (zh) 一种操作执行方法、装置、设备及可读存储介质
US9766948B2 (en) Selecting processor micro-threading mode
CN114489941B (zh) 运行在宿主模式用户态的虚拟机管理方法及系统
CN109683977B (zh) 目标应用的启动方法和装置
US20160179553A1 (en) Execution of multiple operating systems without rebooting

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