CN103180829B - 中断信号接收装置及计算机装置 - Google Patents
中断信号接收装置及计算机装置 Download PDFInfo
- Publication number
- CN103180829B CN103180829B CN201080069758.0A CN201080069758A CN103180829B CN 103180829 B CN103180829 B CN 103180829B CN 201080069758 A CN201080069758 A CN 201080069758A CN 103180829 B CN103180829 B CN 103180829B
- Authority
- CN
- China
- Prior art keywords
- interrupt signal
- interrupt
- eigenvalue
- numbering
- interruption
- 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.)
- Expired - Fee Related
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
中断信号接收装置(10)对2个OS进行管理,对于共用相同中断编号的设备(130、131),使进行中断处理的OS和设备固有的中断优先度进行关联,对表示中断编号和中断优先度的关联关系的中断编号优先度变换表进行管理,各设备直至中断处理完成为止连续输出相同中断编号的中断请求,在存在来自设备(130)或设备(131)的中断信号时,中断控制器(120)按照中断编号优先度变换表将中断编号变换为中断优先度,在变换得到的中断优先度与运行中的OS所关联的中断优先度一致的情况下,中断信号控制部(11)使运行中的OS进行中断处理,对中断编号优先度变换表的中断优先度进行变更,在中断优先度不一致的情况下,使运行中的OS停止,启动其他OS。
Description
技术领域
本发明涉及一种在多操作系统环境下的中断控制技术。
背景技术
通常,在计算机系统中,运行1个操作系统(OS:OperatingSystem),OS对计算机的处理器、主存储装置(以下简称为主存储)、2次存储装置、设备等计算机资源进行管理,并进行调度以使得计算机能够高效地动作。
OS如Windows(注册商标)和Linux(注册商标)等多功能且具有丰富工具的OS、或专注于实时处理功能的实时OS等,它们各具特色。
已知能够在包含有一个或多个处理器的1个计算机上运行多个上述OS的多操作系统(多OS)。
关于多OS,例如,记载于专利文献1、专利文献2及专利文献3中。
此外,在多OS中,由鼠标、键盘等外围设备产生的中断,对应于中断编号而确定接收中断请求的OS,通过对所产生的中断的中断编号进行判定,而对OS进行切换(例如专利文献1中记载的技术)。
另一方面,对于已有的计算机会进行外围设备增设。
在这种情况下,计算机的中断信号存在限制,无法简单地进行增设。
因此,如与PCI(PeripheralComponentInterconnect)总线连接的外围设备组这样,使多个外围设备共用1条中断信号线的情况很多。
另外,也存在使多个外围设备所产生的中断在数量少于外围设备的中断管理装置中汇总而共用1条中断信号线的情况。
关于PCI的中断信号线(Interrupt信号),例如记载于非专利文献1中。
专利文献1:日本特开平11-149385号公报
专利文献2:日本特开2001-229038号公报
专利文献3:日本特开2009-176139号公报
非专利文献1:金子俊夫编辑,神户一夫发行,“OpenDesignNo.7PCIバスの詳細と応用へのステップ”CQ出版株式会社,1995年3月10日发行,p.20
发明内容
当前,由于对应于中断编号而确定接收中断信号的OS,因此,以相同的中断编号(共用中断编号)进行中断的多个外围设备必须全部由同一个OS控制。
因此,存在不能向设备分配所需的OS的课题。
为了解决上述课题,如专利文献2的技术所示,需要具有能够确定发生中断的设备的设备识别寄存器,或在OS的处理之外另行向相关的外围设备确认中断原因。
本发明的一个主要目的是解决上述课题,其主要目的在于,在不具有设备识别寄存器,此外,不在OS的处理之外另行向相关的外围设备确认中断原因的状态下,将来自以共用的中断编号进行中断的多个外围设备的中断分配给多个OS中的适当的OS。
本发明所涉及的中断信号接收装置,其管理大于或等于2个OS(OpertatingSystem)的运行,
接收来自多个设备的中断信号,该多个设备分别被指定有以中断信号通知的中断编号,并分别被指定有对中断信号进行处理的OS作为指定OS,
该中断信号接收装置的特征在于,具有:
OS固有值信息存储部,其针对共用相同中断编号的大于或等于2个编号共用设备分别存储OS固有值信息,该OS固有值信息使各个编号共用设备的指定OS、各个编号共用设备固有的固有值和该大于或等于2个编号共用设备所共用的共用中断编号相关联;
变换值信息存储部,其对应于每一个共用中断编号存储变换值信息,该变换值信息用于将从所述OS固有值信息中与共用中断编号相关联的大于或等于2个固有值中选择的固有值,指定作为共用中断编号的变换值;以及
中断信号控制部,其在任一个OS作为运行OS而运行时,在输出了用于通知共用中断编号的中断信号,对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值,与所述OS固有值信息中所述运行OS所关联的固有值相同的情况下,使所述运行OS执行对所述中断信号的处理,在对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值,与所述OS固有值信息中除了所述运行OS以外的OS所关联的固有值相同的情况下,使所述运行OS停止,将除了所述运行OS以外的OS作为新的运行OS启动。
发明的效果
在本发明中,使编号共用设备、OS及固有值相关联,在由中断编号变换得到的变换值与运行OS所关联的固有值一致的情况下,使运行OS进行对中断信号的处理,在变换值与固有值不一致的情况下,对运行OS进行切换。
连续使设备输出相同的中断编号,直至由指定OS对中断信号进行处理为止,另外,在由中断编号变换得到的变换值与运行OS所关联的固有值一致的情况下,将变换值切换为其他固有值,由此,即使多个设备共用相同的中断编号,无需对中断原因进行确认,也必然能够由中断信号输出源设备的指定OS对中断信号进行处理。
附图说明
图1是表示实施方式1所涉及的中断信号接收装置的功能模块的图。
图2是表示实施方式1所涉及的中断信号接收装置的硬件结构例的图。
图3是表示实施方式1所涉及的中断处理管理表的例子的图。
图4是表示实施方式1所涉及的设备中断编号连接表的例子的图。
图5是表示实施方式1所涉及的中断编号优先度变换表的例子的图。
图6是表示实施方式1所涉及的设备优先度管理表的例子的图。
图7是表示实施方式1所涉及的中断使用管理表的例子的图。
图8是表示实施方式1所涉及的中断发生时的处理流程的流程图。
图9是表示实施方式1所涉及的共用中断传递处理的处理流程的流程图。
图10是表示实施方式1所涉及的针对其他OS的共用中断传递处理的处理流程的流程图。
图11是表示实施方式2所涉及的中断信号接收装置的功能模块的图。
图12是表示实施方式2所涉及的中断信号接收装置的硬件结构例的图。
图13是表示实施方式2所涉及的中断处理管理表的例子的图。
图14是表示实施方式2所涉及的中断复制管理表的例子的图。
图15是表示实施方式2所涉及的中断发生时的处理流程的流程图。
图16是表示实施方式2所涉及的共用中断复制处理的处理流程的流程图。
图17是表示实施方式2所涉及的中断发生时的处理流程的流程图。
图18是表示包含有实施方式1及2所涉及的中断信号接收装置在内的计算机装置的硬件结构例的图。
具体实施方式
实施方式1
在下述说明中,作为“~部”、“~单元”“~处理”进行说明的内容,也可以是“~电路”、“~器”,还可以是“~步骤”、“~工序”。
即,可以通过软件、固件、硬件及它们的组合实现以下说明的“~部”、“~单元”、“~处理”。
图1表示多OS的计算机装置中包含的中断信号接收装置10的功能模块。
中断信号接收装置10对OS-A150及OS-B151这两个OS的运行进行管理。
具体来说,如图2所示,中断信号接收装置10通过CPU(CentralProcessingUnit)100和主存储110实现。
中断信号接收装置10的详细内部结构如后所述。
中断信号接收装置10经由总线140与中断控制器120、多个设备130至133连接,接收来自设备130至133的中断信号。
设备130至133是指键盘、鼠标、网络接口、打印机接口、USB(UniversalSerialBus)控制器等。
设备130至133输出中断信号。
设备130至133各自指定有以中断信号进行通知的中断编号。
在本实施方式中,例如,如图4的设备中断编号连接表所示,设备A130的中断编号是16,设备B(1)131的中断编号是16,设备B(2)132的中断编号是21,设备B(3)133的中断编号是22。
各设备输出中断信号,该中断信号用于通知被指定给各设备的中断编号的值。
此外,设备A130和设备B(1)131的中断编号均是16,此编号二者共用。
如上所述,将共用中断编号的设备称为编号共用设备。
另外,将编号共用设备所共用的中断编号称为共用中断编号。
另外,设备130至133分别被指定有对中断信号进行处理的OS。
在本实施方式中,设备A130是由OS-A150处理中断信号,设备131至133是由OS-B151处理中断信号。
因此,虽然从设备A130作为中断信号输出的中断编号和从设备B(1)131作为中断信号输出的中断编号相同,但需要由不同的OS进行处理。
此外,将针对各设备指定的OS称为指定OS。
设备A130的指定OS是OS-A150,设备131至133的指定OS是OS-B151。
另外,在本实施方式中,设备130至133作为中断信号连续地输出相同的中断编号,直至由指定OS对中断信号进行处理为止(中断信号被指定OS接收为止)。
中断控制器120经由总线140接收来自设备130至133的中断信号。
如前所述,从设备130至133输出用于通知中断编号的中断信号,中断控制器120将中断编号变换为中断优先度并传送至CPU100。
更具体地说,中断控制器120将用于通知中断优先度的信号作为中断信号输出至CPU100。
中断控制器120例如参照图5的中断编号优先度变换表,将中断编号变换为中断优先度。
此外,在图5中,对于设备A130和设备B(1)131共用的中断编号16,示出中断优先度为20,但如后所述,对于中断优先度16来说,除了中断优先度20以外,还有中断优先度100。
并且,通过CPU100的控制,针对中断优先度16交替设定中断优先度20和中断优先度100(改写中断优先度)。
中断优先度是中断编号的变换值,图5的中断编号优先度变换表是变换值信息的一个例子。
如前所述,设备130至133重复产生中断信号,直至执行了对于中断信号的OS处理为止,中断控制器120在每次从设备130至133输入中断信号时,重复将对应的中断优先度输出至中断信号接收装置10。
另外,在图1中,中断控制器120仅为1个,但也可以大于或等于2个。
下面,使用图1及图2,说明中断信号接收装置10的详细内容。
中断信号控制部11在输入了从中断控制器120输出的用于通知中断优先度的中断信号时,基于中断优先度的值和运行中的OS(OS-A150或OS-B151),进行下述控制:使运行中的OS处理中断信号的控制;对图5的中断编号优先度变换表的中断优先度值进行改写的控制;以及对运行中的OS进行切换的控制。
中断信号输入部114输入来自中断控制器120的中断信号。
中断信号控制部11和中断信号输入部114是程序,如图2所示,从2次存储装置加载至主存储110,并由CPU100执行。
设备中断编号连接表存储部12是对设备中断编号连接表195进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
设备中断编号连接表195是图4所示的信息,示出分配给每一个设备的中断编号。
此外,设备中断编号连接表195相当于后述的设备优先度管理表197和OS固有值信息,设备中断编号连接表存储部12相当于设备优先度管理表存储部14和OS固有值信息存储部。
中断编号优先度变换表存储部13是对中断编号优先度变换表196进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
中断编号优先度变换表196是图5所示的信息,如前所述,是在在中断控制器120将中断编号变换为中断优先度时而参照的。
中断编号优先度变换表196相当于变换值信息,中断编号优先度变换表存储部13相当于变换值信息存储部。
设备优先度管理表存储部14是对设备优先度管理表197进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
设备优先度管理表197是图6所示的信息,示出中断优先度、设备130至133和对中断信号进行处理的OS名。
设备优先度管理表197可以按各OS所使用的设备而进行拆分(例如OS-A150用的设备A的表、OS-B151用的设备B(1)至(3)的表)。
如图6所示,对于设备A130作为中断优先度分配20,对于设备B(1)131作为中断优先度分配100。
如图4的设备中断编号连接表195所示,对于作为编号共用设备的设备A130和设备B(1)131,分配共用的中断编号16,但分配给设备A130和设备B(1)131的中断优先度不同。
即,分配给设备A130的中断优先度20是设备A130固有的值,是固有值的例子。
同样地,分配给设备B(1)131的中断优先度100是设备B(1)131固有的值,是固有值的例子。
如果将图5的设备中断编号连接表195和图6的设备优先度管理表197进行组合,则对于各编号共用设备(设备A130、设备B(1)131),使各编号共用设备的指定OS(OS-A150、OS-B151)、各编号共用设备固有的固有值(中断优先度20、中断优先度100)、编号共用设备共用的共用中断编号(中断编号16)相关联。
图5的设备中断编号连接表195和图6的设备优先度管理表197具有如上所述的特性,相当于OS固有值信息。
并且,设备优先度管理表存储部14相当于设备中断编号连接表存储部12和OS固有值信息存储部。
此外,设备中断编号连接表195和设备优先度管理表197可以是一个表。
中断使用管理表存储部15是对中断使用管理表198进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
中断使用管理表198是图7所示的信息,是表示中断编号、使用中断编号的候选OS和当前使用该中断编号的使用OS的信息。
中断处理管理表存储部16是对中断处理管理表A200、中断处理管理表B201进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
中断处理管理表A200、中断处理管理表B201是图3所示的信息,针对每个OS准备大于或等于1个中断管理处理表。
中断处理管理表A200是针对OS-A150的表,中断处理管理表B201是针对OS-B151的表。
中断处理管理表A200是在OS-A150运行中存在中断信号输入时而参照的,中断处理管理表B201在OS-B151运行中存在中断信号输入时而参照的。
OS存储部17是对OS-A150和OS-B151进行存储的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
OS-A150及OS-B151也可以是复制相同的OS而得到的。
OS-A150及OS-B151具有设备驱动A160、设备驱动B161、中断处理A170、中断处理B171。
中断处理A170、中断处理B171在各OS中可以有多个。
另外,虽然未图示,但OS-A150及OS-B151各自具有通常的OS所包含的功能。
另外,读入至主存储110中的程序代码也可以是OS-A150及OS-B151各自的一部分。
在中断信号控制部11中,解析部111经由中断信号输入部114输入来自中断控制器120的中断信号,与由中断信号通知的中断优先度相对应,参照当前运行中的OS所对应的中断处理管理表(图3),确定对中断信号的处理。
例如,在OS-A150运行中输入中断信号,且由输入的中断信号通知的中断优先度为20的情况下,参照中断处理管理表A200中与中断优先度20相对应的记录,使OS-A150进行对中断信号的中断处理A170,然后,使共用中断传递部113进行将中断优先度的值从20变更为100的处理(共用中断传递处理),此处的中断优先度是图5的设备中断编号连接表195中与中断编号16相对应的值。
另外,在OS-A150运行中输入中断信号,且由输入的中断信号通知的中断优先度为100的情况下,参照中断处理管理表A200中与中断优先度100相对应的记录,使OS切换部112进行将运行中的OS从OS-A150切换为OS-B151的处理(OS切换处理)。
另外,在OS-B151运行中输入中断信号,且由输入的中断信号通知的中断优先度为20的情况下,参照中断处理管理表B201中与中断优先度20相对应的记录,使OS切换部112进行将运行中的OS从OS-B151切换为OS-A150的处理(OS切换处理)。
另外,在OS-B151运行中输入中断信号,且由输入的中断信号通知的中断优先度为100的情况下,参照中断处理管理表B201中与中断优先度100相对应的记录,使OS-B151进行对中断信号的中断处理B171,然后,使共用中断传递部113进行将中断优先度的值从100变更为20的处理(共用中断传递处理),此处的中断优先度是图5的设备中断编号连接表195中与中断编号16相对应的值。
OS切换部191保存执行中的OS的上下文(context)(CPU100内部的各种寄存器的内容),并回写成切换目标OS的上下文。
另外,中断处理管理表也要切换。
共用中断传递部113对图5的中断编号优先度变换表196的中断优先度进行改写。
如前所述,中断处理管理表A200及中断处理管理表B201,分别与OS-A150及OS-B151相对应,针对在设备优先度管理表197中与各OS相关联的中断优先度(固有值),定义了中断处理和共用中断传递处理(变换值信息的更新处理)。
并且,在输出了用于通知共用中断编号的中断信号的情况下,解析部111从中断处理管理表存储部16读取运行OS的中断处理管理表,并在运行OS的中断处理管理表中提取与变换得到的中断优先度(变换值)相同的中断优先度(固有值),上述变换是由中断控制器120按照中断编号优先度变换表196对中断信号的共用中断编号进行的。
并且,在针对提取出的中断优先度定义了中断处理和共用中断传递处理的情况下,如果中断信号的输出源是以运行OS为指定OS的编号共用设备,则解析部111使运行OS执行对中断信号的中断处理。
并且,解析部111以如下方式对中断编号优先度变换表196进行更新,即,作为共用中断传递处理,由共用中断传递部113选择在设备优先度管理表197中与共用中断编号相关联的其他中断优先度,并指定所选择的中断优先度。
另外,在针对从中断处理管理表中提取出的中断优先度定义了OS切换处理的情况下,解析部111通过OS切换部112使运行OS停止,而使除了运行OS以外的OS作为新的运行OS启动。
在OS-A150运行中输入的中断优先度为20的情况下,选择中断处理A。
在此情况下,中断处理A170对设备A130进行是否是中断信号的输出源的询问,如果中断信号的输出源是设备A130,则设备驱动A160等执行对中断信号的处理。
然后,通过共用中断传递处理,将图5的中断编号优先度变换表196中所示的与中断编号16相对应的中断优先度改为100。
在此情况下,由于中断信号通过作为指定OS的OS-A150进行了处理,因此,设备A130不再重复发送中断信号。
另一方面,如果中断信号的请求源是设备B(1)131,则在中断处理A170中,不对来自设备B(1)131的中断信号进行处理,然后,通过共用中断传递处理,将图5的中断编号优先度变换表196所示的中断优先度改为100。
在此情况下,由于中断信号没有由作为指定OS的OS-B151处理,因此,设备B(1)131重复发送中断信号。
该中断信号由中断控制器120变换为中断优先度100的中断信号,解析部111输入中断优先度100的中断信号。
如果此时的运行OS是OS-B151,则进行中断处理B171。
在此情况下,中断处理B171对设备B(1)131进行是否是中断信号的输出源的询问,如果中断信号的输出源是设备B(1)131,则设备驱动B161等执行对中断信号的处理。
然后,通过共用中断传递处理,将图5的中断编号优先度变换表196中所示的中断优先度改为20。
在此情况下,由于中断信号由作为指定OS的OS-B151进行了处理,因此,设备B(1)131不再重复发送中断信号。
另一方面,如果此时的运行OS是OS-A150,则通过OS切换处理将运行中OS切换为OS-B151。
但是,由于中断信号还没有由作为指定OS的OS-B151进行处理,因此,设备B(1)131重复发送中断信号。
该中断信号由中断控制器120变换为中断优先度100的中断信号,解析部111输入中断优先度100的中断信号。
此时,由于运行OS已变为OS-B151,因此,在中断处理B171中,通过OS-B151对来自设备B(1)131的中断信号适当地进行处理。
然后,通过共用中断传递处理,将图5的中断编号优先度变换表196所示的中断优先度改为20。
在此情况下,由于中断信号由作为指定OS的OS-B151进行了处理,因此,设备B(1)131不再重复发送中断信号。
下面,使用图8对中断信号从总线140输入至CPU100时的动作进行说明。
如果从设备输出中断信号,则在S301中,在CPU100中,由中断信号输入部114经由总线140输入来自中断控制器120的中断信号。
接下来,在S302中,解析部111从当前设定的中断处理管理表A200、中断处理管理表B201中提取与中断优先度相对应的记录。从提取出的记录所包含的处理中,选择未执行的处理。
优先选择哪个处理均可。
在此,以设定了中断处理管理表A200(运行OS为OS-A150)、输入了中断优先度20为例进行说明。
解析部111从中断处理管理表A200中的中断优先度20的记录中选择中断处理A170。
接下来,在S303中,解析部111对所选择的处理是否是共用中断传递处理进行判断。
如果是共用中断传递处理,则将处理转入S304,如果不是,则转入S305。
在本例中,由于所选择的处理是中断处理A170,因此,使处理转入S305。
接下来,在S305中,解析部111执行所选择的处理。
在本例中,执行中断处理A170。
中断处理A170访问设备A130,确认设备A130是否是中断原因。
如果设备A130是中断原因,则请求设备驱动A160或OS-A150进行对来自设备A130的中断信号的处理。
在设备A130不是中断原因的情况下,如果需要,则中断处理A170将设备A130不是中断原因这一情况传递至OS-A150。
接下来,在S306中,解析部111根据当前设定的中断处理管理表,判断在与中断优先度相对应的处理中是否存在未执行的处理。
在没有未执行的处理的情况下,结束中断处理。
如果有未执行的处理,则使处理转入S302。
在本例中,由于有未执行的处理,因此使处理转入S302。
接下来,在S302中,解析部111选择未执行的处理。
在本例中,解析部111从当前设定的中断处理管理表A200中的未执行的处理中,选择共用中断传递处理。
接下来,在S303中,解析部111对所选择的处理是否是共用中断传递处理进行判断。
在本例中,由于是共用中断传递处理,因此,使处理转入S304。
然后,在S304中,解析部111请求共用中断传递部113进行共用中断传递处理。
更具体地说,是传递当前正在处理的中断优先度。
在本例中,解析部111将中断优先度20传递至共用中断传递部113,并向其请求共用中断传递处理。
使用图9,对共用中断传递部113的动作步骤进行说明。
在S401中,共用中断传递部113确定请求源的中断优先度。
在本例中,使用中断处理管理表A200进行中断优先度20的处理,所确定的中断优先度为20。
接下来,在S402中,共用中断传递部113基于所确定的中断优先度,从中断编号优先度变换表196中确定中断编号。在本例中,中断编号为16。
接下来,在S403中,共用中断传递部113根据中断使用管理表198,从与中断编号相对应的候选OS中选择接下来将进行中断处理管理表分配的OS,记载至使用OS中。
OS的选择基准可以是任意的。
在本例中,从与中断编号16相对应的候选OS即OS-A及OS-B中,选择没有分配中断处理管理表的OS-B151,记载至使用OS中。
接下来,在S404中,共用中断传递部113从设备中断编号连接表195和设备优先度管理表197中,查找共用在S402中确定的中断编号的设备中的、使用在S403中选择的OS的设备,并确定中断优先度。
在本例中,根据设备中断编号连接表195,可知共用了中断编号16的设备是设备A/设备B(1),从设备优先度管理表197查找设备A/设备B(1)中使用OS-B151的设备,则可知中断优先度为100。
接下来,在S405中,共用中断传递部113对图5的中断编号优先度变换表196的中断优先度进行变更。
在本例中,将中断编号16的中断优先度变更为100。
接下来,使用图10,对从设备130至133产生中断信号,中断信号经由中断控制器120输入至CPU100后将中断向其他OS传递的动作进行说明。
此外,以下将利用CPU100运行OS-A150时产生了来自设备B(1)131的中断信号的情况下的处理例记载在括号内。
中断控制器120在从设备130至133接收到中断信号后,在S451中,参照主存储110内的设备中断编号连接表196,确定所产生的中断的中断编号(中断控制器120确定中断编号16)。
接下来,在S452中,中断控制器120参照主存储110内的中断编号优先度变换表196,从中断编号变换为中断优先度,并将该中断优先度传递至CPU100(中断控制器120将中断优先度20传递至CPU100)。
接下来,在S453中,利用CPU100执行在S301至S306中说明的中断处理。
在调用共用中断传递部113的情况下,对中断编号优先度变换表196的一部分值进行变更(在通过OS-A150执行中断处理A170后,共用中断传递部113将中断编号优先度变换表196的中断编号16的中断优先度从20变更为100)。
接下来,在S454中,解析部111检查是否从设备130至133产生了中断(只要没有进行OS-B151的中断处理B171,设备B(1)131的中断就是激活的,因此,其结果为正在产生中断)。
接下来,在S455中,在没有产生来自设备130至133的中断的情况下,解析部111结束处理。
另一方面,在产生来自设备130至133的中断的情况下,使处理转入S451(由于从设备B(1)131产生中断,因此,使处理转入S451)。
以下对采用括号记载的具体例的后续情况进行说明。
在S451中,由于是来自设备B(1)131的中断,因此,中断控制器120将中断编号确定为16。
在S452中,由于中断控制器120参照此前通过S453变更得到的中断编号优先度变换表196,因此,将中断编号16的中断优先度100传递至CPU100。
在S453中,通过S301至S306的处理,OS切换部112将运行中的OS切换为OS-B151,进而由OS-B151执行中断处理B171。
另外,共用中断传递部113将中断编号优先度变换表196的中断编号16的中断优先度从100还原为20。
此外,由于已经执行了中断处理B171,因此,不再产生来自设备B(1)131的中断。
然后,在S454中,解析部111检查是否从设备130至133产生中断,确认到没有产生中断,在S455结束处理。
通过上述这些处理,对外部中断的优先度进行变更。
如果是来自设备A130的外部中断,则中断被清除,因此,不会再次向中断控制器120输入中断。
如果是来自设备B(1)131的外部中断,则中断被设置(信号线为激活状态),因此,会再次输入中断。
在此情况下,解析部111参照中断编号优先度变换表196,将中断优先度变更为100,因此,OS切换部191执行切换,切换为OS-B151。
如果进行OS切换,则从中断处理管理表A200切换为中断处理管理表B201,因此,执行中断优先度100的中断处理B171。
如上所述,中断信号控制部对输入的中断优先度和运行OS所关联的中断优先度进行比较,如果两者一致,则使运行OS执行中断处理,对用于变换中断编号的中断优先度进行切换。
另一方面,如果两者不一致,则中断信号控制部对运行OS进行切换。
另外,设备持续输出相同中断编号的中断信号,直至中断信号由指定OS进行处理为止。
其结果,在中断信号控制部中,至多在第三个中断信号时,就能够使中断信号输出源设备的指定OS对中断信号进行处理。
因此,即使不同的OS共有相同的中断编号,无需对中断原因进行判断,也必然能够使中断信号输出源设备的指定OS对中断信号进行处理。
另外,还能够使特定的中断处理的响应时间高速化。
此外,在上述说明中,基于运行OS的中断处理管理表提取与输入的中断优先度相对应的记录,进行提取的记录所示的处理,但也可以不使用中断处理管理表,而是参照设备中断编号连接表195和设备优先度管理表197,确定接下来将要进行的处理。
即,在对共用中断编号进行变换后的中断优先度(变换值)与设备中断编号连接表195及设备优先度管理表197(OS固有值信息)中的运行OS所关联的中断优先度(固有值)相同的情况下,中断信号控制部11使运行OS执行对中断信号的中断处理。
并且,中断信号控制部11将设备优先度管理表197中与共用中断编号相关联的其他中断优先度记录在中断编号优先度变换表196中。
另外,在对共用中断编号进行变换后的中断优先度(变换值)与设备中断编号连接表195及设备优先度管理表197(OS固有值信息)中的除了运行OS以外的OS所关联的中断优先度(固有值)相同的情况下,中断信号控制部11使运行OS停止,并使除了运行OS以外的OS作为新的运行OS启动。
如上所述,也可以不使用中断处理管理表,而使用设备中断编号连接表195和设备优先度管理表197。
实施方式2
在上述的实施方式1中,是对中断编号优先度变换表196的中断优先度进行变更,接下来示出中断编号优先度变换表196不变而是在OS之间共享中断编号的实施方式。
与实施方式1同样地,在下述说明中,作为“~单元”“~处理”进行说明的内容,也可以是“~电路”、“~器”,还可以是“~步骤”、“~工序”。即,可以通过软件、固件、硬件及它们的组合实现以下说明的“单元”“处理”。
图11示出多OS的计算机装置中包含的中断信号接收装置10的功能模块,是与图1相对应的图。
图12示出通过CPU100和主存储110实现图11所示的中断信号接收装置10的例子,是与图2相对应的图。
在图11及图12中,取代图1及图2中所示的共用中断传递部113而设置共用中断复制部115。
另外,取代图11及图12中所示的中断使用管理表存储部15而设置中断复制管理表存储部18,另外,取代中断使用管理表198而设置中断复制管理表199。
并且,由于中断处理管理表的内容与图1及图2所示的中断处理管理表A200及中断处理管理表B201不同,因此,在图11及图12中,记为中断处理管理表A600及中断处理管理表B601。
关于上述以外的要素,由于与图1以及图2所示的内容相同,因此省略说明。
下面,围绕与实施方式1的差异进行说明。
中断复制管理表存储部18是存储中断复制管理表199的单元,具体来说,如图2所示,是主存储110的存储区域的一部分。
中断复制管理表199是图14所示的信息,对中断编号、与该中断编号相关的中断优先度的候选(优先度候选)和中断优先度中完成复制处理后的复制完成优先度进行记录。
中断处理管理表A600及中断处理管理表B601是图13所示的信息。
中断处理管理表A600及中断处理管理表B601,与中断处理管理表A200及中断处理管理表B201同样地,针对每个OS设置大于或等于1个。
切换OS时接下来运行的OS的中断处理管理表,被设定在CPU100中。
在中断处理管理表A600及中断处理管理表B601中,取代中断处理管理表A200及中断处理管理表B201的共用中断传递处理而定义了共用中断复制处理(伪中断信号的产生处理)。
除了取代共用中断传递处理而定义共用中断复制处理以外,中断处理管理表A600及中断处理管理表B601与中断处理管理表A200及中断处理管理表B201相同。
下面,围绕共用中断复制处理,对中断处理管理表A600及中断处理管理表B601、共用中断复制部115进行说明。
在共用中断复制处理中,在从中断控制器120输入的中断信号的中断优先度是共用中断编号的中断优先度的情况下,共用中断复制部115选择设备中断编号连接表195及设备优先度管理表197中与该共用中断编号相关联的其他中断优先度。
并且,共用中断复制部115产生用于通知所选择的中断优先度的中断信号作为伪中断信号。
伪中断信号不是从设备130至133实际输出的中断信号,而是在中断信号控制部11内产生的模拟中断信号。
由伪中断信号通知的中断优先度是伪变换值的例子。
例如,对应于中断编号16,通过中断控制器120作为中断信号而输出中断优先度20,在此时的运行OS为OS-A150的情况下,解析部111提取中断处理管理表A600内的中断优先度20的记录,使OS-A150按照提取的记录执行中断处理A。
然后,解析部111使共用中断复制部115执行共用中断复制处理。
在共用中断复制处理中,共用中断复制部115作为伪中断信号而产生用于通知中断编号16的其他中断优先度即中断优先度100的中断信号。
此外,伪中断信号不需要输出至总线140,共用中断复制部115只要将中断优先度100通知至中断信号输入部114即可。
此外,共用中断复制部115连续产生伪中断信号,直至由OS实施对伪中断信号的处理为止。
另外,共用中断复制部115在生成伪中断信号时,会屏蔽由伪中断信号作为对象的中断编号的中断信号(中止接收中断信号)。
即,共用中断复制部115中止接收中断编号16的中断请求。
由共用中断复制部115产生的伪中断信号(示出中断优先度100的信号)是通过中断信号输入部114输入的。
解析部111提取中断处理管理表A600内的中断优先度100的记录,使OS切换部112按照提取的记录将运行OS切换为OS-B151。
对于来自共用中断复制部115的下一个伪中断信号,解析部111提取中断处理管理表B601内的中断优先度100的记录,使OS-B151按照提取的记录执行中断处理B,然后使共用中断复制部115实施共用中断复制处理。
在此阶段的共用中断复制处理中,共用中断复制部115解除对中断信号的屏蔽,重新开始接收中断编号16的中断信号。
此外,下面,以共用中断复制部115产生伪中断信号、中断信号输入部114输入来自共用中断复制部115的伪中断信号的例子为前提进行说明,但例如也可以指示共用中断复制部115将以伪中断信号通知的中断优先度通知至中断控制器120,并且,将伪中断信号输出至中断控制器120。
在此情况下,中断控制器120直至由OS对伪中断信号进行处理为止,连续输出相同中断优先度的伪中断信号。
接下来,使用图15对将中断信号从总线140输入至CPU100时的动作进行说明。
其中,S701与S301相同,S702与S302相同,S705与S305相同,S706与S306相同,因此,省略说明。
在S703中,解析部111在通过S702选择的处理为共用中断复制处理的情况下,使处理转入S704。
另一方面,在不是共用中断复制处理的情况下,使处理转入S705。
这里假定所选择的处理是共用中断复制处理,使处理转入S704。
然后,在S704中,解析部111向共用中断复制部115请求共用中断复制处理。
更具体地说,解析部111将当前处理的中断优先度传递至共用中断复制部115并请求共用中断复制处理。
这里是传递中断优先度20。
接下来,使用图16对共用中断复制部115的动作进行说明。
共用中断复制部115在S801中确定请求源的中断优先度。
在本例中,进行了中断处理管理表A600的中断优先度20的记录所示的处理,所确定的中断优先度为20。
接下来,在S802中,共用中断复制部115基于所确定的中断优先度,从中断复制管理表199中查找共享相同的中断编号的优先度候选,将其与所确定的中断优先度进行比较。
在本例中,由于是中断优先度20,因此在中断优先度20、100中进行比较,是最高的优先度。
此外,此处参照中断复制管理表199,在提取中断优先度20的同时,也提取了分配给中断编号16的中断优先度100,这与参照设备中断编号连接表195及设备优先度管理表197而同时提取中断优先度20和分配给中断编号16的中断优先度100是等价的。
因此,也可以取代参照中断复制管理表199,而参照设备中断编号连接表195及设备优先度管理表197,导出中断优先度100。
接下来,在S803中,如果比较的结果为通过S801确定的中断优先度是优先度候选中的最高优先度,则共用中断复制部115使处理转入S804。
另一方面,如果通过S801确定的中断优先度不是最高优先度,则共用中断复制部115使处理转入S805。
在本例中,由于通过S801确定的中断优先度20是最高优先度,因此,使处理转入S804。
接下来,在S804中,共用中断复制部115基于通过S801确定的中断优先度,根据中断复制管理表199确定中断编号,并对该中断编号的外部中断进行屏蔽。
外部中断的屏蔽可以使用CPU100带有的功能,也可以使用中断控制器120带有的功能。
在本例中,对中断编号16的中断进行屏蔽(中止接收用于通知中断编号16的中断信号)。
接下来,在S806中,共用中断复制部115基于所确定的中断优先度,从中断复制管理表199中查找共享相同中断编号的优先度候选,生成用于通知这些优先度候选的伪中断信号,并通过中断信号输入部114输入所生成的伪中断信号。
例如,在对应于中断编号16,中断优先度存在20、50、100这3个值的情况下,共用中断复制部115生成用于通知中断优先度50的伪中断信号和用于通知中断优先度100的伪中断信号。
在此情况下,共用中断复制部115仅将用于通知优先度高的中断优先度50的伪中断信号输入至中断信号输入部114,并通过OS对用于通知中断优先度50的伪中断信号进行中断处理,然后,将用于通知中断优先度100的伪中断信号输入至中断信号输入部114。
另外,也可以取代由共用中断复制部115生成伪中断信号的方法,如前所述,由共用中断复制部115指示中断控制器120生成伪中断信号,并由中断信号输入部114输入来自中断控制器120的伪中断信号。
此外,以下对共用中断复制部115生成用于通知中断优先度100的伪中断信号,并将其输入至中断信号输入部114的例子进行说明。
对于输入至中断信号输入部114的伪中断信号,与通常的中断信号同样地,进行图15的S701至S706的处理。
并且,在伪中断信号成为共用中断复制处理的对象时(S703为“是”),对于伪中断信号执行图16的处理。
下面,将在S801阶段确定的优先度设为100,对S805、S807的动作进行说明。
即,对下述动作之后的处理进行说明,其中,上述动作是指对于用于通知中断优先度100的伪中断信号执行共用中断复制处理,共用中断复制部115确定出中断优先度100(S801),并且,参照中断复制管理表199,与分配给相同中断编号的其他中断优先度进行比较(S802)。
在S805中,如果在S802中进行比较的结果是最低优先度(S803为“否”,S805为“是”),则共用中断复制部115使处理转入S807。
如果不是最低优先度,则共用中断复制部115结束共用中断复制处理。
在本例中,由于是中断优先度100,因此,在中断优先度20、100中比较的结果是最低优先度,使处理转入S807。
接下来,在S807中,基于在S801中确定的中断优先度,根据中断复制管理表199确定中断编号,解除该中断编号的外部中断屏蔽。
在进行本处理的情况下,由于对分配给相同中断编号的中断优先度的处理已全部完成,因此,禁止中断的因素已全部清除,即使解除中断屏蔽也没有问题。
在本例中,解除中断编号16的外部中断屏蔽。
接下来,使用图17,对于从设备130至133产生中断信号,中断信号经由中断控制器120输入至CPU100后向其他OS传递中断的动作进行说明。
此外,以下将在CPU100正在运行OS-A150时产生来自设备B(1)131的中断信号的情况下的处理例,记载在括号内。
中断控制器120如果从设备130至133接收到中断信号,则在S901中,参照主存储110内的设备中断编号连接表195,确定所产生的中断的中断编号(中断控制器120确定出中断编号16)。
接下来,在S902中,中断控制器120参照主存储110内的中断编号优先度变换表196,从中断编号变换为中断优先度,并将该中断优先度传递至CPU100(中断控制器120将中断优先度20传递至CPU100)。
接下来,在S903中,通过CPU100执行在S701至706中说明的中断处理。
在调用共用中断复制部115的情况下,如前所述,通过共用中断复制部115屏蔽中断编号的外部中断,将用于通知其他优先度候选的伪中断输入至中断信号输入部114(中断编号16的中断信号被屏蔽,由共用中断复制部115生成中断优先度100的伪中断信号,并输入至中断信号输入部114。此外,先前输入的中断优先度20由中断处理A170进行处理)。
接下来,在S904中,解析部111检查中断信号输入部114中是否输入了其他中断优先度(在本例中,由于输入有通过S903追加的中断优先度100的伪中断信号,因此,结果为输入有其他中断优先度)。
接下来,在S905中,在没有输入其他中断优先度的情况下,解析部111使处理结束。
另一方面,在输入了其他中断优先度的情况下,解析部111使处理转入S903(在本例中,由于输入了中断优先度100,因此,使处理转入S903)。
以下对记载在括号中的具体例子的后续情况进行说明。
在S903中,通过S701至S706的处理,OS切换部112将运行OS切换为OS-B151,另外,通过OS-B151执行中断处理B171。
并且,在执行了中断处理B171后的S704的处理中,共用中断复制部115将中断优先度100判断为最低优先度(S805为“是”),其结果,解除中断编号16的中断屏蔽。
通过解除中断编号16的中断屏蔽,从而情况变为,如果再次产生中断编号16的中断信号,则中断优先度20的中断信号被输入至CPU100。
在S904中,解析部111检查中断信号输入部114中是否输入了其他中断优先度,确认到没有输入其他中断优先度,通过S905结束处理。
在上述说明中,通过S806,共用中断复制部115进行了其他中断优先度的伪中断信号的生成,但也可以通过S902将其他中断优先度(在本例中为中断优先度100)的伪中断信号从中断控制器120输入至中断信号输入部114。
此时,省略S806中的由共用中断复制部115输入多个中断优先度的动作。
通过上述处理,例如,在对应于中断编号16由中断控制器120作为中断信号而输出中断优先度20,此时的运行OS为OS-A150的情况下,解析部111提取中断处理管理表A600内的中断优先度20的记录,并按照提取的记录,使OS-A150执行中断处理A。
然后,解析部111使共用中断复制部115执行共用中断复制处理。
在共用中断复制处理中,共用中断复制部115将中断编号16的其他中断优先度即中断优先度100,生成作为伪中断信号。
如果存在伪中断信号的输入,则解析部111提取中断处理管理表A600内的中断优先度100的记录,并按照提取的记录,使OS切换部112将运行OS切换为OS-B151。
针对来自共用中断复制部115的下一个伪中断信号(中断优先度100),解析部111提取中断处理管理表B601内的中断优先度100的记录,按照提取出的记录,使OS-B151执行中断处理B。
因此,无论中断编号16的中断信号的输出源是设备A130还是设备B(1)131,均能够通过指定OS对中断信号进行处理。
并且,解析部111使共用中断复制部115实施共用中断复制处理。
在该共用中断复制处理中,共用中断复制部115解除对中断编号16的中断信号的屏蔽,重新开始接收中断编号16的中断信号。
如上所述,根据本实施方式,通过进行中断屏蔽,将其他优先度的中断从CPU或中断控制器输入至CPU,从而即使在存在共享相同中断编号的设备的情况下,也能够使各OS独占设备。
最后,对包含实施方式1及2所示的中断信号接收装置10在内的计算机装置1的硬件结构例进行说明。
图18是表示包含实施方式1及2所示的中断信号接收装置10在内的计算机装置1的硬件资源的一个例子的图。
此外,图18的结构只是表示计算机装置1的硬件结构的一个例子,但计算机装置1的硬件结构并不限定于图18所记载的结构,也可以是其他结构。
在图18中,计算机装置1具有用于执行程序的CPU911(也称为CentralProcessingUnit、中央处理装置、处理装置、运算装置、微处理器、微型计算机、处理器)。
CPU911经由总线912与例如ROM(ReadOnlyMemory)913、RAM(RandomAccessMemory)914、通信端口915、显示装置901、键盘902、鼠标903、磁盘装置920连接,对这些硬件设备进行控制。
另外,CPU911与中断控制器907连接。
并且,CPU911也可以与FDD904(FlexibleDiskDrive)、致密盘装置905(CDD)、打印机装置906连接。
另外,也可以取代磁盘装置920,而设置SSD(SolidStateDrive)、光盘装置、存储卡(注册商标)读写装置等存储装置。
RAM914是易失性存储器的一个例子。
ROM913、FDD904、CDD905、磁盘装置920的存储介质是非易失性存储器的一个例子。它们是存储装置的一个例子。
CPU911与实施方式1及2中说明的CPU100相当,RAM914与实施方式1及2中说明的主存储110相当。
另外,中断控制器907与实施方式1及2中说明的中断控制器120相当。
另外,其他的硬件资源与实施方式1及2中说明的设备130至133相当。
通信端口915、键盘902、鼠标903、中断控制器907、FDD904等是输入装置的一个例子。
另外,通信端口915、显示装置901、打印机装置906等是输出装置的一个例子。
通信端口915也可以与例如LAN(局域网)、互联网、WAN(广域网)、SAN(存储区域网)等连接。
磁盘装置920中存储有操作系统921(OS)、视窗(window)系统922、程序组923、文件组924。
如实施方式1及2所示,在计算机装置1中,运行大于或等于2个操作系统921(OS),与OS-A150及OS-B151相对应。
程序组923的程序由CPU911使用操作系统921、视窗系统922执行。
在程序组923中包含有在实施方式1及2中实现中断信号控制部11的内部要素及中断信号输入部114的功能的程序,这些程序被加载在RAM914中,由CPU911执行。
另外,在RAM914中暂时存储由CPU911执行的操作系统921的程序或应用程序的至少一部分。
另外,在RAM914中存储由CPU911进行的处理所需的各种数据。
另外,在ROM913中存储有BIOS(BasicInputOutputSystem)程序,在磁盘装置920中存储有引导程序。
在计算机装置1启动时,执行ROM913的BIOS程序及磁盘装置920的引导程序,通过BIOS程序及引导程序启动操作系统921。
在文件组924中,作为“~文件”或“~数据库”的各个项目,存储有代表下述处理的结果的信息或数据或信号值或变量值或参数,即,在实施方式1及2的说明时作为“~的判断”、“~的提取”、“~的比较”、“~的指定”、“~的更新”、“~的设定”、“~的登记”、“~的选择”、“~的输入”、“~的输出”等进行说明的处理。
“~文件”或“~数据库”存储在存储盘或存储器等记录介质中。
存储在存储盘或存储器等存储介质中的信息或数据或信号值或变量值或参数,经由读写电路由CPU911读取至主存储器或高速缓冲存储器中。
并且,读取的信息或数据或信号值或变量值或参数,用于提取/检索/参照/比较/运算/计算/处理/编辑/输出/印刷/显示等CPU动作。
在提取/检索/参照/比较/运算/计算/处理/编辑/输出/印刷/显示的CPU动作期间,信息或数据或信号值或变量值或参数会暂时存储在主存储器、寄存器、高速缓冲存储器、缓冲存储器等中。
另外,实施方式1及2中说明的流程的箭头部分,主要表示数据或信号的输入/输出。
数据或信号值记录在RAM914的存储器、FDD904的软盘、CDD905的致密盘、磁盘装置920的磁盘、其他光盘、迷你盘、DVD等记录介质中。
另外,数据或信号通过总线912或信号线或线缆或其他传送介质进行在线传送。
另外,通过在实施方式1及2中说明的流程所示的步骤、工序、处理,能够将实施方式1及2中所示的中断信号接收装置10的动作作为方法来理解。
另外,以“~部”进行说明的内容,也可以由存储在ROM913中的固件实现。
或者,也可以仅由软件、或仅由元件/设备/基板/配线等硬件、或软件与硬件的组合以及与固件的组合实施。
固件和软件作为程序,存储在磁盘、软盘、光盘、致密盘、迷你盘、DVD等记录介质中。
程序由CPU911读取,并由CPU911执行。
即,程序用于使计算机装置1作为实施方式1及2的“~部”而起作用。或者,用于使计算机装置1执行实施方式1及2的“~部”的工序或方法。
标号的说明
10中断信号接收装置
11中断信号控制部
12设备中断编号连接表存储部
13中断编号优先度变换表存储部
14设备优先度管理表存储部
15中断使用管理表存储部
16中断处理管理表存储部
17OS存储部
18中断复制管理表存储部
100CPU
110主存储
111解析部
112OS切换部
113共用中断传递部
114中断信号输入部
115共用中断复制部
120中断控制器
130设备A
131设备B(1)
132设备B(2)
133设备B(3)
140总线
150OS-A
151OS-B
160设备驱动A
161设备驱动B
170中断处理A
171中断处理B
195设备中断编号连接表
196中断编号优先度变换表
197设备优先度管理表
198中断使用管理表
199中断复制管理表
200中断处理管理表A
201中断处理管理表B
600中断处理管理表A
601中断处理管理表B
Claims (13)
1.一种中断信号接收装置,其管理大于或等于2个OS的运行,使所述大于或等于2个OS中的任一个OS作为运行OS而运行,
接收来自多个设备的中断信号,该多个设备分别被指定有以中断信号通知的中断编号,并分别被指定有对中断信号进行处理的OS作为指定OS,
该中断信号接收装置的特征在于,具有:
OS固有值信息存储部,其针对共用相同中断编号的大于或等于2个编号共用设备分别存储OS固有值信息,该OS固有值信息使各个编号共用设备的指定OS、各个编号共用设备固有的固有值和该大于或等于2个编号共用设备所共用的共用中断编号相关联;
变换值信息存储部,其对应于每一个共用中断编号存储变换值信息,该变换值信息将从所述OS固有值信息中与共用中断编号相关联的大于或等于2个固有值中任一个固有值,作为共用中断编号的变换值而示出;以及
中断信号控制部,其在任一个OS作为运行OS而运行时,从任意设备输出用于通知共用中断编号的中断信号,并判断为对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值,与所述OS固有值信息中所述运行OS所关联的固有值相同的情况下,使得所述运行OS执行对所述中断信号的处理,并且,以使得所述变换值信息中作为变换值示出的固有值以外的1个固有值成为新的变换值的方式变更所述变换值信息,在变更所述变换值信息后,在所述运行OS运行时从任意设备输出了用于通知共用中断编号的中断信号的情况下,判断为对以所述中断信号通知的共用中断编号按照变更后的变换值信息进行变换后的新的变换值不同于所述OS固有值信息中与所述运行OS关联的固有值,使得所述OS固有值信息中所关联的固有值与所述新的变换值相同的除了所述运行OS以外的OS作为新的运行OS启动,并停止所述运行OS。
2.根据权利要求1所述的中断信号接收装置,其特征在于,
所述中断信号控制部,
在所述新的运行OS启动后从任意设备输出了用于通知共用中断编号的中断信号时,
判断为对以所述中断信号通知的共用中断编号按照所述变更后的变换值信息进行变换后的新的变换值和所述OS固有值信息中与所述新的运行OS关联的固有值相同,使得所述新的运行OS执行对所述中断信号的处理,并且,以使得所述变更后的变换值信息中作为所述新的变换值示出的固有值以外的1个固有值成为下一个新的变换值的方式变更所述变更后的变换值信息,在变更所述变更后的变换值信息后,在所述新的运行OS运行时从任意设备输出了用于通知共用中断编号的中断信号的情况下,判断为对以所述中断信号通知的共用中断编号按照进一步变更后的变换值信息进行变换后的下一个新的变换值不同于所述OS固有值信息中与所述新的运行OS关联的固有值,使得所述OS固有值信息中所关联的固有值与所述下一个新的变换值相同的除了所述新的运行OS以外的OS作为下一个新的运行OS启动,并停止所述新的运行OS。
3.根据权利要求1所述的中断信号接收装置,其特征在于,
所述中断信号接收装置与中断控制器连接,该中断控制器将从各个设备输出的用于通知中断编号的中断信号输入,并参照所述变换值信息,在所输入的中断信号的中断编号为共用中断编号的情况下,将所述共用中断编号变换为由所述变换值信息作为变换值示出的固有值,并输出用于将该固有值作为变换值进行通知的中断信号,
所述中断信号接收装置还具有中断信号输入部,该中断信号输入部从所述中断控制器输入用于通知变换值的中断信号,
所述中断信号控制部在以通过所述中断信号输入部输入的中断信号通知的变换值,与所述OS固有值信息中所述运行OS所关联的固有值相同的情况下,使所述运行OS执行对所述中断信号的处理。
4.根据权利要求1所述的中断信号接收装置,其特征在于,
所述中断信号接收装置还具有中断处理管理信息存储部,该中断处理管理信息存储部对应于每一个OS存储有中断处理管理信息,该中断处理管理信息对应于所述OS固有值信息中与该OS相关联的固有值示出了中断处理,并对应于所述OS固有值信息中与其他OS相关联的固有值示出了OS切换处理,
所述中断信号控制部,
在输出了用于通知共用中断编号的中断信号的情况下,从所述中断处理管理信息存储部读取运行OS的中断处理管理信息,
在运行OS的中断处理管理信息中,提取与对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值相同的固有值,
在对应于所提取的固有值示出了中断处理的情况下,使所述运行OS执行对所述中断信号的处理,
在对应于所提取的固有值示出了OS切换处理的情况下,使所述运行OS停止,而将除了所述运行OS以外的OS作为新的运行OS启动。
5.根据权利要求4所述的中断信号接收装置,其特征在于,
所述中断处理管理信息存储部对应于每一个OS存储中断处理管理信息,该中断处理管理信息对应于所述OS固有值信息中与该OS相关联的固有值,示出了中断处理和变换值信息的更新处理,
所述中断信号控制部,
在输出了用于通知共用中断编号的中断信号的情况下,从所述中断处理管理信息存储部读取运行OS的中断处理管理信息,
在运行OS的中断处理管理信息中,提取与对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值相同的固有值,
在对应于所提取的固有值示出了中断处理和变换值信息的更新处理的情况下,使所述运行OS执行对所述中断信号的处理,
作为变换值信息的更新处理,以选择所述OS固有值信息中与所述共用中断编号相关联的其他固有值,并将所选择的固有值指定作为所述共用中断编号的新的变换值的方式,对所述变换值信息进行更新。
6.根据权利要求1所述的中断信号接收装置,其特征在于,
所述中断信号控制部,
在对以所述中断信号通知的共用中断编号进行变换后的变换值与所述运行OS所关联的固有值相同的情况下,将所述OS固有值信息中与共用中断编号相关联的其他固有值选择作为伪变换值,产生用于通知所选择的伪变换值的伪中断信号,
所述中断信号接收装置还具有中断信号输入部,该中断信号输入部用于输入所述中断信号控制部产生的用于通知伪变换值的伪中断信号,
所述中断信号控制部,
在以通过所述中断信号输入部输入的伪中断信号通知的伪变换值,与在该伪中断信号输入时正在运行的运行OS所关联的固有值相同的情况下,使该运行OS执行对该伪中断信号的处理,
在以通过所述中断信号输入部输入的伪中断信号通知的伪变换值,与除了在该伪中断信号输入时正在运行的运行OS以外的OS所关联的固有值相同的情况下,使该运行OS停止,将除了该运行OS以外的某一个OS作为新的运行OS启动。
7.根据权利要求6所述的中断信号接收装置,其特征在于,
所述中断信号控制部直至伪中断信号由指定OS处理为止,连续产生用于通知相同的伪变换值的伪中断信号。
8.根据权利要求6所述的中断信号接收装置,其特征在于,
所述中断信号接收装置还具有中断处理管理信息存储部,该中断处理管理信息存储部对应于每一个OS存储有中断处理管理信息,该中断处理管理信息对应于所述OS固有值信息中与该OS相关联的固有值,示出了中断处理和伪中断信号的产生处理,并对应于所述OS固有值信息中与其他OS相关联的固有值,示出了OS切换处理,
所述中断信号控制部,
在输出了用于通知共用中断编号的中断信号的情况下,从所述中断处理管理信息存储部读取运行OS的中断处理管理信息,
在运行OS的中断处理管理信息中,提取与对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值相同的固有值,
在相对于所提取的固有值示出了中断处理和伪中断信号的产生处理的情况下,使所述运行OS执行对所述中断信号的处理,作为伪中断信号的产生处理,所述中断信号控制部选择所述OS固有值信息中与所述共用中断编号相关联的其他固有值作为伪变换值,产生用于通知所选择的伪变换值的伪中断信号,
在相对于所提取的固有值示出了OS切换处理的情况下,使所述运行OS停止,将除了所述运行OS以外的某一个OS作为新的运行OS启动。
9.根据权利要求1所述的中断信号接收装置,其特征在于,
所述中断信号接收装置与中断控制器连接,该中断控制器将从各个设备输出的用于通知中断编号的中断信号输入,并参照所述变换值信息,在所输入的中断信号的中断编号为共用中断编号的情况下,将所述共用中断编号变换为由所述变换值信息指定的变换值,并输出用于通知变换值的中断信号,
所述中断信号接收装置还具有中断信号输入部,该中断信号输入部从所述中断控制器输入用于通知变换值的中断信号,
所述中断信号控制部在以来自所述中断控制器的中断信号通知的变换值与所述运行OS所关联的固有值相同的情况下,指示所述中断控制器,以使得所述中断控制器选择所述OS固有值信息中与所述共用中断编号相关联的其他固有值作为伪变换值,并输出用于通知所选择的伪变换值的伪中断信号,
所述中断信号输入部从所述中断控制器输入用于通知伪变换值的伪中断信号,
所述中断信号控制部,
在以通过所述中断信号输入部输入的伪中断信号通知的伪变换值,与在该伪中断信号输入时正在运行的运行OS所关联的固有值相同的情况下,使该运行OS执行对该伪中断信号的处理,
在以通过所述中断信号输入部输入的伪中断信号通知的伪变换值,与除了在该伪中断信号输入时正在运行的运行OS以外的OS所关联的固有值相同的情况下,使该运行OS停止,将除了该运行OS以外的某一个OS作为新的运行OS启动。
10.根据权利要求9所述的中断信号接收装置,其特征在于,
所述中断信号接收装置与中断控制器连接,该中断控制器直至伪中断信号由指定OS处理为止,连续输出用于通知相同的伪变换值的伪中断信号。
11.根据权利要求9所述的中断信号接收装置,其特征在于,
所述中断信号接收装置还具有中断处理管理信息存储部,中断处理管理信息存储部对应于每一个OS存储有中断处理管理信息,该中断处理管理信息对应于所述OS固有值信息中与该OS相关联的固有值示出了中断处理和伪中断信号的产生处理,并对应于所述OS固有值信息中与其他OS相关联的固有值示出了OS切换处理,
所述中断信号控制部,
在输出了用于通知共用中断编号的中断信号的情况下,从所述中断处理管理信息存储部读取运行OS的中断处理管理信息,
在运行OS的中断处理管理信息中,提取与对以所述中断信号通知的共用中断编号按照所述变换值信息进行变换后的变换值相同的固有值,
在相对于所提取的固有值示出了中断处理和伪中断信号的产生处理的情况下,使所述运行OS执行对所述中断信号的处理,作为伪中断信号的产生处理,所述中断信号控制部指示所述中断控制器,以使得所述中断控制器选择所述OS固有值信息中与所述共用中断编号相关联的其他固有值作为伪变换值,并输出用于通知所选择的伪变换值的伪中断信号,
在对应于所提取的固有值示出了OS切换处理的情况下,使所述运行OS停止,将除了所述运行OS以外的OS作为新的运行OS启动。
12.根据权利要求6所述的中断信号接收装置,其特征在于,
所述中断信号接收装置接收来自多个设备的中断信号,该多个设备直至中断信号由指定OS处理为止,连续输出用于通知相同的中断编号的中断信号,
所述中断信号控制部,
选择伪变换值,并且,将以所述中断信号通知的共用中断编号指定作为中止接收编号,中止接收用于通知中止接收编号的中断信号,
在指定OS对于伪中断信号的处理完成时,解除所述中止接收编号的指定,重新开始接收用于通知所述共用中断编号的中断信号。
13.一种计算机装置,其特征在于,
具有权利要求1所述的中断信号接收装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/068694 WO2012053095A1 (ja) | 2010-10-22 | 2010-10-22 | 割込み信号受付け装置及びコンピュータ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103180829A CN103180829A (zh) | 2013-06-26 |
CN103180829B true CN103180829B (zh) | 2016-08-03 |
Family
ID=45974831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080069758.0A Expired - Fee Related CN103180829B (zh) | 2010-10-22 | 2010-10-22 | 中断信号接收装置及计算机装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9361251B2 (zh) |
JP (1) | JP5372262B2 (zh) |
KR (1) | KR101475640B1 (zh) |
CN (1) | CN103180829B (zh) |
DE (1) | DE112010005951T5 (zh) |
WO (1) | WO2012053095A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140079137A (ko) * | 2012-12-18 | 2014-06-26 | 삼성전자주식회사 | 불휘발성 메모리를 메인 메모리로 사용하는 컴퓨팅 시스템 및 그것의 데이터 관리 방법 |
US9678903B1 (en) * | 2014-10-15 | 2017-06-13 | Intel Corporation | Systems and methods for managing inter-CPU interrupts between multiple CPUs |
CN105786607B (zh) * | 2016-03-24 | 2019-11-12 | 宇龙计算机通信科技(深圳)有限公司 | 一种多系统的冻结与唤醒方法及装置 |
KR20180083688A (ko) * | 2017-01-13 | 2018-07-23 | 삼성전자주식회사 | 애플리케이션 프로세서 및 집적 회로 |
CN112470125B (zh) * | 2018-07-24 | 2024-02-20 | 三菱电机株式会社 | 中断处理方法、计算机系统以及存储介质 |
CN112711549B (zh) * | 2021-01-15 | 2023-08-01 | 飞腾信息技术有限公司 | 中断请求信号转换系统和方法、计算装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229038A (ja) * | 2000-02-17 | 2001-08-24 | Hitachi Ltd | マルチオペレーテング計算機システム |
US6615303B1 (en) * | 1999-05-21 | 2003-09-02 | Hitachi, Ltd. | Computer system with multiple operating system operation |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61229129A (ja) | 1985-04-04 | 1986-10-13 | Nec Corp | 仮想計算機システムにおける入出力割込み通知装置 |
JPH0540643A (ja) * | 1991-08-06 | 1993-02-19 | Nec Corp | 複数os同時動作時のh/w割込み制御方式 |
JP4026667B2 (ja) | 1997-09-12 | 2007-12-26 | 株式会社日立製作所 | マルチos構成方法 |
JP3546678B2 (ja) | 1997-09-12 | 2004-07-28 | 株式会社日立製作所 | マルチos構成方法 |
US6715016B1 (en) * | 2000-06-01 | 2004-03-30 | Hitachi, Ltd. | Multiple operating system control method |
US6785893B2 (en) * | 2000-11-30 | 2004-08-31 | Microsoft Corporation | Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur |
DE60323811D1 (de) * | 2003-04-09 | 2008-11-13 | Jaluna S A | Betriebssysteme |
US8612992B2 (en) * | 2003-04-09 | 2013-12-17 | Jaluna Sa | Operating systems |
JP4523910B2 (ja) | 2005-12-13 | 2010-08-11 | 三菱電機株式会社 | 並列処理装置及び並列処理方法及び並列処理プログラム |
JP2007206955A (ja) * | 2006-02-01 | 2007-08-16 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP5014179B2 (ja) | 2008-01-25 | 2012-08-29 | 三菱電機株式会社 | Os優先度変更装置及びos優先度変更プログラム |
US7793025B2 (en) * | 2008-03-28 | 2010-09-07 | Freescale Semiconductor, Inc. | Hardware managed context sensitive interrupt priority level control |
US8291135B2 (en) * | 2010-01-15 | 2012-10-16 | Vmware, Inc. | Guest/hypervisor interrupt coalescing for storage adapter virtual function in guest passthrough mode |
US8417862B2 (en) * | 2010-10-13 | 2013-04-09 | Lsi Corporation | Inter-virtual machine interrupt coalescing |
-
2010
- 2010-10-22 JP JP2012539540A patent/JP5372262B2/ja not_active Expired - Fee Related
- 2010-10-22 DE DE112010005951T patent/DE112010005951T5/de not_active Withdrawn
- 2010-10-22 CN CN201080069758.0A patent/CN103180829B/zh not_active Expired - Fee Related
- 2010-10-22 US US13/824,405 patent/US9361251B2/en not_active Expired - Fee Related
- 2010-10-22 KR KR1020137008525A patent/KR101475640B1/ko not_active IP Right Cessation
- 2010-10-22 WO PCT/JP2010/068694 patent/WO2012053095A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615303B1 (en) * | 1999-05-21 | 2003-09-02 | Hitachi, Ltd. | Computer system with multiple operating system operation |
JP2001229038A (ja) * | 2000-02-17 | 2001-08-24 | Hitachi Ltd | マルチオペレーテング計算機システム |
Also Published As
Publication number | Publication date |
---|---|
DE112010005951T5 (de) | 2013-07-25 |
CN103180829A (zh) | 2013-06-26 |
US20130185469A1 (en) | 2013-07-18 |
WO2012053095A1 (ja) | 2012-04-26 |
JPWO2012053095A1 (ja) | 2014-02-24 |
KR20130052010A (ko) | 2013-05-21 |
JP5372262B2 (ja) | 2013-12-18 |
US9361251B2 (en) | 2016-06-07 |
KR101475640B1 (ko) | 2014-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103180829B (zh) | 中断信号接收装置及计算机装置 | |
CN106445876B (zh) | 基于应用的动态异构多核系统和方法 | |
CN103562878B (zh) | 在镜像虚拟机系统中的存储器检查点设置 | |
JP5697206B2 (ja) | 不正アクセスに対する防御をするシステム、方法およびプログラム | |
CN102207886B (zh) | 虚拟机快速仿真辅助 | |
CN101095112B (zh) | 仿真os隔离定序器上的用户级多线程处理的机制 | |
WO2019079008A1 (en) | LEARNING EXECUTION LIBRARY MACHINE FOR NEURONAL NETWORK ACCELERATION | |
KR101751936B1 (ko) | 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법 | |
US7689734B2 (en) | Method for toggling non-adjacent channel identifiers during DMA double buffering operations | |
EP2829968A1 (en) | Storage controller, controlling program, and method for controlling | |
JP2023545818A (ja) | チップ・システム、仮想割り込み処理方法および対応する装置 | |
JP2017102919A (ja) | 命令を処理するための複数の実行ユニットを備えるプロセッサ、プロセッサを使用して命令を処理するための方法、およびプロセッサの設計プロセスにおいて使用される設計構造 | |
JP2015170170A (ja) | データ分割処理プログラム,データ分割処理装置及びデータ分割処理方法 | |
JPWO2008126202A1 (ja) | ストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置 | |
CN104104705A (zh) | 分布式存储系统的接入方法和设备 | |
JP2008139965A (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2009087282A (ja) | 並列計算システムおよび並列計算方法 | |
CN115168256A (zh) | 中断控制方法、中断控制器、电子设备、介质和芯片 | |
US8230117B2 (en) | Techniques for write-after-write ordering in a coherency managed processor system that employs a command pipeline | |
CN103036947A (zh) | 基于kvm的虚拟机迁移方法及系统 | |
WO2024103927A1 (zh) | 混合部署场景下的作业调度方法、装置及电子设备 | |
JP2020508534A (ja) | スーパースレッドプロセッサ、処理システム、および方法 | |
US20050160320A1 (en) | Method for verification of command processing in a computer system design having a multiple priority command queue | |
CN113778455B (zh) | 一种代码转换方法、装置、电子设备及存储介质 | |
CN113485643B (zh) | 用于数据存取的方法及数据写入的控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 Termination date: 20181022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |