CN106445650B - 一种中断处理方法、ioapic及计算机系统 - Google Patents
一种中断处理方法、ioapic及计算机系统 Download PDFInfo
- Publication number
- CN106445650B CN106445650B CN201510474536.1A CN201510474536A CN106445650B CN 106445650 B CN106445650 B CN 106445650B CN 201510474536 A CN201510474536 A CN 201510474536A CN 106445650 B CN106445650 B CN 106445650B
- Authority
- CN
- China
- Prior art keywords
- processor
- load operation
- operation system
- physical pin
- ioapic
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
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)
- Hardware Redundancy (AREA)
- Bus Control (AREA)
Abstract
本发明提供一种中断处理方法、IOAPIC及计算机系统,涉及计算机技术领域,用于IOAPIC准确转发中断请求。IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。包括:IOAPIC接收第一外围设备发送的第一中断请求;根据管理操作系统记录的每一个负载操作系统与每一个负载操作系统的硬件资源的对应关系,确定第一外围设备对应的第一负载操作系统;根据预设的IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与第一负载操作系统的处理器或处理器集群对应的物理引脚,将第一中断请求发送至第一负载操作系统的处理器或处理器集群。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种中断处理方法、IOAPIC及计算机系统。
背景技术
目前,IOAPIC(Input/Output Advanced Programmable Interrupt Controller,输入/输出高级可编程中断控制器)、LAPIC(Local Advanced Programmable InterruptController,本地高级可编程中断控制器)都可以实现中断控制。
目前,单内核(即仅有一个操作系统,可能包括多个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的物理引脚与处理器或处理器集群的映射关系、所述物理引脚的共享程度;其中,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目;在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,根据物理引脚与处理器或处理器集群的映射关系的变化,更新映射关系;所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。
本发明提供的中断处理方法、IOAPIC及计算机系统,所述IOAPIC接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群。使得在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。另外,仅允许管理操作系统能够设置IOAPIC物理引脚与处理器或处理器集群的映射关系,使得配置IOAPIC的权限收到了控制,避免IOAPIC被恶意修改,进而能够提高系统安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的中断处理方法的流程示意图;
图2为本发明实施例1提供的映射表;
图3为本发明实施例2提供的IOAPIC的结构框图;
图4为本发明实施例3提供的IOAPIC的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
单内核(即仅有一个操作系统)的系统中,可能配置有多个处理器(可以是CPU),IOAPIC接收中断后转发给任一个处理器即可保证系统的正常运行。在平行虚拟化技术下,计算机系统包括IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备。负载操作系统需要接收外围设备的中断请求进行一些数据操作,如:如DMA(Direct MemoryAccess,直接内存访问)操作,而外围设备产生的中断请求必须经由IOAPIC转发给负载操作系统的处理器或处理器集群。
具体地,外围设备与IOAPIC之间通过PCIE(Peripheral Component InterfaceExpress,总线接口标准)总线进行交互,首先模拟外围设备发送的APIC(AdvancedProgrammable Interrupt Controller):高级可编程中断控制器)中断消息,通过PCIE TLP(Transmission Line Pulse,传输线脉冲)消息发往IOAPIC的寄存器(0xFEC00020),由IOAPIC进行转发。但是,目前没有机制能够保证多内核场景下,IOAPIC转发中断的正确性,IOAPIC转发中断可能出错,导致系统无法正常运行。
本发明提供一种中断处理方法,旨在一定程度上避免IOAPIC转发中断出错,提高计算机系统的安全性,使得IOAPIC引脚接收中断后,确保发送中断到该中断对应的负载操作系统的处理器或处理器集群,而不是其它负载操作系统的处理器。
实施例1:
本发明实施例提供一种中断处理方法,应用于计算机系统。如图1所示,所述方法包括以下步骤:
需要说明的是,所述计算机系统包括IOAPIC、管理操作系统和至少一个负载操作系统。其中,管理操作系统用于管理IOAPIC,且为至少一个负载操作系统中的每一个负载操作系统配置硬件资源,并记录每一个负载操作系统与其硬件资源的对应关系。为一个负载操作系统配置的硬件资源包括至少一个处理器和至少一个外围设备。其中,处理器可以是CPU(Central Processing Unit,中央处理器)。
101、IOAPIC接收第一外围设备发送的第一中断请求。
其中,所述第一外围设备是管理操作系统为各个负载操作系统配置的外围设备中的一个。
102、IOAPIC根据管理操作系统记录的每一个负载操作系统与所每一个负载操作系统的硬件资源的对应关系,确定第一外围设备对应的第一负载操作系统。
需要说明的是,管理操作系统记录的每一个负载操作系统与所每一个负载操作系统的硬件资源的对应关系可以是负载操作系统的标识信息、为该负载操作系统配置的外围设备的标识信息、该负载操作系统的处理器的标识信息(或处理器集群的标识信息)三者的对应关系。示例的,负载操作系统A、CPU2、外围设备M三者的对应关系。
另外,IOAPIC为避免中断转发错误,就必须确定接收到的中断请求对应的负载操作系统,进而才能将该中断请求发送至对应的负载操作的处理器或处理器集群。由于IOAPIC可以确定接收到的中断请求来自哪个外围设备,且管理操作系统负责为负载操作系统配置硬件资源,并会记录每个负载操作系统对应的硬件资源,如:外围设备,那么IOAPIC就可以确定出接收到的中断需要转发给哪个负载操作系统。
103、IOAPIC根据预设的IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与第一负载操作系统的处理器或处理器集群对应的物理引脚,将第一中断请求发送至第一负载操作系统的处理器或处理器集群。
其中,所述处理器集群包含至少两个处理器,一个处理器集群对应一个负载操作系统。IOAPIC的物理引脚与处理器或处理器集群的映射关系是管理操作系统预先设置的。另外,IOAPIC需要确定第一负载操作系统的处理器或处理器集群对应的第一物理引脚,并将第一外围设备发送的中断请求通过第一物理引脚发送给第一负载操作系统的处理器或处理器集群。
具体实现中,由于管理操作系统会通过两种方式记录IOAPIC的物理引脚与处理器或处理器集群的映射关系,因此,IOAPIC也会通过两种方式确定第一负载操作系统的处理器或处理器集群对应的物理引脚。
首先,管理操作系统可以通过以下两个方式设置IOAPIC的物理引脚与处理器或处理器集群的映射关系:
第一、管理操作系统生成映射表,所述映射表记录了物理引脚与处理器或处理器集群的映射关系。
具体实现中,所述映射表中还可以记录物理引脚对应的虚拟引脚。如果IOAPIC的某个物理引脚被一个处理器使用,那么该物理引脚对应一个虚拟引脚;如果该物理引脚被多个处理器使用,那么该物理引脚对应多个虚拟引脚。或者,如果IOAPIC的某个物理引脚被一个处理器集群使用,那么该物理引脚对应一个虚拟引脚;如果该物理引脚被多个处理器集群使用,那么该物理引脚对应多个虚拟引脚。另外,所述映射表具体记录了通过记录处理器标识(或处理器集群标识)与物理引脚标识的对应关系。其中,由于一个处理器集群对应一个负载操作系统,因此处理器集群的标识信息可以是其对应的负载操作系统的标识信息,如:LOS1。物理引脚的标识可以是物理引脚的引脚号(即Pin号),如:Pin1。
如图2所示,是本发明实施例提供的映射表。其中包括物理引脚的标识信息(pin号)、使用物理引脚的处理器的ID、物理引脚对应的虚拟引脚的标识信息(pin号)。示例的,将物理引脚1分配给了CPU1、CPU2,那么物理引脚1对应两个虚拟引脚:虚拟引脚0、虚拟引脚1。这样图2所示的映射表中针对CPU1的表项中就记录的是CPU1、物理引脚1、虚拟引脚0。具体实现中,以CPU的ID为索引可以在映射表中查找到CPU对应的物理引脚及虚拟引脚。
另外,由于单内核系统中操作系统的代码指示操作系统需要从引脚号为0的物理引脚开始使用IOAPIC的物理引脚,实际上在多内核系统中,负载操作系统对IOAPIC的物理引脚是不可见的。负载操作系统也是一个单操作系统,为了不修改负载操作系统的代码,负载操作系统就需要从虚拟引脚0开始使用IOAPIC。这就需要在建立物理引脚与处理器或处理器集群的映射关系时,若是一个物理引脚被多个处理器使用,该物理引脚对应的虚拟引脚就需要从0开始编号,以保证负载操作系统能够从“引脚号0”开始使用IOAPIC,这样就不需要修改操作系统的代码,保持系统兼容性。
需要说明的是,物理引脚对管理操作系统是可见的,管理操作系统可以直接操作IOAPIC的物理引脚,而虚拟引脚是对负载操作系统可见的。
进一步地,所述管理操作系统记录所述物理引脚的共享程度,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目。示例的,“0”代表物理引脚的配置模式为独享,也就是说该物理引脚仅被1个CPU使用;“1”代表物理引脚的配置模式为共享,也就是说该物理引脚被多个CPU共享。某物理引脚的配置模式为“1”,且共享程度为“3”,说明该物理引脚被3个CPU共同使用。记录物理引脚的共享程度,以便在所述计算机系统新增处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,管理操作系统可以根据各个物理引脚的共享程度,均衡各个物理引脚的负载。示例的,某物理引脚的共享程度对应的数值较大(即当前使用该引脚的处理器或处理器集群较多),那么在所述计算机系统新增处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,就可以不再给该引脚分配处理器或处理器集群。
第二、所述管理系统配置每一个物理引脚对应的寄存器,记录处理器的标识。
示例的,物理引脚的寄存器可以是8位寄存器,将第一物理引脚的寄存器00000000配置为0000 1100,就表示将第一物理引脚分配给了第三、第四个处理器。这样,管理操作系统配置每一个物理引脚的寄存器,就会记录所有处理器或处理器集群与物理引脚的对应关系。
相对应地,IOAPIC通过以下两种方式确定与第一负载操作系统的处理器或处理器集群对应的物理引脚:
一、IOAPIC根据所述管理系统预先配置的所述物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚。其中,所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。
二、所述IOAPIC根据所述管理系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚。其中,与所述第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。其中,处理器集群的标识可以是该处理器集群对应的负载操作系统的标识。
在本发明的优选实施例中,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系。本发明提供的方法还包括:
IOAPIC接收第二外围设备发送的第二中断请求。
IOAPIC根据管理操作系统记录的每一个负载操作系统与每一个负载操作系统的硬件资源的对应关系,确定第二外围设备对应的第二负载操作系统。
IOAPIC根据第一负载操作系统和所述第二负载操作系统的优先级关系,按照优先级先后顺序,分别将第一中断请求和第二中断请求从对应的物理引脚转发。示例的,若第二负载操作系统的优先级高于第一负载操作系统,则首先将第二中断请求通过第二负载操作的处理器或处理器集群对应的物理引脚向第二负载操作系统的处理器或处理器集群发送。随后再将第一中断请求通过第一负载操作的处理器或处理器集群对应的物理引脚(即上述第一物理引脚)向第一负载操作系统的处理器或处理器集群发送。
需要说明的是,具体实现中IOAPIC会在短时间内接收到很多来自外围设备的中断请求,并不能同时处理这些中断请求,会将这些中断请求缓存在阵列中,然后根据发送这些中断请求的外围设备对应的操作系统的优先级来依次通过相应的物理引脚转发这些中断请求。
在本发明的优选实施例中,所述方法还包括:记录所述每一个物理引脚对应的中断机制,当接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三物理引脚是否是所述第三负载操作系统的处理器或处理器集群对应的物理引脚。
如果所述第三物理引脚是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;如果所述第三物理引脚不是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则不修改所述第三物理引脚的中断机制。
这里,修改中断的机制可以是中断的触发模式(triger mode)。
在本发明的优选实施例中,在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,还包括:根据物理引脚与处理器或处理器集群的映射关系的变化,更新所述映射表。示例的,若将物理引脚1分配给了CPU1、CPU2,计算机系统将CPU2删除,管理操作系统就应该在图2所示的物理引脚1对应的表项中删除CPU2的标识信息。另外,还需要将记录的所述物理引脚的共享程度减1。或,若将物理引脚1分配给了CPU1、CPU2,计算机系统建立CPU4,且将物理引脚1配置给CPU4。则,管理操作系统就应该在图2所示的物理引脚1对应的表项中增加CPU4的标识信息。另外,还需要将记录的所述物理引脚的共享程度加1。或,计算机系统更改所述物理引脚与处理器或处理器集群的映射关系时,如:若将物理引脚1分配给了CPU1、CPU2,将物理引脚2分配给了CPU3、CPU4,更该物理引脚与处理器或处理器集群的映射关系将物理引脚1分配给CPU1、CPU3,将物理引脚2分配给CPU2、CPU4,则管理操作系统就需将图2所示的物理引脚1对应的表项中删除CPU2的标识信息、增加CPU3的标识信息,在物理引脚2对应的表项中删除CPU3的标识信息、增加CPU2的标识信息。
本发明提供的中断处理方法,所述IOAPIC接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群。使得在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。另外,仅允许管理操作系统能够设置IOAPIC物理引脚与处理器或处理器集群的映射关系,使得配置IOAPIC的权限收到了控制,避免IOAPIC被恶意修改,进而能够提高系统安全性。
实施例2:
本发明实施例提供一种IOAPIC20,所述IOAPIC20归属于计算机系统,所述计算机系统包括、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC20,为所述至少一个负载操作系统中每一个操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备。
如图3所示,所述IOAPIC20包括:接收单元201、确定单元202以及发送单元203。
接收单元201,用于接收第一外围设备发送的第一中断请求。
确定单元202,用于根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统。
发送单元203,用于根据预设的所述IOAPIC20的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。
所述确定单元202用于根据预设的所述IOAPIC20的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群包括,根据所述管理系统预先配置的物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚。
所述发送单元203具体用于,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,所述映射表记录了物理引脚与处理器或处理器集群的映射关系。
所述确定单元202用于根据预设的所述IOAPIC20的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群包括,根据所述管理系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚。
所述发送单元203具体用于,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,与所述第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。
需要说明的是,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系。
则,所述接收单元201还用于,接收第二外围设备发送的第二中断请求。
所述确定单元202还用于,根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统。
所述发送单元203还用于,根据所述第一负载操作系统和所述第二负载操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。
所述IOAPIC还包括记录单元、判断单元以及修改单元。
所述记录单元用于,记录所述每一个物理引脚对应的中断机制;
所述判断单元用于,当所述接收单元接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三物理引脚是否是所述第三负载操作系统的处理器或处理器集群对应的物理引脚。
所述修改单元用于,若所述第三物理引脚是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;若所述第三物理引脚不是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则不执行所述对所述第三物理引脚的中断机制进行修改。
本发明提供的IOAPIC,接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群。使得在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。另外,仅允许管理操作系统能够设置IOAPIC物理引脚与处理器或处理器集群的映射关系,使得配置IOAPIC的权限收到了控制,避免IOAPIC被恶意修改,进而能够提高系统安全性。
实施例3:
本发明实施例提供一种IOAPIC30,所述IOAPIC30归属于计算机系统,所述计算机系统包括、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC30,为所述至少一个负载操作系统中每一个操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备。
如图4所示,所述IOAPIC30包括处理器301、系统总线302和通信接口303和存储器304。
其中,处理器301可以为中央处理器(英文:central processing unit,缩写:CPU)。需要说明的是N个LOS分别各自包括一个处理器,这些处理器也可以是CPU。
存储器304,用于存储程序代码,并将该程序代码传输给该处理器301,处理器301根据程序代码执行下述指令。存储器304可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器304也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)。存储器304还可以包括上述种类的存储器的组合。处理器301、存储器304和通信接口303之间通过系统总线302连接并完成相互间的通信。
通信接口303可以由光收发器,电收发器,无线收发器或其任意组合实现。例如,光收发器可以是小封装可插拔(英文:small form-factor pluggable transceiver,缩写:SFP)收发器(英文:transceiver),增强小封装可插拔(英文:enhanced small form-factorpluggable,缩写:SFP+)收发器或10吉比特小封装可插拔(英文:10Gigabit small form-factor pluggable,缩写:XFP)收发器。电收发器可以是以太网(英文:Ethernet)网络接口控制器(英文:network interface controller,缩写:NIC)。无线收发器可以是无线网络接口控制器(英文:wireless network interface controller,缩写:WNIC)。所述IOAPIC可以有多个通信接口303。
处理器301,用于通过通信接口303接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器。
所述处理器301还用于,根据所述管理系统预先配置的物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚;将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,所述映射表记录了物理引脚与处理器或处理器集群的映射关系。
或,处理器301用于,根据所述管理系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚;将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,与所述第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。
需要说明的是,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系。
则,所述处理器301还用于,通过通信接口303接收第二外围设备发送的第二中断请求。
所述处理器301还用于,根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统。
所述处理器301还用于,通过通信接口303,根据所述第一负载操作系统和所述第二负载操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。
处理器301还用于,记录所述每一个物理引脚对应的中断机制;当所述接收单元接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三物理引脚是否是所述第三负载操作系统的处理器或处理器集群对应的物理引脚。若所述第三物理引脚是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;若所述第三物理引脚不是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则不执行所述对所述第三物理引脚的中断机制进行修改。
本发明提供的IOAPIC,接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群。使得在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。另外,仅允许管理操作系统能够设置IOAPIC物理引脚与处理器或处理器集群的映射关系,使得配置IOAPIC的权限收到了控制,避免IOAPIC被恶意修改,进而能够提高系统安全性。
实施例4:
本发明实施例提供一种计算机系统,所述计算机系统包括IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备。
其中,所述IOAPIC为上述IOAPIC20或IOAPIC30。
所述管理操作系统,记录了所述IOAPIC的物理引脚与处理器或处理器集群的映射关系、所述物理引脚的共享程度;其中,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目;在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,根据物理引脚与处理器或处理器集群的映射关系的变化,更新映射关系;所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。
本发明提供的计算机系统,IOAPIC接收第一外围设备发送的第一中断请求;根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;根据预设的IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群。使得在多内核场景下,IOAPIC根据预设的IOAPIC物理引脚与处理器或处理器集群的映射关系转发中断请求,能够在一定程度上避免IOAPIC中断转发错误。另外,仅允许管理操作系统能够设置IOAPIC物理引脚与处理器或处理器集群的映射关系,使得配置IOAPIC的权限收到了控制,避免IOAPIC被恶意修改,进而能够提高系统安全性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种中断处理方法,其特征在于,应用于计算机系统,所述计算机系统包括输入/输出高级可编程中断控制器IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,
所述IOAPIC接收第一外围设备发送的第一中断请求;
所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;
所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器;
所述的中断处理方法,还包括:所述管理操作系统记录所述物理引脚的共享程度,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目;
所述的中断处理方法,还包括:
记录所述每一个物理引脚对应的中断机制,当接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三物理引脚是否是所述第三负载操作系统的处理器或处理器集群对应的物理引脚;
如果所述第三物理引脚是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;如果所述第三物理引脚不是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则不修改所述第三物理引脚的中断机制。
2.根据权利要求1所述的中断处理方法,其特征在于,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理操作系统预先配置的所述物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群;其中,所述映射表记录了所述物理引脚与处理器或处理器集群的映射关系。
3.根据权利要求1所述的中断处理方法,其特征在于,在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,还包括:根据物理引脚与处理器或处理器集群的映射关系的变化,更新映射表。
4.根据权利要求1所述的中断处理方法,其特征在于,所述IOAPIC根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,包括:所述IOAPIC根据所述管理操作系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,与所述第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系;还包括:
所述IOAPIC接收第二外围设备发送的第二中断请求;
所述IOAPIC根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统;
所述IOAPIC根据所述第一负载操作系统和所述第二负载操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。
6.一种输入/输出高级可编程中断控制器IOAPIC,其特征在于,所述IOAPIC归属于计算机系统,所述计算机系统包括、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,包括:
接收单元,用于接收第一外围设备发送的第一中断请求;
确定单元,用于根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第一外围设备对应的第一负载操作系统;
发送单元,用于根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群,其中所述处理器集群包含至少两个处理器;
所述的IOAPIC,还包括记录单元、判断单元以及修改单元,
所述记录单元用于,记录所述每一个物理引脚对应的中断机制;
所述判断单元用于,当所述接收单元接收到第三负载操作系统对第三物理引脚的中断机制的修改请求时,根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,判断所述第三物理引脚是否是所述第三负载操作系统的处理器或处理器集群对应的物理引脚;
所述修改单元用于,若所述第三物理引脚是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则根据所述修改请求,对所述第三物理引脚的中断机制进行修改;若所述第三物理引脚不是所述第三负载操作系统的处理器或处理器集群对应的物理引脚,则不执行所述对所述第三物理引脚的中断机制进行修改。
7.根据权利要求6所述的IOAPIC,其特征在于,
所述确定单元用于根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群包括:根据所述管理操作系统预先配置的物理引脚与处理器或处理器集群的映射表,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚;
所述发送单元具体用于,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,所述映射表记录了物理引脚与处理器或处理器集群的映射关系。
8.根据权利要求6所述的IOAPIC,其特征在于,
所述确定单元用于根据预设的所述IOAPIC的物理引脚与处理器或处理器集群的映射关系,通过与所述第一负载操作系统的处理器或处理器集群对应的物理引脚,将所述第一中断请求发送至所述第一负载操作系统的处理器或处理器集群包括:根据所述管理操作系统预先配置的每一个物理引脚对应的寄存器中的记录的处理器的标识,确定与所述第一负载操作系统的处理器或处理器集群对应的第一物理引脚;
所述发送单元具体用于,将所述中断请求通过所述第一物理引脚发送至所述第一负载操作系统的处理器或处理器集群,与所述第一物理引脚对应的寄存器记录了所述第一负载操作系统的处理器或处理器集群的标识。
9.根据权利要求6-8任一项所述的IOAPIC,其特征在于,所述至少一个负载操作系统有优先级顺序,所述管理操作系统记录有所述至少一个负载操作系统的优先级关系;
所述接收单元还用于,接收第二外围设备发送的第二中断请求;
所述确定单元还用于,根据所述管理操作系统记录的所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,确定所述第二外围设备对应的第二负载操作系统;
所述发送单元还用于,根据所述第一负载操作系统和所述第二负载操作系统的优先级关系,按照优先级先后顺序,分别将所述第一中断请求和所述第二中断请求从对应的物理引脚转发。
10.一种计算机系统,其特征在于,所述计算机系统包括输入/输出高级可编程中断控制器IOAPIC、管理操作系统和至少一个负载操作系统,所述管理操作系统用于管理所述IOAPIC,为所述至少一个负载操作系统中每一个负载操作系统配置硬件资源,并记录所述每一个负载操作系统与所述每一个负载操作系统的硬件资源的对应关系,所述至少一个负载操作系统中每一个负载操作系统配置有至少一个处理器和至少一个外围设备,
所述IOAPIC为权利要求6-9任一项所述的IOAPIC;
所述管理操作系统,记录了所述IOAPIC的物理引脚与处理器或处理器集群的映射关系、所述物理引脚的共享程度;其中,所述共享程度用于记录所述物理引脚对应的处理器或处理器集群的数目;在所述计算机系统新增处理器或删除处理器或更改所述物理引脚与处理器或处理器集群的映射关系时,根据物理引脚与处理器或处理器集群的映射关系的变化,更新映射关系;用映射表记录所述物理引脚与处理器或处理器集群的映射关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510474536.1A CN106445650B (zh) | 2015-08-05 | 2015-08-05 | 一种中断处理方法、ioapic及计算机系统 |
PCT/CN2016/073866 WO2017020572A1 (zh) | 2015-08-05 | 2016-02-16 | 一种中断处理方法、ioapic及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510474536.1A CN106445650B (zh) | 2015-08-05 | 2015-08-05 | 一种中断处理方法、ioapic及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106445650A CN106445650A (zh) | 2017-02-22 |
CN106445650B true CN106445650B (zh) | 2019-10-25 |
Family
ID=57942385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510474536.1A Active CN106445650B (zh) | 2015-08-05 | 2015-08-05 | 一种中断处理方法、ioapic及计算机系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106445650B (zh) |
WO (1) | WO2017020572A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238802A (zh) * | 2021-05-28 | 2021-08-10 | 上海阵量智能科技有限公司 | 中断分发器、数据处理芯片、中断分发及数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685429A (zh) * | 2008-09-25 | 2010-03-31 | 联发科技股份有限公司 | 嵌入式系统与中断处理方法 |
CN101796499A (zh) * | 2007-09-06 | 2010-08-04 | 英特尔公司 | 具有群集id和群集内id的逻辑apic id的创建 |
CN102799465A (zh) * | 2012-06-30 | 2012-11-28 | 华为技术有限公司 | 分布式虚拟化系统的虚拟中断管理方法及装置 |
CN102929719A (zh) * | 2012-09-18 | 2013-02-13 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
CN103197971A (zh) * | 2013-04-22 | 2013-07-10 | 哈尔滨工业大学 | Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204271A1 (en) * | 2006-02-28 | 2007-08-30 | Andrew Gaiarsa | Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform |
US7934121B2 (en) * | 2006-11-21 | 2011-04-26 | Microsoft Corporation | Transparent replacement of a system processor |
US8635387B2 (en) * | 2009-10-09 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Enhanced I/O performance in a multi-processor system via interrupt affinity schemes |
CN104714846B (zh) * | 2013-12-17 | 2018-06-05 | 华为技术有限公司 | 资源处理方法、操作系统及设备 |
CN103744726B (zh) * | 2014-01-02 | 2017-01-04 | 西北工业大学 | 一种Windows系统实时扩展的两级调度方法 |
-
2015
- 2015-08-05 CN CN201510474536.1A patent/CN106445650B/zh active Active
-
2016
- 2016-02-16 WO PCT/CN2016/073866 patent/WO2017020572A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101796499A (zh) * | 2007-09-06 | 2010-08-04 | 英特尔公司 | 具有群集id和群集内id的逻辑apic id的创建 |
CN101685429A (zh) * | 2008-09-25 | 2010-03-31 | 联发科技股份有限公司 | 嵌入式系统与中断处理方法 |
CN102799465A (zh) * | 2012-06-30 | 2012-11-28 | 华为技术有限公司 | 分布式虚拟化系统的虚拟中断管理方法及装置 |
CN102929719A (zh) * | 2012-09-18 | 2013-02-13 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
CN103197971A (zh) * | 2013-04-22 | 2013-07-10 | 哈尔滨工业大学 | Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017020572A1 (zh) | 2017-02-09 |
CN106445650A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11922070B2 (en) | Granting access to a storage device based on reservations | |
EP3614253B1 (en) | Data processing method and storage system | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
US7908403B2 (en) | Reserved device access contention reduction | |
US11269828B2 (en) | Data placement and sharding | |
US9910693B2 (en) | Virtual machine to host device bridging | |
US20130275972A1 (en) | Virtual machine, virtual machine system and method for controlling virtual machine | |
CN105320628B (zh) | 使能单根i/o设备多根共享的适配装置、系统及方法 | |
EP3223162B1 (en) | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium | |
KR102570943B1 (ko) | PCIe 디바이스 및 그 동작 방법 | |
EP3159802B1 (en) | Sharing method and device for pcie i/o device and interconnection system | |
CN109977061A (zh) | 一种中断处理方法及中断处理装置 | |
US10534563B2 (en) | Method and system for handling an asynchronous event request command in a solid-state drive | |
CN106484549A (zh) | 一种交互方法、NVMe设备、HOST及物理机系统 | |
US20230297725A1 (en) | Technologies for filtering memory access transactions received from one or more i/o devices | |
WO2016000478A1 (zh) | 一种存储控制器及其使用方法 | |
US20150363220A1 (en) | Virtual computer system and data transfer control method for virtual computer system | |
KR101572689B1 (ko) | 네트워크 인터페이스 가상화 장치 및 방법 | |
CN109691028A (zh) | 用于容器的设备虚拟化 | |
KR20220141678A (ko) | PCIe 펑션 및 그 동작 방법 | |
US8984179B1 (en) | Determining a direct memory access data transfer mode | |
CN109257955B (zh) | 操作硬盘的方法和硬盘管理器 | |
CN106445650B (zh) | 一种中断处理方法、ioapic及计算机系统 | |
CN105283864B (zh) | 管理裸机客户 | |
US10481951B2 (en) | Multi-queue device assignment for application groups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |