CN104956337A - 计算机装置和计算机装置的控制方法 - Google Patents
计算机装置和计算机装置的控制方法 Download PDFInfo
- Publication number
- CN104956337A CN104956337A CN201380071709.4A CN201380071709A CN104956337A CN 104956337 A CN104956337 A CN 104956337A CN 201380071709 A CN201380071709 A CN 201380071709A CN 104956337 A CN104956337 A CN 104956337A
- Authority
- CN
- China
- Prior art keywords
- interruption
- cpu
- ras module
- initialize process
- testing agency
- 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.)
- Granted
Links
Classifications
-
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
Abstract
在计算机装置(100)起动时,CPU(101)执行RAS模块(130)中包含的第1初始化进程(132),对RAS模块(130)使用的资源进行初始化,在第1初始化进程(132)执行后,执行OS(110)中包含的初始化进程(111),对OS(110)使用的资源进行初始化,在初始化进程(111)执行后,执行RAS模块(130)内包含的第2初始化进程(133),将OS(110)中包含的中断判定部(112)复制到RAS模块(130),将中断检测机构(102)设定成在中断检测机构(102)检测出中断时调用复制到RAS模块(130)的中断判定部(134)而不是OS(110)的中断判定部(112)。
Description
技术领域
本发明涉及这样的技术:向安装有OS(Operating System,操作系统)的计算机装置追加实现处置CPU(Central Processing Unit,中央处理单元)例外的异常处置功能(=RAS功能(RAS:Reliability Availability Serviceability;可靠性、可用性、可服务性))的程序即RAS模块,而不用修改OS模块。
并且,本发明涉及这样的技术:向一并安装了OS及Hypervisor(管理程序)的计算机装置追加RAS模块而不用修改OS和Hypervisor的模块。
另外,管理程序是实现计算机装置的虚拟化的软件。
管理程序是位于OS与计算机硬件之间、用于仿真计算机装置的动作的软件,在1个计算机装置上使多个OS同时动作,进行多个OS间的通信和资源共享的中介等。
并且,CPU例外是在CPU处于无法继续进行通常处理的状态的情况下(例如零除法运算等)的例外。
成为这样的构造:在CPU例外发生时,可以调用事先设定的别的程序。
另外,在本说明书中,将CPU例外和除了CPU例外以外的中断这两者称为“中断”。
并且,将“中断”中的CPU例外以外的中断称为“标准中断”,与CPU例外分别开。
背景技术
在现有技术中,在OS(也可以是存在一个或多个)或管理程序(也可以是没有管理程序的结构)分别以独立的模块结构进行动作的计算机装置中,在实现与CPU例外对应的RAS功能的情况下,使用向OS或管理程序追加与CPU例外对应的处理等的方法来实现。
例如,在专利文献1中,公开了这样的结构:在VM监视器(相当于本说明书中的管理程序(Hypervisor))处设置有从故障信息存储区域取出在遭遇了本体系故障(相当于本说明书中的CPU例外)的虚拟计算机中处于执行状态的处理的故障信息的构件。
并且,例如,在专利文献2中,公开了这样的技术:在利用管理程序使多个OS进行动作的虚拟计算机中解决例外。
具体地,公开了这样的技术:将在例外发生时OS执行的处理部分的存储图像复制到管理程序侧,管理程序通过仿真在例外发生时OS执行的处理中的特权命令来解决例外。
现有技术文献
专利文献
专利文献1:日本特开平01-053238号公报
专利文献2:日本特开2006-155272号公报
发明内容
发明所要解决的课题
以往,在向OS(也可以是存在一个或多个)和管理程序(也可以不存在管理程序)由独立的模块构成的计算机系统中追加与该OS的例外处理对应的RAS功能的情况下,有必要对该OS、管理程序、CPU具有的中断检测机构施加修改和变更。
例如,在专利文献1和专利文献2的技术中,使管理程序侧预先具有与CPU例外对应的功能来实现RAS功能。
因此,存在的课题是,在难以对OS或管理程序的模块施加修改的情况下(也包含:技术上的难易度高而花费成本的情况,由于许可(license)而不能施加修改的情况、从品质保持的观点上不想进行修改的情况等),追加RAS功能是困难的。
本发明的主要目的是解决上述的课题。
也就是说,本发明的主要目的是,能够向计算机装置追加RAS模块而不对OS进行修改,适当地实现RAS功能。
用于解决课题的手段
本发明的计算机装置,具有:
CPU(Central Processing Unit,中央处理单元),其包含有检测中断的中断检测机构;和
OS(Operating System,操作系统),其包含有中断判定部,所述中断判定部在所述中断检测机构检测出中断时被所述中断检测机构调用,判定所述中断检测机构检测出的中断是否是CPU例外,
所述计算机装置的特征在于,
在向所述计算机装置追加了进行针对CPU例外的处理的程序即RAS(Reliability、Availability、Serviceability;可靠性、可用性、可修性)模块的情况下,
所述CPU
在所述计算机装置起动时,调用所述RAS模块中包含的第1初始化进程,执行所述第1初始化进程,对所述RAS模块使用的资源进行初始化,
在所述RAS模块的所述第1初始化进程执行后,调用所述OS中包含的初始化进程,执行所述初始化进程,对所述OS使用的资源进行初始化,
在所述OS的所述初始化进程执行后,调用所述RAS模块中包含的第2初始化进程,执行所述第2初始化进程,将所述OS中包含的所述中断判定部复制到所述RAS模块,将所述中断检测机构设定成在所述中断检测机构检测出中断时调用复制到所述RAS模块的中断判定部而不是所述OS的中断判定部。
发明的效果
根据本发明,能够向计算机装置追加RAS模块,而不修改针对安装在计算机装置内的OS,并且,在CPU的中断检测机构检测出中断的情况下,合适地调用RAS模块,实现RAS功能。
附图说明
图1是示出实施方式1的计算机装置的结构例的图。
图2是示出实施方式1的计算机装置中的初始化处理的概要的流程图。
图3是示出实施方式1的RAS模块的第1初始化进程的详情的流程图。
图4是示出实施方式1的OS的初始化进程的详情的流程图。
图5是示出实施方式1的RAS模块的第2初始化进程的详情的流程图。
图6是示出实施方式1的计算机装置中的CPU例外发生时的动作例的图。
图7是示出实施方式1的计算机装置中的CPU例外发生时的动作例的图。
图8是示出实施方式2的计算机装置的结构例的图。
图9是示出实施方式2的计算机装置中的初始化处理的概要的流程图。
图10是示出实施方式2的RAS模块的第1初始化进程的详情的流程图。
图11是示出实施方式2的计算机装置中的CPU例外发生时的动作例的图。
图12是示出实施方式2的计算机装置中的CPU例外发生时的动作例的图。
图13是示出实施方式2的计算机装置中的CPU例外发生时的动作例的流程图。
图14是示出实施方式3的计算机装置中的中断发生时的动作例的图。
图15是示出实施方式3的计算机装置中的中断发生时的动作例的流程图。
图16是示出实施方式1的计算机装置的RAS模块追加前的结构例的图。
图17是示出实施方式2的计算机装置的RAS模块追加前的结构例的图。
具体实施方式
在以下的实施方式1~3中,说明1个或多个OS或管理程序进行动作的计算机装置。
更具体地,说明以下的计算机装置和计算机装置的控制方法:可以追加处置CPU例外的RAS模块,而不修改OS或管理程序的模块,并且,在发生CPU例外时,适当地调用RAS模块,通过RAS模块实施针对CPU例外的处理。
并且,在实施方式1~3中,说明这样的计算机装置:即使在与CPU例外的发生并发地OS或管理程序也发生了故障的情况下,也执行RAS功能。
在OS或管理程序本身构成为实现RAS功能的情况下,存在如下问题:当在CPU例外发生时并发了进行动作的OS或管理程序本身的故障时,无法执行RAS功能。
在实施方式1~3中,说明解决这样的问题的计算机装置。
并且,在实施方式1~3中,说明这样的RAS模块:在CPU例外发生时,通过判定哪个OS(或者管理程序)进行了动作,可以取得相应的OS(或者管理程序)的故障信息。
并且,说明这样的RAS模块:在发生标准中断而不是CPU例外的情况下,通过参照OS侧的中断判定部来调用对应的中断处理部,即使在OS侧变更了中断登记内容的情况下(也包含从计算机装置的起动到该中断发生时的期间动态变更了中断登记内容的情况),也能够正确调用中断处理部。
实施方式1
[实施方式1:结构的说明]
图1是示出实施方式1的计算机装置(100)的结构例的框图。
计算机装置(100)的结构大致划分为硬件和软件。
在计算机装置(100)内,作为硬件存在CPU(101)、存储器(103)、二次存储装置(104)。
CPU(101)也可以是存在一个或多个的结构(多核、多CPU、多处理器等)。
在CPU(101)内存在中断检测机构(102)。
中断检测机构(102)检测中断(CPU例外和标准中断)。
存储器(103)是RAM(Random Access Memory,随机存取存储器)。
并且,二次存储装置(104)例如是ROM(Read Only Memory,只读存储器)、HDD(Hard Disk Drive,硬盘驱动器)、SSD(Solid State Drive,固态驱动器)。
后述的软件被存储在二次存储装置(104)内,在执行时,从二次存储装置(104)被装入到存储器(103),依次从存储器(103)被读入到CPU(101)而被执行。
并且,通过后述的软件执行所得到的信息、数据、变量值等被存储在存储器(103)、CPU(101)内的寄存器内。
并且,在图1中,尽管省略了图示,然而在计算机装置(100)内装备有包括输入输出装置、通信装置的各种设备。
并且,作为计算机装置(100)的软件,OS(110)、RAS模块(130)、引导程序(140)分别以独立模块的形式存在有。
引导程序(140)是当计算机装置(100)起动时执行的。
OS(110)也可以是存在1个或多个。
在OS(110)的模块内存在有:初始化进程(111)、中断判定部(112)、CPU例外处理部(113)、中断处理部(115)。
初始化进程(111)是用于初始化OS(110)使用的资源的程序。
在OS(110)使用的资源内包含有硬件资源、软件资源这两者。
中断判定部(112)是在中断检测机构(102)检测出中断时由中断检测机构(102)调用的程序。
在中断判定部(112)中,判定中断检测机构(102)检测出的中断是CPU例外还是标准中断。
另外,如后所述,在计算机装置(100)的起动时,中断判定部(112)成为复制到RAS模块(130)的中断判定部(134),并且,在中断检测机构(102)的设定被变更、中断检测机构(102)检测出中断时,中断检测机构(102)调用中断判定部(134)。
因此,在向计算机装置(100)追加了RAS模块(130)之后,中断判定部(112)不从中断检测机构(102)被调用。
CPU例外处理部(113)和中断判定部(115)是在发生标准中断而不是CPU例外的情况下执行的程序。
CPU例外处理部(113)和中断判定部(115)的动作详情在实施方式3中说明。
RAS模块(130)是进行对CPU例外的处理的程序。
在RAS模块(130)内存在有:第1初始化进程(132)、第2初始化进程(133)、中断判定部(134)、OS确定部(135)、故障检测部(136)、故障信息收集部(137)、故障辨识部(138)、故障处置部(139)。
另外,RAS模块(130)也简单称为RAS。
第1初始化进程(132)是在OS(110)的初始化进程(111)执行前执行的程序。
在第1初始化进程(132)中,初始化RAS模块(130)使用的资源。
在RAS模块(130)使用的资源内包含有硬件资源、软件资源这两者。
并且,在第1初始化进程(132)中,进行改写OS(110)的初始化进程(111)的程序代码的最后部分的处理,以便执行后述的第2初始化进程(133)。
第2初始化进程(133)是在OS(110)的初始化进程(111)执行后执行的程序。
在第2初始化进程(133)中,进行这样的处理:将OS(110)内包含的中断判定部(112)复制到RAS模块(130),将中断检测机构(102)设定成在中断检测机构(102)检测出中断时调用复制到RAS模块(130)的中断判定部(134)而不是OS(110)的中断判定部(112)。
如上所述,中断判定部(134)是复制到RAS模块(130)的中断判定部(134)。
因此,在中断判定部(134)中,进行与中断判定部(112)相同的处理。
即,在中断判定部(134)中,判定中断检测机构(102)检测出的中断是CPU例外还是标准中断。
OS确定部(135)是在由中断判定部(134)判定为中断检测机构(102)检测出的中断是标准中断的情况下执行的程序。
在OS确定部(135)中,确定当发生中断时进行了动作的OS(110)。
OS确定部(135)的动作详情在实施方式3中进行说明。
故障检测部(136)、故障信息收集部(137)、故障辨识部(138)和故障处置部(139)分别是在由中断判定部(134)判定为中断检测机构(102)检测出的中断是CPU例外的情况下执行的程序。
在故障检测部(136)中,确定成为CPU例外的原因的故障。
在故障信息收集部(137)中,确定当发生CPU例外时进行了动作的OS(110),从所确定的OS(110)收集故障相关的信息。
在故障辨识部(138)中,根据由故障信息收集部(137)收集的信息辨识与故障对应的故障处置方法。
在故障处置部(139)中,实施由故障辨识部(138)辨识的故障处置方法。
故障检测部(136)、故障信息收集部(137)、故障辨识部(138)和故障处置部(139)分别相当于CPU例外处理部的例子。
另外,上述的中断判定部(112)和中断判定部(134)保存处置CPU例外和标准中断的处理(程序)在存储器(103)上的地址。
并且,上述的中断处理部(115)保存用于在中断发生时进行处置的处理(程序)。
如上所述,OS(110)、RAS模块(130)、引导程序(140)分别是程序,在计算机装置(100)中,CPU(101)读入这些程序,依据程序内记载的内容进行处理。
以下,进行“CPU(101)进行~”或者“由CPU(101)进行~”的说明,并且为了容易理解,考虑到文章的前后关系,有时也使用这样的表述:OS(110)、RAS模块(130)、引导程序(140)“进行~”、或者其内包含的要素(例如,第1初始化进程(132))“进行~”。
在本说明书中,即使软件被记载为动作主体,该记载也表示通过由CPU(101)执行的程序来进行处理。
[实施方式1:动作的概要说明(初始化时的整体动作概要)]
首先,对本实施方式的计算机装置(100)的初始化时的整体动作概要进行说明。
图2示出当起动实施方式1的计算机装置(100)时的RAS模块(130)、OS(110)的初始化处理的整体流程图。
最初,当计算机装置(100)起动时,由CPU(101)执行引导程序(140),调出RAS模块(130)的第1初始化进程(132)(S201),执行RAS模块(130)的第1初始化进程(132)(S202)。
关于引导程序(140)、RAS模块(130)的“第1初始化进程”(S202)的详情,后面进行描述。
然后,调出OS(110)的初始化进程(111),执行OS(110)的初始化进程(111)(S204)。
关于OS的“初始化进程”(S204)的详情,后面进行描述。
最后,调用RAS模块(130)的第2初始化进程(133),执行RAS模块(130)的第2初始化进程(133)(S205)。
关于RAS模块(130)的“第2初始化进程”(S205)的详情,后面进行描述。
并且,在计算机装置(100)存在多个OS(110)的情况下,在OS(110)的“初始化进程”(S204)中,依次执行各个OS的(110)的初始化进程(111)。
[实施方式1:动作的概要说明(RAS模块的“第1初始化进程”的动作)]
下面,对实施方式1中的初始化时的动作详情进行说明。
图3示出所述的RAS模块(130)的“第1初始化进程”(S202)的详细流程图。
在“第1初始化进程”(S202)中,首先,CPU(101)执行第1初始化进程(132),实施RAS模块(130)的初始化(S301)。
在S301,主要实施RAS模块(130)使用的资源的初始化处理。
之后,CPU(101)实施这样的处理:将“在OS的“初始化进程”执行后调用RAS模块的“第2初始化进程””的处理附加到OS的“初始化进程”的最后(S302)。
具体地,RAS模块(130)的第2初始化进程(133)是配置在存储器(103)上的程序,在OS(110)的初始化进程(S204)的最后,改写OS的初始化进程(111)的最后部分,以便调用该RAS模块(130)的第2初始化进程(133)的程序在存储器(103)上的地址。
也就是说,CPU(101)将存储在存储器(103)内的、OS(110)的初始化进程(111)的程序代码的最后处的记载变更为跳至RAS模块(130)的第2初始化进程(133)的程序代码的跳转命令。
以下的(1)~(4)示出该处理的更具体的实现方法的例子。
(1)根据OS(110)的编译后的执行文件的符号信息,可以在RAS模块(130)侧把握OS(110)的初始化进程(111)的代码位置(=存储器上的程序的地址)或尺寸。
例如,使用将OS(110)的符号信息装入到存储器(103)上并可以从RAS模块(130)侧参照符号信息的方法、或者预先将OS(110)的符号信息(进行硬编码等)取入到RAS模块(130)的方法,可以使RAS模块(130)把握OS(110)的初始化进程(111)的代码位置或尺寸。
(2)RAS模块(130)的第1初始化进程(132)根据在上述(1)中可把握的OS(110)的初始化进程(111)的代码位置和尺寸信息,把握OS(110)的初始化进程(111)的最后的代码位置。
(3)在该最后的代码位置部分写有回到OS(110)的初始化进程(111)的调用源的位置的代码(跳转命令)。
RAS模块(130)的第1初始化进程(132)记录有该调用源的位置,将该最后的代码部分修改为跳至RAS模块(130)的第2初始化进程(133)的代码位置的跳转命令。
(4)RAS模块(130)的第1初始化进程(132)将第2初始化进程(133)的代码的最后部分修改为跳至在上述(3)所记录的OS(110)的初始化进程(111)的调用源的位置的跳转命令。
然后,调用OS(110)的初始化进程(111)(S303)。
具体地,调用OS(110)的初始化进程(111)的程序在存储器上的地址。
[实施方式1:动作的概要说明(OS的“初始化进程”的动作)]
下面,图4示出所述的OS(110)的“初始化进程”(S204)的详细流程图。
这里,CPU(101)实施OS(110)的初始化(S401)。
在S401,主要实施OS(110)本身使用的资源的初始化处理。
之后,根据在所述的RAS模块(130)的“第1初始化进程”(S202)中被改写的那样,CPU(101)调用RAS模块(130)的第2初始化进程(133)(S402)。
具体地,CPU(101)通过调用RAS模块(130)的第2初始化进程(133)的程序在存储器上的地址来实现。
[实施方式1:动作的概要说明(RAS模块的“第2初始化进程”的动作)]
最后,图5示出所述的RAS模块(130)的“第2初始化进程”(S205)的详细流程图。
这里,CPU(101)将OS(110)的中断判定部(112)的程序代码复制到RAS模块(130)(S501)。
复制到RAS模块(130)的中断判定部(112)成为中断判定部(134)。
之后,CPU(101)实施这样的处理:设定中断检测机构(102),使得在中断发生时调用RAS模块(130)的中断判定部(134)。
[实施方式1:动作的概要说明(追加RAS模块的方法)]
以上,已说明了追加有RAS模块(130)的结构中的起动时的初始化动作,以下,对向计算机装置(100)追加RAS模块(130)的方法进行说明。
图16示出在追加RAS模块(130)之前的计算机装置(100)的结构例。
在追加RAS模块(130)之前的计算机装置(100)中,OS(也可以是存在一个或多个OS的结构)由独立的模块构成。
在追加RAS模块(130)之前,计算机装置(100)在如图16所示没有RAS模块(130)的状态下进行通常动作。
在图16的计算机装置(100)起动时,首先,计算机装置(100)上的引导程序(140)启动,从引导程序(140)调用OS(110)的初始化进程(111)。
在对该图16的计算机装置(100)追加本实施方式的RAS模块(130)的情况下,首先,将追加的RAS模块(130)的程序配置在计算机装置(100)的二次存储装置(104)上的空区域。
并且,变更计算机装置(100)的引导程序(140),使得在计算机装置(100)的起动时调用RAS模块(130)的第1初始化进程(132)。
具体地,变更成从引导程序(140)调用RAS模块(130)的第1初始化进程(132)的程序在存储器(103)上的地址。
以上是向计算机装置(100)追加RAS模块(130)的方法的概要。
如以上所述,在将RAS模块(130)追加至计算机装置(100)之后(图1的状态)起动了计算机装置(100)的情况下,进行前述图2的流程图那样的动作。
通过以上结构、动作,能够容易地向OS(也可以构成为存在一个或多个OS的结构)由独立的模块构成的计算机装置追加与OS拥有的中断判定部对应的RAS功能而不修改OS模块。
[实施方式1:动作的概要说明(中断发生时的动作概要)]
下面,对在发生中断的情况下的实施方式1的计算机装置(100)的动作概要进行说明。
图6示出在OS(110)动作时发生了中断的情况下的处理流程。
这里,也可以存在多个OS。
另外,在图6中,省略与说明没有直接关系的存储器(103)、二次存储装置(104)、引导程序(140)的图示。
并且,图6的实线箭头表示处理流程,虚线箭头表示处理内容。
在发生中断的情况下,CPU(101)的中断检测机构(102)调用RAS模块(130)。
RAS模块(130)判定所发生的中断是否是CPU例外。
然后,若所发生的中断是CPU例外,则RAS模块(130)使用计算机装置(100)的程序计数器(保存CPU的执行地址的寄存器)判定哪个OS进行了动作(根据程序计数器保存的执行中的代码的部位判定哪个OS是动作中),确定相应的OS,从所确定的OS收集故障信息。
通过该动作,在多个OS的结构的情况下,在CPU例外发生时,能够判定哪个OS进行了动作,可以从相应的OS收集故障信息。
[实施方式1:动作的概要说明(中断发生时的流程图)]
图7示出中断发生时的流程图。
最初,中断检测机构(102)检测中断(S701)。
然后,中断检测机构(102)调用RAS模块(130)的中断判定部(134)(S702)。
中断判定部(134)判定中断检测机构(102)检测出的中断是CPU例外还是标准中断(S703)。
在中断检测机构(102)检测出的中断是标准中断的情况下(S703,否),处理转移到图15的S1001。
图15的流程图的详情在实施方式3中进行说明。
另一方面,在中断检测机构(102)检测出的中断是CPU例外的情况下(S703,是),RAS模块(130)的故障检测部(136)确定CPU例外的故障原因(S705)。
然后,RAS模块(130)的故障信息收集部(137)确定在CPU例外发生时进行了动作的OS(110),从相应的OS(110)收集故障信息(S706-1)。
另外,RAS模块(130)的故障信息收集部(137)如上所述利用计算机装置(100)的程序计数器,确定在CPU例外发生时进行了动作的OS(110)。
然后,RAS模块(130)的故障辨识部(138)辨识与在S705中所确定的故障对应的故障处置方法(S707)。
最后,RAS模块(130)的故障处置部(139)依据在S707中辨识出的故障处置方法,进行处置故障的处理(S708)。
以上,根据实施方式1,通过在CPU例外发生时执行RAS模块(130)内的中断判定部(134)、故障检测部(136)等,即使在CPU例外和OS的故障并发的情况下,也可以执行RAS功能。
以上,在本实施方式中,说明了这样的RAS方式:能够向OS(也可以构成为存在一个或多个OS的结构)由独立的模块构成的计算机装置追加与OS拥有的中断判定部对应的RAS功能而不修改OS模块。
更具体地,在本实施方式中,主要说明以下的(1)~(4)。
(1)在计算机装置起动时调用的RAS模块的“初始化进程”被分为两个:在OS的“初始化进程”之前执行的“第1初始化进程”、和在OS的“初始化进程”完成之后执行的“第2初始化进程”。
(2)在RAS模块的“第1初始化进程”中,OS的“初始化进程”的最后部分被改写,以在OS的“初始化进程”之后调用RAS模块的“第2初始化进程”。
(3)在RAS模块的“第2初始化进程”中,OS的“中断判定部”被复制到RAS模块。
(4)在RAS模块的“第2初始化进程”中,“中断检测机构”被设定成在中断发生时调用RAS模块的“中断判定部”而不是OS的“中断判定部”。
并且,在本实施方式中,说明了这样的RAS方式:通过在CPU例外发生时执行RAS模块内的中断判定部、故障检测部等,即使在CPU例外和OS的故障并发的情况下,也执行RAS功能。
并且,在本实施方式中,说明了这样的RAS方式:通过执行RAS模块内的故障信息收集部,在CPU例外发生时,能够根据CPU例外发生时的程序计数器判定哪个OS进行了动作,并从相应的OS收集故障信息。
实施方式2
[实施方式2:结构的说明]
图8是示出实施方式2的计算机装置(100)的结构例的框图。
与实施方式1的结构(图1)的不同仅在于,存在管理程序(Hypervisor)(120)和管理程序(120)的初始化进程(121),其他与实施方式1的结构(图1)相同。
在本实施方式中,OS(110)也可以是存在1个或多个的结构。
CPU(101)也可以是存在一个或多个的结构(多核、多CPU、多处理器等)。
[实施方式2:动作的概要说明(初始化时的整体动作概要)]
作为实施方式2中的动作说明,首先,对初始化时的整体动作概要进行说明。
图9示出当起动实施方式2中的计算机装置(100)时的RAS模块(130)、OS(110)、管理程序(120)的模块的初始化处理的整体流程图。
这里,与实施方式1的初始化时的动作(图2)的不同是在S202和S204的处理之间追加了管理程序的“初始化进程”(S203)的部分,其他与实施方式1的流程(图2)相同。
因此,这里主要说明S203的处理和其前后的处理。
首先,到图9的RAS模块的“第1初始化进程”(S202)之前与实施方式1相同。
然后,调用并执行管理程序(120)的初始化进程(121)(S203)。
在S203,CPU(101)主要实施管理程序(120)使用的资源的初始化等。
然后,图9的OS的“初始化进程”(S204)以后与实施方式1相同。
并且,S205的详情如实施方式1的图5所示。
并且,在存在多个OS的结构的情况下,使用图9的流程图的OS的“初始化进程”(S204)依次执行各个OS(110)的初始化进程(111)。
[实施方式2:动作的概要说明(RAS模块的“第1初始化进程”的动作)]
下面,对实施方式2中的初始化时的动作详情进行说明。
图10示出所述的RAS模块的“第1初始化进程”(S202)的详细流程图。
这里,与实施方式1的RAS模块的“第1初始化进程”(图3)的不同部分仅仅是,在最后调用管理程序的“初始化进程”(图10的S304)而不是调用OS的“初始化进程”(图3的S303),因而仅说明该部分。
在S304,CPU(101)调用管理程序(120)的初始化进程(121)。
具体地,CPU(101)通过调用管理程序(120)的初始化进程(121)的程序在存储器(103)上的地址来实现。
[实施方式2:动作的概要说明(追加RAS模块的方法)]
以上,已说明了追加有RAS模块(130)的结构中的起动时的初始化动作,以下,对将RAS模块(130)追加至计算机装置(100)的方法进行说明。
图17示出在追加RAS模块(130)之前的计算机装置(100)的结构例。
在追加RAS模块(130)之前的计算机装置(100)中,OS(也可以是存在一个或多个OS的结构)和管理程序由独立的模块构成。
在追加RAS模块(130)之前,计算机装置(100)在如图17所示没有RAS模块(130)的状态下进行通常动作。
在图17的计算机装置(100)起动时,首先,计算机装置(100)上的引导程序(140)启动,从引导程序(140)调用管理程序(120)的初始化进程(121),从管理程序(120)的初始化进程(121)调用OS(110)的初始化进程(111)。
在对该图17的计算机装置(100)追加本实施方式的RAS模块(130)的情况下,首先,将要追加的RAS模块(130)的程序配置在计算机装置(100)的二次存储装置(104)上的空区域。
并且,变更计算机装置(100)的引导程序(140),使得在计算机装置(100)起动时调用RAS模块(130)的第1初始化进程(132)。
具体地,变更成从引导程序(140)调用RAS模块(130)的第1初始化进程(132)的程序在存储器(103)上的地址。
以上是将RAS模块(130)追加至计算机装置(100)的方法的概要。
如以上所述,在将RAS模块(130)追加至计算机装置(100)之后(图8的状态)起动了计算机装置(100)的情况下,进行所述的图9的流程图那样的动作。
通过以上的结构、动作,能够向OS(也可以构成为存在一个或多个OS的结构)和管理程序由独立的模块构成的计算机装置容易追加与OS拥有的中断判定部对应的RAS功能而不修改OS或管理程序的模块。
[实施方式2:动作的概要说明(中断发生时的动作概要)]
下面,对在发生中断的情况下的实施方式2的计算机装置(100)的动作概要进行说明。
图11示出在OS(110)的动作时发生中断的情况下的处理流程。
这里,也可以存在多个OS。
图12示出管理程序(120)在动作时发生了中断的情况下的处理流程。
图11与图12的不同仅是以下的不同:RAS模块(130)的故障信息收集部(137)是收集OS的故障信息、还是收集管理程序的故障信息。
并且,在图11和图12中,省略与说明没有直接关系的存储器(103)、二次存储装置(104)、引导程序(140)的图示。
并且,图11和图12的实线箭头表示处理流程,虚线箭头表示处理内容。
在发生中断的情况下,CPU(101)的中断检测机构(102)调用RAS模块(130)。
RAS模块(130)判定所发生的中断是否是CPU例外。
然后,若所发生的中断是CPU例外,则RAS模块(130)使用计算机装置(100)的程序计数器(保存CPU的执行地址的寄存器)判定在发生CPU例外时哪个OS或管理程序进行了动作(根据程序计数器保存的执行中的代码的部位来判定哪个OS或管理程序是动作中),确定相应的OS或管理程序,从所确定的OS或管理程序收集故障信息。
通过该动作,在CPU例外发生时,能够判定哪个OS(也可以是多个OS的结构)或者管理程序进行了动作,可以从相应的OS或者管理程序收集故障信息。
[实施方式2:动作的概要说明(中断发生时的流程图)]
图13示出中断发生时的流程图。
该流程图与实施方式1的图7的流程图的不同仅是,S706-1的处理为S706-2的处理。
因此,以下,仅说明S706-2的处理。
在利用RAS模块(130)的故障检测部(136)确定了相应故障(S705)之后,RAS模块(130)的故障信息收集部(137)确定在CPU例外发生时进行了动作的OS(或者管理程序),从相应的OS(或者管理程序)收集故障信息(S706-2)。
另外,RAS模块(130)的故障信息收集部(137)如上所述利用计算机装置(100)的程序计数器,确定在CPU例外发生时进行了动作的OS(或者管理程序)。
以后的处理(S707以后)与实施方式1的图7相同。
以上,根据实施方式2,通过在CPU例外发生时执行RAS模块(130)内的中断判定部(134)、故障检测部(136)等,即使在CPU例外和OS的故障并发的情况下,也能够执行RAS功能。
并且,通过在CPU例外发生时执行RAS模块(130)内的中断判定部(134)、故障检测部(136)等,即使在CPU例外和管理程序的故障并发的情况下,也可以执行RAS功能。
以上,在本实施方式中,说明了这样的RAS方式:能够向OS(也可以构成为存在一个或多个OS的结构)和管理程序由独立的模块构成的计算机装置追加与OS拥有的中断判定部对应的RAS功能而不修改OS或管理程序的模块。
更具体地,在本实施方式中,主要说明以下的(1)~(4)。
(1)在计算机装置起动时调用的RAS模块的“初始化进程”被分为两个:在OS或管理程序的“初始化进程”之前执行的“第1初始化进程”、和在OS或管理程序的“初始化进程”完成之后执行的“第2初始化进程”。
(2)在RAS模块的“第1初始化进程”中,OS的“初始化进程”的最后部分被改写,以在OS的“初始化进程”之后调用RAS模块的“第2初始化进程”。
(3)在RAS模块的“第2初始化进程”中,OS的“中断判定部”被复制到RAS模块。
(4)在RAS模块的“第2初始化进程”中,“中断检测机构”被设定成在中断发生时调用RAS模块的“中断判定部”而不是OS的“中断判定部”。
并且,在本实施方式中,说明了这样的RAS方式:通过在CPU例外发生时执行RAS模块内的中断判定部、故障检测部等,即使在CPU例外发生和管理程序的故障并发的情况下,也执行RAS功能。
并且,在本实施方式中,说明了这样的RAS方式:通过执行RAS模块内的故障信息收集部,在CPU例外发生时,能够从CPU例外发生时的程序计数器判定哪个OS(也可以是多个OS的结构)或者管理程序进行了动作,并从相应的OS或者管理程序收集故障信息。
实施方式3
在本实施方式中,说明了在中断检测机构(102)检测出的中断是标准中断而不是CPU例外的情况下的动作概要。
计算机装置(100)的结构也可以是实施方式1的结构例(图1),也可以是实施方式2的结构图(图8)。
这里,使用实施方式2的结构(有管理程序的结构)进行说明,然而即使是实施方式1的结构(没有管理程序的结构),也进行以下的动作。
[实施方式3:动作的概要说明(中断发生时的动作概要)]
图14示出在发生中断的情况下的处理流程。
在图14中,省略与说明没有直接关系的存储器(103)、二次存储装置(104)、引导程序(140)的图示。
并且,图14的实线箭头表示处理流程,虚线箭头表示处理内容。
在图14中,假定管理程序(120)进行屏蔽中断的处理,不受理中断。
因此,在管理程序(120)的处理中发生了中断的情况下,在处理从管理程序(120)移到OS(110)侧的时刻,中断检测机构(102)调用RAS模块(130)的中断判定部(134)。
因此,处理从管理程序(120)返回到OS(110)侧的时候为中断发生的时刻,中断发生时的程序计数器为OS的处理执行中(程序计数器不是指管理程序的处理中)。
在实施方式1(没有管理程序的结构)中,由于没有管理程序(120)本身,因而不存在这样的管理程序(120)的中断屏蔽处理。
[实施方式3:动作的概要说明(中断发生时的动作)]
图15示出在图7或者图13的S703判定为“否”之后的动作。
也就是说,在图7或者图13的S703中由中断判定部(134)判定为中断是标准中断而不是CPU例外的情况下,进行图15的S1001。
在图15中,首先,RAS模块(130)的OS确定部(135)确定在标准中断发生时进行了动作的OS(110)(S1001)。
OS确定部(135)与在实施方式1和实施方式2中说明的故障信息收集部(137)一样,利用计算机装置(100)的程序计数器确定在标准中断发生时进行了动作的OS(110)。
然后,OS确定部(135)参照相应的OS(110)的中断判定部(112),确定并调用相应的OS(110)的中断处理部(115)的程序地址(S1002)。
然后,执行OS(110)的中断处理部(115),以后,处理回到OS(110)侧(S1003)。
在由实施方式1或实施方式2追加的RAS功能中,通过实施在实施方式3中所说明的动作,在由中断检测机构检测出的中断是标准中断而不是CPU例外的情况下,可以正确调用OS侧的中断处理部。
例如,即使在OS侧在从初始化时到中断发生时为止的期间中通过用户操作等动态追加和/或变更了中断动作的登记的情况下,也可以通过在实施方式3所说明的动作使OS适当地处理中断。
以上,在本实施方式中,说明了这样的RAS方式:在发生标准中断而不是CPU例外的情况下,参照OS侧的中断判定部,调用对应的OS的中断处理部,从而可以正确调用OS侧的中断处理部。
以上,对本发明的实施方式作了说明,然而也可以组合这些实施方式中的2个以上的实施方式来实施。
或者,也可以部分地实施这些实施方式中的1个实施方式。
或者,也可以使这些实施方式中的2个以上的实施方式部分地组合来实施。
另外,本发明不限定于这些实施方式,能够根据需要进行各种变更。
标号说明
100:计算机装置;101:CPU;102:中断检测机构;103:存储器;104:二次存储装置;110:OS:111:初始化进程;112:中断判定部;113:CPU例外处理部;115:中断处理部;120:管理程序;121:初始化进程;130:RAS模块;132:第1初始化进程;133:第2初始化进程;134:中断判定部;135:OS确定部;136:故障检测部;137:故障信息收集部;138:故障辨识部;139:故障处置部;140:引导程序。
Claims (9)
1.一种计算机装置,具有:
CPU(Central Processing Unit),其包含有检测中断的中断检测机构;和
OS(Operating System),其包含有中断判定部,所述中断判定部在所述中断检测机构检测出中断时被所述中断检测机构调用,判定所述中断检测机构检测出的中断是否是CPU例外,
所述计算机装置的特征在于,
在向所述计算机装置追加了进行针对CPU例外的处理的程序即RAS(ReliabilityAvailability Serviceability)模块的情况下,
所述CPU
在所述计算机装置起动时,调用所述RAS模块中包含的第1初始化进程,执行所述第1初始化进程,对所述RAS模块使用的资源进行初始化,
在所述RAS模块的所述第1初始化进程执行后,调用所述OS中包含的初始化进程,执行所述初始化进程,对所述OS使用的资源进行初始化,
在所述OS的所述初始化进程执行后,调用所述RAS模块中包含的第2初始化进程,执行所述第2初始化进程,将所述OS中包含的所述中断判定部复制到所述RAS模块,将所述中断检测机构设定成在所述中断检测机构检测出中断时调用复制到所述RAS模块的中断判定部而不是所述OS的中断判定部。
2.根据权利要求1所述的计算机装置,其特征在于,
所述计算机装置还具有存储器,所述存储器存储有所述OS的程序代码和所述RAS模块的程序代码,
在与所述OS的所述初始化进程对应的程序代码的最后,记载有跳至所述初始化进程的调用源的程序代码的跳转命令,
所述CPU执行所述RAS模块的所述第1初始化进程,将存储在所述存储器中的、与所述OS的所述初始化进程对应的程序代码的最后处的记载,变更为跳至所述RAS模块的所述第2初始化进程的程序代码的跳转命令。
3.根据权利要求2所述的计算机装置,其特征在于,所述CPU执行所述RAS模块的所述第1初始化进程,将存储在所述存储器中的、与所述RAS模块的所述第2初始化进程对应的程序代码的最后处的记载,变更为跳至所述OS的所述初始化进程的调用源的程序代码的跳转命令。
4.根据权利要求1~3中任一项所述的计算机装置,其特征在于,
在所述RAS模块中包含有进行针对CPU例外的处理的CPU例外处理部,
在所述中断检测机构检测出中断的情况下,由所述中断检测机构调用复制到所述RAS模块的中断判定部,
在由复制到所述RAS模块的中断判定部判定为所述中断检测机构检测出的中断是CPU例外的情况下,由所述CPU例外处理部进行针对CPU例外的处理。
5.根据权利要求4所述的计算机装置,其特征在于,
在所述中断检测机构检测出中断的情况下,由所述中断检测机构调用复制到所述RAS模块的中断判定部,
在由复制到所述RAS模块的中断判定部判定为所述中断检测机构检测出的中断是CPU例外的情况下,由所述CPU例外处理部确定在CPU例外发生时进行了动作的OS,由所述CPU例外处理部从所确定的OS收集信息而进行针对CPU例外的处理。
6.根据权利要求1~5中任一项所述的计算机装置,其特征在于,
在所述RAS模块内包含有OS确定部,所述OS确定部确定在CPU例外以外的中断发生时进行了动作的OS,
在所述中断检测机构检测出中断的情况下,由所述中断检测机构调用复制到所述RAS模块的中断判定部,
在由复制到所述RAS模块的中断判定部判定为所述中断检测机构检测出的中断是CPU例外以外的情况下,由所述OS确定部确定在中断发生时进行了动作的OS,由所确定的OS进行针对中断的处理。
7.根据权利要求1~6中任一项所述的计算机装置,其特征在于,
所述计算机装置还具有管理程序,
所述CPU
在所述RAS模块的所述第1初始化进程执行后,调用所述管理程序中包含的初始化进程,执行所述初始化进程,对所述管理程序使用的资源进行初始化,
在所述管理程序的所述初始化进程执行后,调用所述OS中包含的初始化进程,执行所述初始化进程,对所述OS使用的资源进行初始化,
在所述OS的所述初始化进程执行后,调用所述RAS模块中包含的第2初始化进程,执行所述第2初始化进程。
8.根据权利要求7所述的计算机装置,其特征在于,
在所述RAS模块中包含有进行针对CPU例外的处理的CPU例外处理部,
在所述中断检测机构检测出中断的情况下,由所述中断检测机构调用复制到所述RAS模块的中断判定部,
在由复制到所述RAS模块的中断判定部判定为所述中断检测机构检测出的中断是CPU例外的情况下,由所述CPU例外处理部确定在CPU例外发生时进行了动作的管理程序,由所述CPU例外处理部从所确定的管理程序收集信息而进行针对CPU例外的处理。
9.一种计算机装置的控制方法,其特征在于,所述计算机装置具有:
CPU(Central Processing Unit),其包含有检测中断的中断检测机构;和
OS(Operating System),其包含有中断判定部,所述中断判定部在所述中断检测机构检测出中断时被所述中断检测机构调用,判定所述中断检测机构检测出的中断是否是CPU例外,
在被追加了进行针对CPU例外的处理的程序即RAS(Reliability AvailabilityServiceability)模块的情况下,
所述CPU
在所述计算机装置起动时,调用所述RAS模块中包含的第1初始化进程,执行所述第1初始化进程,对所述RAS模块使用的资源进行初始化,
在所述RAS模块的所述第1初始化进程执行后,调用所述OS中包含的初始化进程,执行所述初始化进程,对所述OS使用的资源进行初始化,
在所述OS的所述初始化进程执行后,调用所述RAS模块中包含的第2初始化进程,执行所述第2初始化进程,将所述OS内包含的所述中断判定部复制到所述RAS模块,将所述中断检测机构设定成在所述中断检测机构检测出中断时调用复制到所述RAS模块的中断判定部而不是所述OS的中断判定部。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/052205 WO2014118940A1 (ja) | 2013-01-31 | 2013-01-31 | 計算機装置及び計算機装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104956337A true CN104956337A (zh) | 2015-09-30 |
CN104956337B CN104956337B (zh) | 2018-01-09 |
Family
ID=51261685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380071709.4A Expired - Fee Related CN104956337B (zh) | 2013-01-31 | 2013-01-31 | 计算机装置和计算机装置的控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9959225B2 (zh) |
EP (1) | EP2953028A4 (zh) |
JP (1) | JP5877533B2 (zh) |
CN (1) | CN104956337B (zh) |
WO (1) | WO2014118940A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101887974B1 (ko) * | 2016-12-01 | 2018-08-13 | 현대오트론 주식회사 | 엔진제어기의 안전부팅을 위한 시스템 및 방법 |
KR20220154879A (ko) * | 2021-05-14 | 2022-11-22 | 현대자동차주식회사 | 차량 제어 장치 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369770A (en) * | 1992-11-02 | 1994-11-29 | Microsoft Corporation | Standardized protected-mode interrupt manager |
JP2004013240A (ja) * | 2002-06-04 | 2004-01-15 | Hitachi Ltd | 計算機システム |
CN101320338A (zh) * | 2007-06-04 | 2008-12-10 | 国际商业机器公司 | 窃取中断向量的方法和系统 |
CN101373450A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 处理cpu异常的方法及系统 |
US20090204980A1 (en) * | 2008-02-11 | 2009-08-13 | Blue Coat Systems, Inc. | Method for implementing ejection-safe API interception |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6453238A (en) | 1987-08-24 | 1989-03-01 | Nec Corp | Processing system at fault generation of main body system in virtual computer system |
JPH0193830A (ja) | 1987-10-05 | 1989-04-12 | Nec Corp | 仮想計算機システムにおける割り込み制御方式 |
JPH0816420A (ja) * | 1994-06-28 | 1996-01-19 | Hitachi Ltd | 小型情報処理装置のエラー処理方法 |
US5790846A (en) | 1996-04-18 | 1998-08-04 | International Business Machines Corporation | Interrupt vectoring for instruction address breakpoint facility in computer systems |
US5941972A (en) * | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
JP2004287618A (ja) | 2003-03-19 | 2004-10-14 | Ntt Data Corp | オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置 |
US20050283599A1 (en) * | 2004-06-22 | 2005-12-22 | Zimmerman Toby S | Exposing BIOS information to an ACPI aware operating system |
US7587639B2 (en) * | 2004-11-09 | 2009-09-08 | Intel Corporation | System and method for error injection using a flexible program interface field |
JP2006155272A (ja) | 2004-11-30 | 2006-06-15 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US7941810B2 (en) * | 2006-12-28 | 2011-05-10 | Intel Corporation | Extensible and flexible firmware architecture for reliability, availability, serviceability features |
JP2008217728A (ja) | 2007-03-08 | 2008-09-18 | Hitachi Ltd | 仮想計算機システムの障害情報採取方法 |
JP4678396B2 (ja) | 2007-09-25 | 2011-04-27 | 日本電気株式会社 | 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム |
US8522236B2 (en) * | 2007-12-28 | 2013-08-27 | Intel Corporation | Method and system for establishing a robust virtualized environment |
US8418166B2 (en) * | 2011-01-11 | 2013-04-09 | International Business Machines Corporation | Transparent update of adapter firmware for self-virtualizing input/output device |
DE112011105867B4 (de) * | 2011-11-22 | 2020-03-19 | Intel Corporation | Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement |
WO2013080288A1 (ja) * | 2011-11-28 | 2013-06-06 | 富士通株式会社 | メモリ縮退方法及び情報処理装置 |
CN104137077B (zh) * | 2012-02-13 | 2017-07-14 | 三菱电机株式会社 | 处理器系统 |
US9229884B2 (en) * | 2012-04-30 | 2016-01-05 | Freescale Semiconductor, Inc. | Virtualized instruction extensions for system partitioning |
JP6017706B2 (ja) * | 2013-03-07 | 2016-11-02 | インテル コーポレイション | ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構 |
-
2013
- 2013-01-31 US US14/650,630 patent/US9959225B2/en not_active Expired - Fee Related
- 2013-01-31 JP JP2014559432A patent/JP5877533B2/ja not_active Expired - Fee Related
- 2013-01-31 WO PCT/JP2013/052205 patent/WO2014118940A1/ja active Application Filing
- 2013-01-31 EP EP13873790.3A patent/EP2953028A4/en not_active Withdrawn
- 2013-01-31 CN CN201380071709.4A patent/CN104956337B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369770A (en) * | 1992-11-02 | 1994-11-29 | Microsoft Corporation | Standardized protected-mode interrupt manager |
JP2004013240A (ja) * | 2002-06-04 | 2004-01-15 | Hitachi Ltd | 計算機システム |
CN101320338A (zh) * | 2007-06-04 | 2008-12-10 | 国际商业机器公司 | 窃取中断向量的方法和系统 |
CN101373450A (zh) * | 2007-08-21 | 2009-02-25 | 联想(北京)有限公司 | 处理cpu异常的方法及系统 |
US20090204980A1 (en) * | 2008-02-11 | 2009-08-13 | Blue Coat Systems, Inc. | Method for implementing ejection-safe API interception |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014118940A1 (ja) | 2017-01-26 |
JP5877533B2 (ja) | 2016-03-08 |
CN104956337B (zh) | 2018-01-09 |
EP2953028A1 (en) | 2015-12-09 |
EP2953028A4 (en) | 2016-10-12 |
US9959225B2 (en) | 2018-05-01 |
WO2014118940A1 (ja) | 2014-08-07 |
US20150331816A1 (en) | 2015-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2726977B1 (en) | Virtual machine image analysis | |
CN105843741B (zh) | 应用程序的信息处理方法和装置 | |
US8230399B2 (en) | Method for system call interception in user space | |
US7774636B2 (en) | Method and system for kernel panic recovery | |
US8099636B2 (en) | System and method for protecting memory stacks using a debug unit | |
CN104321748B (zh) | 用于捕捉轻量虚拟机管理器中的错误条件的方法、系统和装置 | |
TWI427535B (zh) | 於連結至本機碼期間處置異常之方法及設備 | |
Subhraveti et al. | Record and transplay: partial checkpointing for replay debugging across heterogeneous systems | |
CN108351826A (zh) | 监视处理器的操作 | |
Dall et al. | Kvm/arm: Experiences building the linux arm hypervisor | |
JP2022513382A (ja) | 関数ジャンプを実現するための方法、装置及びコンピュータ記憶媒体 | |
US20100205477A1 (en) | Memory Handling Techniques To Facilitate Debugging | |
CN104956337A (zh) | 计算机装置和计算机装置的控制方法 | |
CN107818034B (zh) | 监测计算机设备中的进程的运行空间的方法以及装置 | |
WO2007002889A2 (en) | Debugging using watchpoints | |
WO2021061219A1 (en) | Reducing trace recording overheads with targeted recording via partial snapshots | |
CN104007956A (zh) | 一种操作系统进程识别跟踪及信息获取的方法和装置 | |
Wang et al. | {PET}: Prevent Discovered Errors from Being Triggered in the Linux Kernel | |
JP2011123635A (ja) | 情報処理装置、情報処理装置の制御方法、及び記録媒体 | |
JP2004252525A (ja) | エミュレータおよびプログラム | |
CN108563491A (zh) | 一种基于虚拟机的自省自动化管理、配置与自省方法 | |
Russinovich | Inside windows server 2008 kernel changes | |
CN116502239B (zh) | 二进制程序的内存漏洞检测方法、装置、设备及介质 | |
Zhan et al. | SAVM: A practical secure external approach for automated in‐VM management | |
Teixeira | Evaluation of hypervisors for embedded and real-time systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180109 Termination date: 20200131 |
|
CF01 | Termination of patent right due to non-payment of annual fee |