中断虚拟化实时处理方法、装置、存储介质和终端制造方法及图纸

技术编号:32123440 阅读:15 留言:0更新日期:2022-01-29 19:10
本发明专利技术提出了一种中断虚拟化实时处理方法、装置、存储介质和终端,其中,所述方法包括:所述中断控制器捕获所述客户操作系统发送的第一中断信号,所述中断控制器触发中断,并向所述虚拟机监视器发送第二中断信号;所述虚拟机监视器接收到所述第二中断信号,根据中断虚拟化机制将虚拟中断注入到虚拟处理器中,并反馈至所述中断控制器;所述中断控制器通过虚拟中断控制器发送中断处理信号至所述客户操作系统;所述客户操作系统接收到所述中断处理信号,进行中断处理。本发明专利技术所述的方法,针对高实时应用,基于虚拟机监视器在满足隔离性的同时,最大程度上减少虚拟机访问再分发设备的开销,以降低时延,提高系统整体的实时性。提高系统整体的实时性。提高系统整体的实时性。

【技术实现步骤摘要】
中断虚拟化实时处理方法、装置、存储介质和终端


[0001]本专利技术涉及计算机
,尤其涉及中断虚拟化实时处理方法、装置、存储介质和终端。

技术介绍

[0002]中断虚拟化是虚拟机监视器(Hypervisor)的核心功能,尤其是在实时虚拟机监视器系统中,中断虚拟化的设计对中断延时和系统的实时性有非常大的影响。在基于中断控制器(GICv3)的虚拟机监视器系统中,硬件虽然支持中断虚拟化的扩展,但仅包括处理器接口(CPU interface)寄存器的虚拟化,虚拟中断扩展和维护(maintenance)中断,但不包括分发(Distributor)和再分发(Redistributor)等处理器中断(IRI)部件。一个典型的GICv3的结构如图1所示,Redistributor设备的虚拟化需要Hypervisor基于虚拟内存映射(MMIO)来模拟,虚拟机每次访问Redistributor的寄存器时,都要通过虚拟MMIO机制陷入到Hypervisor,由Hypervisor模拟这些访问操作,具体流程如图2所示。这种方法的缺点是效率低,延时大,不适合高实时场景。因为虚拟机每次访问Redistributor都需要陷入到Hypervisor,由Hypervisor来模拟,然后再把结果返回给虚拟机。
[0003]基于此种方法,虚拟机在发送软件触发中断(SGI)时由于要操作Redistributor的寄存器,也需要陷入到Hypervisor中,由Hypervisor来模拟,SGI的实时性也会受到很大影响,需要Hypervisor模拟的原因是因为SGI的目标处理器(CPU)是虚拟处理器(VCPU),而不是真实的物理CPU,需要Hypervisor根据SGI的目标CPU的识别码计算出目标VCPU的识别码,如图3所示。

技术实现思路

[0004]为了至少解决上述一个技术问题,本专利技术提出了中断虚拟化实时处理方法,本专利技术具体是以如下技术方案实现的:
[0005]本专利技术的第一个方面提出了中断虚拟化实时处理方法,应用于电子设备,所述电子设备包括中断控制器、虚拟机监视器和客户操作系统,所述中断控制器分别与所述虚拟机监视器和所述客户操作系统通信连接;所述方法包括:
[0006]所述中断控制器捕获所述客户操作系统发送的第一中断信号,所述中断控制器触发中断,并向所述虚拟机监视器发送第二中断信号;
[0007]所述虚拟机监视器接收到所述中断控制器发送的所述第二中断信号,根据中断虚拟化机制将虚拟中断注入到虚拟处理器中,并反馈至所述中断控制器;
[0008]所述中断控制器通过虚拟中断控制器发送中断处理信号至所述客户操作系统;
[0009]在一些可能的实施方式中,所述客户操作系统接收到所述中断处理信号,进行中断处理。
[0010]在一些可能的实施方式中,所述中断控制器捕获所述客户操作系统发送的第一中断信号之前,还包括,所述客户操作系统写入虚拟核间中断寄存器,触发虚拟核间中断,并
向所述中断控制器发送所述第一中断信号。
[0011]在一些可能的实施方式中,所述中断虚拟化机制包括:
[0012]响应于虚拟机初始化指令,判断所述虚拟机是否是实时虚拟机;
[0013]若是,为所述实时虚拟机的虚拟处理器分配物理处理器,并将所述虚拟处理器的识别码设置为所述物理处理器的识别码;
[0014]根据所述虚拟处理器的识别码,将与所述物理处理器连接的再分发设备的地址空间映射至所述虚拟机。
[0015]在一些可能的实施方式中,所述为实时虚拟机的虚拟处理器分配物理处理器之后,还包括:
[0016]将所述虚拟处理器与所述物理处理器进行排他绑定。
[0017]本专利技术的第二个方面提出了中断虚拟化实时处理装置,应用于上述的中断虚拟化实时处理方法,所述装置包括:
[0018]第一中断信号接收模块,用于中断控制器捕获客户操作系统发送的第一中断信号,所述中断控制器触发中断,并向虚拟机监视器发送第二中断信号;
[0019]第二中断信号接收模块,用于所述虚拟机监视器接收到所述中断控制器发送的所述第二中断信号,根据中断虚拟化机制将虚拟中断注入到当前虚拟处理器中,并反馈至所述中断控制器;
[0020]中断处理信号发送模块,用于所述中断控制器通过虚拟中断控制器发送中断处理信号至客户操作系统;
[0021]中断处理模块,用于所述客户操作系统接收到所述中断处理信号,进行中断处理。
[0022]在一些可能的实施方式中,第一中断信号发送模块,用于所述客户操作系统写入虚拟核间中断寄存器,触发虚拟核间中断,并向所述中断控制器发送所述第一中断信号。
[0023]在一些可能的实施方式中,所述第二中断信号接收模块,还包括:
[0024]虚拟机实时属性判断单元,用于响应于虚拟机初始化指令,判断所述虚拟机是否是实时虚拟机;
[0025]物理处理器分配单元,用于若所述虚拟机是实时虚拟机,则为所述实时虚拟机的虚拟处理器分配物理处理器,并将所述虚拟处理器的识别码设置为所述物理处理器的识别码;
[0026]地址空间映射模块,用于根据所述虚拟处理器的识别码,将与所述物理处理器连接的再分发设备的地址空间映射至所述虚拟机。
[0027]在一些可能的实施方式中,所述物理处理器分配单元,还包括:
[0028]物理处理器绑定单元,用于将所述实时虚拟机与所述物理处理器排他绑定。
[0029]本专利技术还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的中断虚拟化实时处理方法。
[0030]本专利技术还提供一种终端,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的中断虚拟化实时处理方法。
[0031]采用上述技术方案,本专利技术所述的中断虚拟化实时处理方法和装置,具有如下有益效果:
[0032]在硬件设备进行中断处理时,利用中断虚拟化机制将虚拟处理器和物理处理器进行排他绑定,在中断控制器的环境中,针对高实时应用,基于虚拟机监视器在满足隔离性的同时,最大程度减少虚拟机访问再分发设备的开销,以降低时延,提高系统整体的实时性。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为现有技术中的中断控制器v3(GICv3)的中断控制器的结构示意图;
[0035]图2为现有技术中的中断控制器的再分发模拟的流程示意图;
[0036]图3为现有技术中的虚拟软件触发中断的流程示意图;
[0037]图4为本专利技术实施例提供的中断虚拟化实时处理方法的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断虚拟化实时处理方法,应用于电子设备,所述电子设备包括中断控制器、虚拟机监视器和客户操作系统,所述中断控制器分别与所述虚拟机监视器和所述客户操作系统通信连接;其特征在于,所述方法包括:所述中断控制器捕获所述客户操作系统发送的第一中断信号,所述中断控制器触发中断,并向所述虚拟机监视器发送第二中断信号;所述虚拟机监视器接收到所述中断控制器发送的所述第二中断信号,根据中断虚拟化机制将虚拟中断注入到虚拟处理器中,并反馈至所述中断控制器;所述中断控制器通过虚拟中断控制器发送中断处理信号至所述客户操作系统;所述客户操作系统接收到所述中断处理信号,进行中断处理。2.根据权利要求1所述的方法,其特征在于,所述中断控制器捕获所述客户操作系统发送的第一中断信号之前,还包括,所述客户操作系统写入虚拟核间中断寄存器,触发虚拟核间中断,并向所述中断控制器发送所述第一中断信号。3.根据权利要求1所述的方法,其特征在于,所述中断虚拟化机制包括:响应于虚拟机初始化指令,判断所述虚拟机是否是实时虚拟机;若是,为所述实时虚拟机的虚拟处理器分配物理处理器,并将所述虚拟处理器的识别码设置为所述物理处理器的识别码;根据所述虚拟处理器的识别码,将与所述物理处理器连接的再分发设备的地址空间映射至所述虚拟机。4.根据权利要求3所述的方法,其特征在于,所述为实时虚拟机的虚拟处理器分配物理处理器之后,还包括:将所述虚拟处理器与所述物理处理器进行排他绑定。5.一种中断虚拟化实时处理装置,其特征在于,所述装置包括:第一中断信号接收模块,用于中断控制器捕获客户操作系统发送的第一中断信号,所述中断控制器触发中断,...

【专利技术属性】
技术研发人员:秦民王天亮
申请(专利权)人:中汽创智科技有限公司
类型:发明
国别省市:

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

1