一种中断处理方法、IOAPIC及计算机系统技术方案

技术编号:14693645 阅读:84 留言:0更新日期:2017-02-23 16:35
本发明专利技术提供一种中断处理方法、IOAPIC及计算机系统,涉及计算机技术领域,用于IOAPIC准确转发中断请求。IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。包括:IOAPIC接收第一外围设备发送的第一中断请求;根据管理操作系统记录的每一个负载操作系统与每一个负载操作系统的硬件资源的对应关系,确定第一外围设备对应的第一负载操作系统;根据预设的IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与第一负载操作系统的处理器或处理器集群对应的物理引脚,将第一中断请求发送至第一负载操作系统的处理器或处理器集群。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种中断处理方法、IOAPIC及计算机系统
技术介绍
目前,IOAPIC(Input/OutputAdvancedProgrammableInterruptController,输入/输出高级可编程中断控制器)、LAPIC(LocalAdvancedProgrammableInterruptController,本地高级可编程中断控制器)都可以实现中断控制。目前,单内核(即仅有一个操作系统,可能包括多个CPU)的系统,IOAPIC接收中断后转发给任一个CPU即可。随着计算机
的发展,衍生出了多内核(多操作系统)场景下,包括管理操作系统和至少一个负载操作系统。管理操作系统为每个负载操作系统配置至少一个外围设备、至少一个处理器。其中,各个负载操作系统都需要接收外围设备的中断来进行一些操作(如DMA操作)。通常,外围设备产生的中断都必须由IOAPIC转发到负载操作系统的处理器或处理器集群。在多内核场景下,IOAPIC转发中断可能出现错误。如:当IOAPIC被恶意修改,将负载操作系统1对应的中断发送给了负载操作系统2的处理器,这样就会导致系统混乱以及操作系统1无法正常执行基于该中断的操作。
技术实现思路
本专利技术提供一种中断处理方法、IOAPIC及计算机系统,在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,公开了一种中断处理方法,应用于计算机系统,所述计算机系统包括IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,所述IOAPIC接收第一外围设备发送的第一中断请求;所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。结合第一方面,在第一方面的第一种可能的实现方式中,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理系统预先配置的所述物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群;其中,所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:所述管理操作系统记录所述物理引脚的共享程度,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,还包括:根据物理引脚与处理器或处理器集群的映射关系的变化,更新所述映射表。结合第一方面,在第一方面的第四种可能的实现方式中,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,所述与第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。结合第一方面或第一方面的第一至第四种可能的实现方式中的任一种,在第一方面的第五种可能的实现方式中,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系;还包括:所述IOAPIC接收第二外围设备发送的第二中断请求;所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统;所述IOAPIC根据所述第一负载操作系统和所述第二操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。结合第一方面或第一方面的第一至第四种可能的实现方式中的任一种,在第一方面的第六种可能的实现方式中,还包括:记录所述每一个物理引脚对应的中断机制,当接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三引脚是否是所述第三负载操作的处理器或处理器集群对应的物理引脚;如果所述第三引脚是所述第三负载操作的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;如果所述第三引脚不是所述第三负载操作的处理器或处理器集群对应的物理引脚,则不修改所述第三物理引脚的中断机制。第二方面,公开了一种IOAPIC,所述IOAPIC归属于计算机系统,所述计算机系统包括、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,包括:接收单元,用于接收第一外围设备发送的第一中断请求;确定单元,用于根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;发送单元,用于根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。结合第二方面,在第二方面的第一种可能的实现方式中,所述确定单元用于根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群本文档来自技高网...
一种中断处理方法、IOAPIC及计算机系统

【技术保护点】
一种中断处理方法,其特征在于,应用于计算机系统,所述计算机系统包括输入/输出高级可编程中断控制器IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,所述IOAPIC接收第一外围设备发送的第一中断请求;所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。

【技术特征摘要】
1.一种中断处理方法,其特征在于,应用于计算机系统,所述计算机系统包括输入/输出高级可编程中断控制器IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,所述IOAPIC接收第一外围设备发送的第一中断请求;所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。2.根据权利要求1所述的中断处理方法,其特征在于,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理系统预先配置的所述物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群;其中,所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。3.根据权利要求2所述的中断处理方法,其特征在于,还包括:所述管理操作系统记录所述物理引脚的共享程度,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目。4.根据权利要求3所述的方法,其特征在于,在所述计算机系统新增
\t处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,还包括:根据物理引脚与处理器或处理器集群的映射关系的变化,更新所述映射表。5.根据权利要求1所述的方法,其特征在于,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,所述与第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。6.根据权利要求1-5任一项所述的方法,其特征在于,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系;还包括:所述IOAPIC接收第二外围设备发送的第二中断请求;所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统;所述IOAPIC根据所述第一负载操作系统和所述第二操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。7.根据权利要求1-5任一项所述的方法,其特征在于,还包括:记录所述每一个物理引脚对应的中断机制,当接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三引脚是否是所述第三负载操作的处理器或处理器集群对应的物理引脚;如果所述第三引脚是所述第三负载操作的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;
\t如果所述第三引脚不是所述第三负载操作的处理器或处理器集群对应的物理引脚,则不修改所述第三物理引脚的中断机制。8.一种输入/输出高级可编程中断控制器IOAPIC,其特征在于,所述IOAPIC归属于计算机系统,所述计算机系统包括、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载...

【专利技术属性】
技术研发人员:陆钢高云伟邬小龙詹剑锋
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1