CN108121630B - 电子装置、重新启动方法及记录媒介 - Google Patents

电子装置、重新启动方法及记录媒介 Download PDF

Info

Publication number
CN108121630B
CN108121630B CN201710770949.3A CN201710770949A CN108121630B CN 108121630 B CN108121630 B CN 108121630B CN 201710770949 A CN201710770949 A CN 201710770949A CN 108121630 B CN108121630 B CN 108121630B
Authority
CN
China
Prior art keywords
core
kernel
cores
abnormality
application program
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
Application number
CN201710770949.3A
Other languages
English (en)
Other versions
CN108121630A (zh
Inventor
山本英明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2017079691A external-priority patent/JP2018092571A/ja
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of CN108121630A publication Critical patent/CN108121630A/zh
Application granted granted Critical
Publication of CN108121630B publication Critical patent/CN108121630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种电子装置、重新启动方法及记录媒介。本发明的电子设备(100)设置具有多个内核(201)、(202)的CPU(101),并包括对内核的异常进行主动地监视的主动监视单元(201)、对内核的异常进行被动地监控的被动监视单元(202),以及当主动监视单元或被动监视单元中的一个检测到所述内核的异常时,就响应并重新启动CPU的单元(209),从而能够进行有效的CPU重新启动。

Description

电子装置、重新启动方法及记录媒介
技术领域
本发明涉及电子装置、重新启动方法及记录媒介。
背景技术
在重视失效安全(fail-safe)的计算机系统中,当发生软件的失控或失速(stall)等错误时,要求的是在尽可能安全地停止系统之后,自动地重新启动以缩短停机时间。
可以进行这种自动的再运行的处理不仅是关键任务(mission critical)的服务器领域,而且除此之外,当设备不能正常运行就会较大地左右设备性能的车载设备等,以及在用户不能错开视点的游戏机、网络游戏的领域中也能够应用。
迄今为止,已经设计出各种机构以用来察觉软件的异常状态后自动地重新启动,并使其从异常状态自动地恢复。例如,已知的技术中对于软件异常检测是将监视计时器的启动作为触发来察觉系统的失控的。但是,在将该技术用于不能够利用监视计时器的系统并试图实现同样的机构时,就会发生除了产生错误的计算装置之外,还有必要设置执行异常检测的设备的问题。
另外,在CPU上运行的软件中,除了操作系统(OS)外,还存在有应用程序。应用程序会产生各种例外违规,还会产生核心转储(core dump)。此外,在近年的编程技术中较多使用的编码是,例如流水线处理和推测执行(speculative execution)等那样地并列执行多个处理,以及各处理有效地利用处理结果并有效地结束处理。
在这样的方式中还可以预想到的是,不至于发生CPU的非正常结束,但从将来看是会损害应用程序的正常动作的应用程序的执行状态。例如,作为产生损害正常动作的应用程序的执行状态的原因,可列举有调度(scheduling)违规、存储器保护违规、排他控制违规等。在这种情况下,即使CPU内核本身没有问题地动作,但在以后,会对正常结束有危害的。
发生应用程序级别的运行问题时,例如在嵌入式系统的情况下,对发生问题的CPU立刻进行重置时,就会与CPU的内部状态无关地影响到动作中的外部设备。因此,除了OS本身的失速,即使发生应用程序的问题,也需要妥当地对系统进行重置。
另外,在日本特开2013-149128号公报(专利文献1)中,记载了以发现系统的问题(包括软件的异常)为目的来设置专用的诊断处理器的方法。在专利文献1中,诊断处理器不等监视计时器的启动就对电源控制部发出重新启动请求,可以更迅速地执行系统的重启并保护系统。但是,专利文献1记载的技术并不能解决不追加专用处理器就不能起作用的问题。
【专利文献1】(日本)特开2013-149128号公报
发明内容
本发明的目的是,异常检测时不利用监视计时器,并且不在系统里追加额外的CPU就监视OS以及应用程序等软件的失控或失速等,并有效地重新启动电子装置。
根据本发明,提供一种包括具有多个内核的CPU的电子装置,其特征在于包括:主动监视单元,其被设置在所述多个内核之中的第一内核内,主动地监视所述多个内核之中的所述第一内核以外的第二内核的异常;被动监视单元,其被设置在所述多个内核之中的第二内核内,被动地监视所述第一内核的异常,和当所述主动监视单元或所述被动监视单元中的某一个检测到所述内核的异常时,就与之响应并重新启动CPU的单元。
根据本发明,能够在异常检测时不利用监视计时器,并且不在系统里追加额外的CPU就监视软件的失控或失速等,并有效地重新启动电子装置。
附图说明
图1所示是本实施方式的电子装置100的硬件模块图。
图2所示是本实施方式的CPU101的示例性内部结构的框图。
图3所示是本实施方式的CPU101的软件模块300的图。
图4所示是本实施方式的CPU101的重新启动方法的流程图。
图5所示是本实施方式中的错误检查处理的时序图。
图6所示是在作为主动监视机构的检查器2中发生了异常时的错误检查处理的时序图。
图7所示是与图6相反地,是在作为被动监视机构的检查器1中发生了异常时的错误检查处理的时序图。
图8所示是本实施方式的CPU101不是双芯而是四芯时的实施方式图。
图9所示是本实施方式的执行列表900的图。
图10所示是本实施方式的执行列表1000的图。
图11所示是第2实施方式的CPU101的重新启动方法的流程图
图12所示是在内核202执行的应用程序中发生了异常时的错误检查处理的时序图。
图13所示是在内核201执行的应用程序中发生了异常时的错误检查处理的时序图。
图14所示是本实施方式的CPU101不是双芯而是四芯时的实施方式图。
图15所示是在第三实施方式的内核202执行的应用程序中发生了异常时的错误检查处理的时序图。
具体实施方式
<第一实施方式>
以下,虽然是通过实施方式来说明本发明,但本发明并不局限于后述的实施方式。图1所示是本实施方式的电子装置100的硬件模块图。图1所示的电子装置100是作为信息处理装置、图像形成装置、嵌入式装置、车载装置及其他使用LSI后能够电子和电动作的装置来说明的。本实施方式的装置100包括CPU101、RAM102、ROM103以及NVRAM104。
CPU101在本实施方式中是多核处理器,在每一个CPU内核都独立的操作系统之下,并列地执行的多个的程序。RAM102通过读取称为操作系统(OS)的程序,来提供CPU101用于执行各种程序所需的执行空间。此外,RAM102可以提供存储CPU101用于执行程序的数据等的执行时存储空间。
ROM103存储有BIOS(BasicInputOutputSystem)、引导(bootstrap)程序及其他CPU101用于提供功能的程序,根据CPU101的启动时以及本实施方式,当CPU内核错误或失速时,通过CPU101读入程序,就可以实现硬件的初始设定、OS启动,内核检查等的功能。上述的硬件模块通过系统总线106互相连接,并根据系统时钟对其动作进行控制。
电子装置100还包括NVRAM104以及通信装置105。NVRAM104在例如电子装置100的CPU101错误或失速时重新启动的情况下,能够提供对就在重新启动之前的CPU数据,例如各种数据、程序计数器、寄存器构成等进行存储的功能。当CPU101因为错误等而重新起动时,在本实施方式中,CPU101的构成例如可以是使用退避到NVRAM中的数据来有效地再现重新启动之前的计算环境。
此外,电子装置100具有的通信装置105例如可以安装网络适配器(NIC:NetworkInterface Card),并使用以太网(注册商标)、IEEE802.x、LTE、Wifi或其他通信基础设施来将电子装置100与诸如因特网等的其它系统连接。
更进一步地,电子装置100还包括有与系统总线106连接的错误检测部108。该错误检测部108提供了对CPU101的内核在错误或失速时发生的例外进行处理的功能,例如,可以作为中断处理的1个功能来安装。错误检测部108的输出被输入到电源(PSU)112,按照本实施方式,当CPU101被判断为错误或失速(stall)时,具有重新启动电源112的功能。当电源112被重新启动时,CPU101根据所设定的POST功能、引导程序协议(Bootstrap Protocol)来对CPU101的内核进行初始设定,并能够启动OS、内核检查以及各种应用程序。
此外,电子装置100可以是包括经由PCIe的外围总线来连接的显示装置109、存储装置110及输入装置111的构成。显示装置109使用VGA、XGA、HDMI(注册商标)等标准来提供液晶屏幕装置、触摸面板等其他提供用户接口的功能。
存储装置110可以是包括硬盘驱动器或SSD的构成,使用如ATA、SATA、USB等的通信协议,为了CPU101的高速利用而能够由CPU101来读取存储装置110所存储的OS、驱动器、应用程序的执行文件。
输入装置111可以使用键盘、鼠标、操纵杆,对于电子装置100用来从外部输入信息或命令。此外,可以轻敲或划过的触摸面板是同时具备显示装置109及输入装置111的功能的功能机构。
在本实施方式中使用的CPU101可以是多核处理器,如PENTIUM(登录商标)DUALCORE(注册商标)、CORE2DUO(注册商标)、CORE2QUAD(登录商标)、CELERON(登录商标)DUALCORE、ATOM(注册商标)、CORE2DUO(注册商标)、CORE2QUAD(注册商标)、COREi(注册商标)系列等之外,还可以例举XEON(注册商标)、具有多芯构造的PENTIUM(登录商标)互换CPU、POWERPC(注册商标)、所谓的作为GPU而参照的CPU等,但并不限定于这些。此外,也可以使用为了某些特定用途或嵌入式控制而使用的SH系列(Renesas)、OMAP族(德州仪器公司)等其他多核CPU。
NIC(网络适配器)110通过将图像形成装置120与网络113连接,就能够和网络服务器、存储服务器、认证服务器、云服务器等外部装置进行信息通信。本实施方式的网络113可以是使用以太网(注册商标)、FTH、IEEE802.x等的有线或无线协议来适当地包括LAN(局域网)、因特网的构成,在通信协议上没有特别限制。
作为所使用的操作系统(OS),可以列举有WindowsServer(注册商标)、UNIX(登录商标)、LINUX(注册商标)、Solaris(注册商标)、OPENBSD、CentOS、Ubntu、eT-Kernel等的实时OS、MontavistaLinux(注册商标)CGE、POSIX1003.1b、OSEK、ITRON或其他适当的OS。更进一步地,CPU101可以存储并执行在上述OS上运行的汇编语言、C、C++、VisualC+、VisualBasic、Java(登录商标)、JavaScript(注册商标)、Perl、Ruby、Python等的编程语言所编写的应用程序。
图2所示是本实施方式的CPU101的示例性内部结构的框图。CPU101在图2所示的实施方式中,安装有作为搭载了内核201、内核202的双核CPU架构。内核201在下面作为内核1来参照,内核202在下面作为内核2来参照。各个内核1、2都经由对CPU101内部相互连接的内部总线203来相互连接,并能够利用相互的信息。
更进一步地,在内部总线203中还包括中断处理器IRQH1204,其控制从中断输入209发送来的对内核1的中断,和中断处理器IRQH206,其控制对内核2的中断。另外,IRQH204,206还具有控制对于内核1、内核2的共通的中断,并将内核1及内核2的异常通知到外部,来作为用于重新启动CPU101的机构。
更进一步地,CPU101还包括通信部205,通信部205构成本实施方式的内核间的通信机构,并经由内部总线203能够进行内核1、内核2之间的内核间通信。还有,用于将CPU101的异常通知给外部的机构也可以不是中断信号,而是借助于CPU101的数据插头的信号。
通信部205从内核1或内核2接收包括消息、目的地地址、发送源地址的信息,并经由中断线207、208来为发送目的地的内核1或2提供获取消息的功能,以实现内核之间的通信。另外,构成本实施方式的CPU101的内核数量不限于2个,也可以根据所要求的特性来适当地使用4核、8核、16核等。
图3所示是本实施方式的CPU101的软件模块300的图。各个软件模块是CPU10的各内核将软件读入RAM、ROM并通过在CPU101的内核展开执行代码而在CPU101上实现的功能模块。在内核201中安装有OS1,在OS1上运行有本实施方式的检验程序1(以下作为检查器1来参照)及其他的应用程序(APP)1~4、…。
在内核202中安装有OS2,在OS2上运行有检查器2及应用程序10~13、…。另外,OS1和OS2既可以相同也可以不同,例如,OS1可以安装UMIX(注册商标),OS2可以作为实时OS来安装,对于它们的组合没有特别限定。例如不限于如下的是,内核201相当于本实施方式中的第1内核,内核202相当于本实施方式中的第2内核。
在本实施方式中,检查器1和检查器2提供执行内核1、2相互监视的功能。例如,在本实施方式中,内核201的检查器1具有作为主动检查内核202的检查器2的动作的主动监视机构的功能。例如,检查器1具有定期对内核2的检查器2进行消息的轮询的功能。另一方面,内核202的检查器2具有仅在接收到来自检查器1的轮询的情况下才对检查器1进行响应的功能。此外,检查器2具有对检查器1来的轮询的间隔进行监视的功能,并被动地判断没有来自于内核1的轮询,从而构成对内核1的被动监视机构。
即,在本实施方式中,在各个内核分别安装1个检查器。然后,各内核中的1个检查器,例如是使得检查器1来作为对其他内核的主动监视机构。检查器1的功能是,对轮询的结果及来自于轮询目的地的响应进行监视,当响应为第1规定期间,例如总计没有5~10秒时,就判断轮询目地的的内核为错误或失速。
与此相对,在内核2的检查器2在所说明的实施方式中,具有对内核1被动地监视的功能。更具体地说,检查器2在第2规定期间内没有接收到来自于内核1的轮询消息时,就判断检查器1,即内核1为错误或失速。
在本实施方式中,当内核1或内核2的某一个错误或失速时,没有发生错误或失速一侧的内核就生成错误发生中断,并通知给错误检测部108。当错误检测部108检测到该中断时,就重置电源112并开始CPU101的重新启动。
另外,虽然也可以设想内核1和内核2都错误或失速的情况,但在本实施方式中,因为说明的是内核1及内核2在独立的OS下进行独立的处理的,所以同时发生的错误或失速,除了CPU101本身的功能不良以外,是作为不会产生的情况来说明的。
图4所示是本实施方式的CPU101的重新启动方法的流程图。图4的处理从步骤S400开始,执行的是对应于步骤S401~S405和步骤S401a~S405的内核数的并行的步骤。然而,步骤S405的重置处理是在健全的内核判定至少1个内核为错误或失速时的阶段执行的。
如上所述,由于图4的处理是对应于内核数来并行地执行的,所以仅说明与内核1对应的步骤S401~S405的处理,并省略其它处理。在步骤S401,根据引导程序协议,在执行POST检查等后对OS1进行引导(boot)。在步骤S402中,加载检查器1程序,并启动检查器1。然后,在步骤S403中启动各应用程序并开始内核1的服务。
在步骤S404中,判断在其它内核中是否发生错误,并在错误发生的情况下(是),将处理分支到步骤S405,并使得处理返回到步骤S401及S401a,且从引导处理开始重新启动处理。另一方面,在没有发生错误的情况下(否),就在步骤S404中继续检查错误的发生。以下,使用图5~图7来说明本实施方式的步骤S404中的错误检查处理。
图5所示是本实施方式中的错误检查处理的时序图。在图5中是将检查器2作为主动监测机构、将检查器1作为被动监视机构来说明的。检查器2在步骤S500中对检查器1进行轮询。接收了该轮询的检查器1在步骤S501中返回响应。
接收到该响应的检查器2在步骤S502中清除没有响应的计数。然后,在检查器1侧,在步骤S503中对没有检查的计数进行清除后开始重新计数。通过这一连串的处理,就从步骤S502、S503来重置检查的时间轴了。
检查器2在步骤S504中沿着新的时间轴来等待响应,并在步骤S505中,根据轮询时机的到来对检查器1进行轮询。接收了该轮询的检查器1在步骤S506中返回响应。之后,检查器2在步骤S507和S509中,继续进行后续时间轴上的检查,然后,在检查器1侧中,在步骤S508中对没有检查的计数进行清除后开始重新计数。
图5的处理持续至内核1和内核2中发生错误或者失速。使用图6、图7来说明在内核里产生错误或失速时的处理。图6是在作为主动监控装置的检查器2里,错误、失速等异常在步骤S600中发生的情况。安装了检查器2的内核2之后就变为功能不良。
作为被动监视单元的检查器1在步骤S601启动无检查定时器,并在步骤S602执行无检查定时器的计数递增(或计数递减)。在步骤S603,当无检查计数器满了时,就在步骤S604对无检查计数器进行重置,并重复步骤S601~S603来对无检查的累积期间进行计时。另外,累积期间和反复次数可以根据电子装置100的需要控制的设备的需求来设定,作为累积时间,例如可以是100ms~几十s,优选为1s~10s左右,但并不限定于这些期间。
检查器1在之后规定的期间反复计数,并当对于检查器2的轮询的中断期间而设定的累积期间在步骤S607满了时,就在步骤S608开始结束处理。在步骤S608的结束处理中,可以例举有使得内核的状态退避到NVRAM104的处理,以及硬盘装置的旋转停止处理等其它处理。检查器1的内核在完成步骤S608的处理时会生成错误信号,并在步骤S609开始重新启动处理。
通过以上的处理,即使主动监控机构出现功能不良,也能够由被动监视机构单独地检查内核的功能不良。
图7所示是与图6相反地,是在作为被动监视机构的检查器1中发生了异常时的错误检查处理的时序图。内核1在步骤S700发生异常,变为功能不良。检查器2在步骤S701对于检查器1发出用于检查的轮询,并在步骤S702对无响应计数器进行递增计数(在其他实施方式中也可以是递减计数),从而开始无响应期间的计时。
此时,内核1因为功能不良而不能够响应,所以检查器2在步骤S703对无响应次数进行检查,在该实施方式中,由于无响应次数还未到达设定的次数,所以在步骤S704中执行待命一定时间。在规定期间对此进行反复。
然后,在步骤S705再次进行轮询,并在步骤S706对无响应计数器进行递增计数。但是,由于内核1发生了异常而不响应,所以是通过对步骤S707的无响应次数的检查处理,来判断无响应次数是否到达了规定次数。
在步骤S708,内核2开始结束处理,并在结束处理完成后,在步骤S709开始重新启动处理,经过引导处理对内核1、内核2进行重新启动,以使得CPU101的动作正常化。
<第二实施方式>
以下,对本本实施方式的第二实施方式进行说明。在第一实施方式中,是对解决CPU内核发生致命的错误,并且发生了错误的CPU内核不能进行以后的处理的情况的方式进行了说明。以下说明的第二实施方式是当CPU内核在健全的状态下,在内核上运行的应用软件发生了某种错误或问题时,为了避免以后的CPU错误或系统的异常运行,通过重置CPU101,来从错误状态进行恢复原状的方式。
图8所示是安装在第二实施方式中的CPU101里的软件的功能模块800。图8所示的功能模块是通过CPU101对软件的执行,从而在CPU101上作为功能单元来实现的。另外,在图8所示的实施方式中,内核201作为OS使得RTOS动作,内核202作为OS2使得LINUX(注册商标)和UNIX(注册商标)动作,但是,内核201不言而喻地也可以使得LINUX(注册商标)和UNIX(注册商标)之类的操作系统OS动作的。
内核201搭载有OS1、检查器1及应用程序管理器1。OS1与第一实施方式同样地控制内核201的动作,检查器1进行内核202的检查。此外。在第二实施方式中,还作为对其他的内核(本实施例中为内核202)要求重新启动的重新启动要求单元来发挥作用。应用程序管理器1对于在内核201上动作的各种应用程序App1~App4,...进行登记,并对登记时序的执行列表进行管理,该时序用于在立即结束可能性以及立即结束不合适的情况下执行的结束处理。
各应用程序App1~App4,...将对应于其执行状态的通知,例如具有各种内容的通知,根据OS的属性来发送到OS或应用程序管理器。例如,在作为RTOS来安装的OS上运行的应用程序管理器1从应用程序App1~App4来接收应用程序的问题的通知。然后,应用程序管理器1会将内核1重置预定通知给内核2的检查器2。
内核202和内核201同样地执行多个的软件,OS控制内核202的动作,检查器2在执行内核201的检查的同时,在第二实施方式中,还作为对其他的内核(本实施例中为内核201)要求重新启动的重新启动请求单元来发挥作用。在说明的实施方式中,OS2对于在内核202上运行的各种的应用程序App10~App13,...进行管理,并从应用程序App10~App13,...接受关于执行状态的通知。
OS2在从应用程序App10~App13,...接收到各应用程序App10~App13中的某一个为问题的通知后,就向应用程序检查器2发送应用程序识别值,并借助于应用程序检查器2来将内核2的重置预定通知给内核1的检查器1。另外,本实施方式中的应用程序相当于将非正常处理的发生通知给OS或应用程序管理器的通知机构。
应用程序使用例如流水线处理,是多个并列地来执行的,在任何一个应用程序中发生异常时,执行其后的处理就没有意义,另外,还可能给使用CPU101的嵌入式系统的操作带来重大的影响。因此,在第二实施方式中,对各应用程序App1~App4、App10~App13,…的执行状态进行管理,并在从其状况信息检测到应用程序的运行失败时,就借助于应用程序管理器1和应用程序管理器2将重置预定通知给其他内核。通过适用这种处理,就能够在对正常运行一侧的内核的动作产生最小影响的同时来重置CPU101,并使得CPU101整体能够恢复到正常的状态里。
即,由于图8所示的CPU101运行多个内核201、202,例如在内核201动作的APP1里发生问题时,立刻对CPU10进行突然重置会使得内核202正在执行的任务被重置,由CPU101控制的各种设备的控制也会与设备的状态无关地被结束。这时,由于设备进行不可预测的动作,所以虽说是在内核201中发生了应用程序的问题,但也不能够对CPU101整体立刻进行重置。
因此,在第二实施方式中,例如在内核201中发生应用程序的问题时,内核201的应用程序管理器1会对内核202的检查器2发出通知内核201为重置预定的重置预告。当内核202的检查器2接收到重置预定时,就对自己管理的应用程序以适当的时序终止应用程序,执行包括将使得执行状态数据退避到存储器等的核心转储处理的结束处理,并将重置准备完毕一事通知给内核201的检查器1,以使得检查器1开始重置处理。
同样地,内核202的应用程序管理器2也执行同样的处理,并在内核202执行的应用程序发生问题时,通知内核201,并等待内核202的重置许可。还有,在该待机期间中,内核202可以进行执行时数据和执行状况的退避备份等的处理。如上所述,在第二实施方式中,由于内核201、202本身的动作里没有问题发生,因此是由检查器1或检查器2从应用程序管理器1或应用程序管理器2接受通知,并开始重置处理。
因此,在第二实施方式中,就可以未然地防止在将来有可能发生的与内核的失速直接相关的错误的发生,从而能够在有效且对设备的影响最小的同时使得系统重置。
即,第二实施方式的检查器1和检查器2除了分别检查其他CPU内核的状态的功能以外,还检查自己的CPU内核中的应用程序的状态,不具有对其他CPU内核的检查器来通知重新启动的功能。另外,作为应用程序的问题,可以例举有调度违规、存储保护违规,排他控制违规等,但并不限定于这些。
图9所示是安装了内核201的应用程序管理器1的应用程序的执行列表900。执行列表900和应用程序管理器1相当于本实施方式中的解除机构。还有,在图9所示的执行列表900中,是应用程序开始执行时就追加、结束时就被删除的构成。
在执行列表中相关联地对应有对象(Object)的列表,该列表指定强制结束各应用程序App1~App4时的结束时序。例如,在强制结束App1的时候,由于App1具有不会对其他应用程序或外部装置产生影响而能够结束的属性,所以就调用对象kill1来立即执行结束处理。
另一方面,App2或是与其他处理相关联,或是对驱动外部装置的应用程序进行控制,为了适当地停止App2,就需要结束相关的处理,或者还需要管理和控制外部设备的状态。因此,与应用程序App2关联对应的结束时序阶段性地结束各种处理,并登记有shutdown2对象,该对象包括了对随后的App2的结束进行最后指示的指令。
具体来说明就是,从OS1接受到应用程序管理器1对App2发生了非正常处理的通知。此时,如果立即结束App2,例如在外部设备动作的情况下,就可能发生控制失效。当应用程序App2的异常得到通知时,应用程序管理器1立即调用记述有结束时序的对象shutwodn2,来执行使得外部设备或其它处理正常地停止的处理。
shutwodn2对象根据时序来结束处理,并在最后的阶段执行用于结束App2的例如产生kill信号的处理。该处理反复执行直到结束所有的处理(应用程序)。因此,在内核201动作的所有处理,直至外部装置就不会产生问题,并在CPU101的重置之前就得以结束。
图10所示是内核202安装的执行列表1000的实施方式。在该实施方式中,执行列表1000和应用程序管理器1相当于本实施方式中的解除机构。在内核202中,是以App10~App13处于执行中的情况来说明的。在该实施方式中,App12、App13是允许立即终止的处理,从检查器2通知有非正常发生时,分别调用kill12,kill13来执行立即结束处理。
另一方面,由于App10、App11或是对其它处理提供数据,或是控制外部装置的处理,为了恰当地结束,需要根据对象的时序来结束。因此,在App10、App11中,发生非正常处理时,会调用shutdown10、shutodown11对象,从而开始进行结束时序。结束时序的内容取决于应用程序,可以和图9中所说明的处理为同样的构成。
另外,在图9、图10中,为了说明上的方便,是以安装了执行列表900、1000来说明的,但也可以其他形式来安装,也可以将各应用程序事先包含到其终止时序里来安装。在该实施方式的情况下,应用程序管理器1或应用程序管理器2可以是将非正常结束通知例如作为信号来发送的构成,该不正終了通知对于执行了非正常处理的应用程序或处理进行结束的通知。
在本实施方式中,记述了结束时序的语言没有特别限定,从控制系统的基础处理的观点出发,例如也可用C语言或外壳脚本(Shell脚本),或者是它们的组合的代码来记述。
另外,在其它实施方式中,事先设定执行列表900或执行列表1000中所登记的应用程序的执行允许时间,当超过设定的时间也密友被删除时,就认为在该应用程序中发生了问题,并能够开始该应用程序的结束时序。
图11所示是表示第二实施方式中的CPU101的重新启动方法的流程图。图10的处理从步骤S1100开始,执行的是对应于步骤S1101~S1106和步骤S1101a~S1106的内核数的并行的步骤。
在第二实施方式中,步骤S1106的重置处理是在步骤S1105或步骤S1105a中,(1)健全的内核侧判断至少1个内核发生错误或发生失速时的阶段,(2)某一个应用程序管理器发生应用程序水平上的问题,并且健全一侧的CPU内核在重置准备完毕后的阶段得到执行。如上所述,图10的处理除了步骤S1105、S1105a的处理,因为都与图4的处理相同,所以就省略进一步的详细的说明。
图12所示是本实施方式的重置处理的时序图。在图12中,是以使得OS2动作的内核202发生了应用程序的问题的情况来说明的。在所说明的实施方式中,是以OS2、UNIX(注册商标)或者与其兼容的OS来运行的情况来说明的。
在步骤S1200中,OS2监视应用程序的执行状态,并例如作为信号来接受来自于应用程序的通知。OS2检查该通知,并在判断该通知妨碍应用程序的正常执行时,就判断在OS上动作的应用程序App#(#为1以上的整数)中发生了非正常处理等的问题。
在步骤S1201中,OS2在对OS2的应用程序管理器2检测到的应用程序中,发出了发生有异常终止的通知。应用程序管理器2在接收到该通知时,就在步骤S1202中对检查器2发出系统重新启动请求。应用程序管理器2在步骤S1204中对例如执行分配给对应的应用程序的终止时序的对象进行调用,并对妨碍OS2管理下执行的应用程序的重新启动的要因进行解除处理。
例如,作为该要因,在具有控制外部设备的应用程序的情况下,可以列举有用于进行应用程序的强制结束和与强制结束相对应的外部机器的结束处理的应用程序的启动及结束的确认等的处理。另外,正在执行的处理包括为能够按时间序列重新执行的种类的,执行时状况或执行时数据对存储器的退避等。
另一方面,检查器2在应用程序管理器2开始重新起动阻碍要因解除处理时,就在步骤S1203,作为系统重新启动请求而对内核1的检查器1发出系统为重新启动预定的通知。OS1的检查器1接收到该通知后,就在步骤S1205对应用程序管理器1发出可以重新启动确认通知。接收到重新启动确认通知的检查器1对于应用程序管理器1发出可以重新启动确认通知,并通过应用程序管理器1进行执行列表的确认。然后,内核1在步骤S1206通过执行对应于执行中的应用程序的结束时序,来执行妨碍重新启动要因的解除。
当应用程序管理器2确认到例如自己管理的执行列表900的登录为空时,就在步骤S1207对检查器1发出系统重新启动许可。检查器1在步骤S1209执行了用于核心转储等内核201的正常结束的处理之后,在步骤S1209对于发生了非正常处理一侧的内核202,发出允许系统重新启动的系统重新启动指令。
当内核202的检查器2接收到该通知时,就在步骤S1210开始系统重新启动处理。在这时刻,由于外部设备、内核201是正常结束的,内核202通过内核202的权限对于例如CPU101来说,能够开始引导程序处理、执行CPU101的重新启动、自动消除非正常处理带来的障碍。
图12所示的实施方式是执行诸如UNIX(注册商标)、LINIX(注册商标)、Solaris(注册商标)等全尺寸OS的内核202所执行的应用程序中发生了非正常处理时的实施方式。
图13所示是在例如安装了POSIX(注册商标)等RTOS的内核201所执行的应用程序中发生了非正常处理时的处理时序。RTOS与UNIX(注册商标)等全尺寸的OS相比,除了程序库构成以外还有一定的限制,另外,因为需要实时处理,所以与图12的处理相比,需要执行即时性更高的非正常应对处理。
图13的处理是在步骤S1300中,对于在OS上运行的应用程序的不可恢复的异常进行检测。不可恢复的异常是致命的例外违反,除了下溢、溢出以外,在应用程序级别还可以例举有存储器无法访问、特权处理的调用失败、非正常数据的接收,或等待计时器满了等的异常,但并不限定于这些。
检测出异常的应用程序在步骤S1301对应用程序管理器1发出系统重新启动请求。当应用程序管理器1接收到该请求时,就在步骤S1302调用应该解除妨碍重新启动要因、用于进行执行列表900指定的结束时序的对象,并执行结束时序。整个处理结束后,应用程序管理器1在步骤S1304对检查器1发出系统重新启动请求。
接收了系统重新启动请求的检查器1在步骤S1305对内核202的检查器2发出系统重新启动请求,并在之后的步骤S1306立刻执行内核201的结束处理。另一方面,接收了系统重新启动请求的检查器2在步骤S1307对应用程序管理器2发出系统重新启动预告通知。接收到该通知的应用程序管理器2在步骤S1308中调用登记在执行列表1000里的应用程序的结束对象,并对所有应用程序执行结束时序。
结束后,在步骤S1309对检查器2发出系统重新启动。当检查器2接收到该指令时,就在步骤S1301执行核心转储等的处理,并在步骤S1311,例如通过内核202的权限来开始引导程序处理(Bootstrap处理),执行CPU101的重新启动,并能够自动消除非正常处理带来的障碍。
如图12和图13中说明的那样,重新启动(reboot)处理因为是搭载了全尺寸OS的内核执行的,所以例如在重新启动时,也能够适当地重新开始RTOS的设定。另外,内核201和内核202都可以安装全尺寸的OS,在这种情况下,通过采用不是应用程序执行了非正常处理一侧的内核来进行最终的重新启动处理的方式,就能够更可靠地结束和重新启动处理。
图14所示是本实施方式中的CPU不是双核而是四核的CPU1400的实施方式。在四核的情况下,可以通过各个核之间的通信部1405来执行通信。然后,在四核的情况下,例如,内核1作为主动监视机构来发挥作用,内核2~内核4作为被动监视机构来发挥功能。这时,内核1对于内核2~内核4是通过同步通信或多点播送来进行轮询的。
然后,内核1检查内核2~4对该轮询的响应,并对每个内核执行图4的步骤S1404的错误检测处理。其结果是,内核1在内核2~内核4的任何一个都没有响应时,将该内核作为发生错误或失速而进行重新启动处理。
另一方面,内核2~内核4的被动监视机构分别通过执行图6的处理来判断内核1的错误或失速。这时,对内核2~内核4的各自的结果进行“或(OR)“处理,并在至少1个内核检测到内核1的异常时,能够进行重新启动处理。另外,也可以对内核2~内核4的检测结果进行“与(AND)“处理,并在内核2~内核4确保进行了异常判定之后进行重新启动处理。至于采用何种处理,可以根据CPU1400的重新起动的稳定性或允许CPU异常的时间等来进行适当选择。
另外,各内核1~4分别安装应用程序管理器1~4,并且即使对于应用程序级别的非正常处理也能够适当地应对。
<第三实施方式>
以下,对本本实施方式的第三实施方式进行说明。在第二实施方式中,如图12中所说明的那样,具有UNIX(注册商标)等的异常检测机构的全尺寸OS对于应用程序里是否发生了非正常处理等的问题进行判断,并在判断为发生了问题时执行重新启动。即,当应用程序异常结束时,OS按不同的异常类型从应用程序来接收通知,并根据该通知来判断发生了问题。
然而,即使应用程序没有异常结束,也存在不能恢复问题,从而需要系统重新启动的情况。例如,在具有本体部和操作部的多功能外围设备(Multi-FunctionPeripherals)等的机器的本体部中,可以例举有与操作部之间的通信中断了的情况。即,虽然不至于需要使得本体部的应用程序异常结束,但为了恢复和操作部之间的通信而需要重新启动的情况。另外,这里举出的例子仅是一个例子,并不限定于该例。
鉴于上述内容,以下说明的第三实施方式是在应用程序没有异常结束,但检测到了不可恢复的非正常处理等的异常时,通过重置CPU101来从错误状态复原的方式。
安装在在第三实施方式中的CPU101里的软件的功能模块因为与图8所示第二实施方式中的功能模块800的相同,所以虽然参照图8来进行说明,但对于技术上重复的内容将省略其说明。在此,内核201也是作为OS1来使得RTOS运行,内核202是作为OS2来使得LINUX(注册商标)等运行的。OS2是具有上述异常检测机构的全尺寸OS。
在内核201上运行的各应用程序App1~App4,...将与其执行状态对应的通知发送给OS1或应用程序管理器1,并在检测到不可恢复的异常的情况下,对应用程序管理器1发出系统重新启动请求。该处理及之后的处理因为在图13中已经进行了说明,所以在此省略其说明。
另一方面,在内核202上运行的各应用程序App10~App13,...在通过自身检测到不可恢复的异常时,并不是通知OS2并在在OS2检测异常,而是对应用程序管理器2自发地发出系统重新启动请求。这一点是与图12中说明的处理内容不同的点。因此,各应用程序App10~App13,...在第三实施方式中,具有作为对其他的内核(实施例中的内核201)要求重新启动的重新启动请求机构的功能。
此后的处理与第二实施方式中的图12所示的处理相同。通过这样的处理,即使应用程序没有异常结束,在检测到不可恢复的异常的情况下,能够将对于正常动作一侧的内核的动作产生的影响降到最小的同时,对CPU101进行重置,并使得CPU101整体恢复到正常的状态。
第三实施方式与第二实施方式有同样的功能构成,在内核202上运行的各应用程序App10~App13,...除了自发地发出系统重新启动请求之外,因为与图12中说明的处理相同,图9和图10中所说明的执行列表即使在第三实施方式中也能够使用,并且其使用方式和使用方法与第二实施方式相同。另外,即使对于CPU101的重新启动方法,在应用程序级别中发生问题时,并且是健全一侧的CPU内核在重置准备完毕的阶段执行的,所以就与图11中说明的重新起动方法为相同的流程。
对于第三实施方式中的重置处理,参照图15所示的时序图来进行详细的说明。在图15中,发生应用程序问题的是使得OS2动作的内核202,OS2是UNIX(注册商标)或具有与其兼容性的OS。
在步骤S1500,在OS2上运行的应用程序App#(#为1以上的整数)里发生不能恢复的异常,并且检测该异常。异常是上述通信的中断等。在步骤S1501,检测到该异常的应用程序App#和OS2一起对安装内核202里的应用程序管理器2发出系统重新启动请求。应用程序App#对应用程序管理器2因为是自发地发出其请求的,所以对应于第二实施方式那样的执行状态的通知是不会对OS2发出的。
此后的处理与图12中说明的相同,所以就简单地进行说明。在步骤S1502,应用程序管理器2接收该请求,并对检查器2发出系统重新启动请求。在步骤S1503,检查器2接受该请求,并对作为其他内核的内核201的检查器1发出系统重新启动请求。在步骤S1504,应用程序管理器2执行的处理是解除阻碍OS2管理下所执行的应用程序的重新启动的要因。
在步骤S1505中,检查器1接受来自检查器1的请求,并对安装在内核1里的应用程序管理器1发出可以重新启动确认通知。应用程序管理器1接收该通知,并在步骤S1506执行解除阻碍重新启动的要因的处理。应用程序管理器1在该处理结束后,在步骤S1507对检查器1发出允许系统重新启动的通知。检查器1在步骤S1508执行结束处理,并对在步骤S1509中检测到异常的内核202发出允许系统重新启动的系统重新启动指令。
检测出异常的内核202的检查器2接收来自于检查器1的指令后,在步骤S1510开始系统重新启动处理。即使在这种情况下,在该时刻,由于外部装置、内核201是正常结束的,所以就能够以内核202的权限来对CPU101开始引导程序(BootStrap)处理,并执行CPU101的重新启动,由此,就能够自动地消除应用程序App#中发生的异常。
另外,本发明虽然是对一个CPU101安装多个内核的方式来说明的,但是在其他实施方式中,包括多个CPU构成独立的内核,且应该同步地重新启动的构成的多个CPU,例如,CPU和CPU联合进行处理的GPU等,对于由多个GPU构成的系统也能够适用。
到此为止是通过实施方式来对本发明进行了说明,本发明不局限于实施方式,对于其他的实施方式、追加、变更、删除等,在本领域技术人员所能想到的范围内可以进行变更,无论是怎样的方式,只要起到本发明的作用和效果,都在本发明的范围内。

Claims (7)

1.一种包括具有多个内核的CPU的电子装置,其特征在于包括:
主动监视单元,其被设置在所述多个内核之中的第一内核内,主动地监视所述多个内核之中的所述第一内核以外的第二内核的异常;
被动监视单元,其被设置在所述多个内核之中的第二内核内,被动地监视所述第一内核的异常,和
当所述主动监视单元或所述被动监视单元中的某一个检测到所述内核的异常时,就与之响应并重新启动所述CPU的单元,
所述主动监视单元根据在第一规定期间没有来自于所述被动监视单元的响应来检测所述第二内核的异常,
所述被动监视单元根据在第二规定期间没有来自于所述主动监视单元的问询来检测所述第一内核的异常,
所述多个内核至少执行一个应用程序,并且,所述多个内核还包括,
通知单元,其通知该内核所执行的所述应用程序的非正常处理;
解除单元,其对阻碍了发生所述非正常处理的内核所执行的所述应用程序结束的要因进行解除,和
重新启动请求单元,其对发生所述应用程序的非正常处理的所述内核以外的其它内核发出重新启动请求。
2.根据权利要求1所述的电子装置,其特征在于:
所述主动监视单元由所述CPU的所述多个内核来决定一个,剩下的内核作为所述被动监视单元。
3.根据权利要求1或2所述的电子装置,其特征在于:
还包括用于进行所述主动监视单元和所述被动监视单元的相互监视的内核间通信单元。
4.根据权利要求1或2所述的电子装置,其特征在于:
所述多个内核至少执行一个应用程序,并且,所述多个内核还包括,
重新启动请求单元,其接受所述应用程序对非正常处理的检测,并对发生所述应用程序的非正常处理的所述内核以外的其它内核发出重新启动请求,和
解除单元,其对阻碍了发生所述非正常处理的内核所执行的所述应用程序结束的要因进行解除。
5.一种具有多个内核的CPU的重新启动方法,其特征在于所述CPU包括:
主动监视步骤,其主动地监视所述多个内核之中的第一内核以外的第二内核的异常,所述主动地监视包括根据在第一规定期间没有来自于所述第二内核的响应来检测所述第二内核的异常;
被动监视步骤,其被动地监视所述第一内核的异常,所述被动地监视包括根据在第二规定期间没有来自于所述第一内核的问询来检测所述第一内核的异常,和
当所述主动监视步骤或所述被动监视步骤中的某一个检测到所述内核的异常时,就与之响应并重新启动所述CPU的步骤;
利用所述多个内核至少执行一个应用程序,
通知步骤,其通知该内核所执行的所述应用程序的非正常处理;
解除步骤,其对阻碍了发生所述非正常处理的内核所执行的所述应用程序结束的要因进行解除,和
重新启动请求步骤,其对发生所述应用程序的非正常处理的所述内核以外的其它内核发出重新启动请求。
6.一种计算机可读存储介质,其存储有使得具有多个内核的CPU重新启动且能够由CPU执行的程序,其特征在于使得所述CPU具有以下功能:
主动监视单元,其被设置在所述多个内核之中的第一内核内,主动地监视所述多个内核之中的所述第一内核以外的第二内核的异常;
被动监视单元,其被设置在所述多个内核之中的第二内核内,被动地监视所述第一内核的异常,和
当所述主动监视单元或所述被动监视单元中的某一个检测到所述内核的异常时,就与之响应并重新启动CPU的单元,
所述主动监视单元根据在第一规定期间没有来自于所述被动监视单元的响应来检测所述第二内核的异常,
所述被动监视单元根据在第二规定期间没有来自于所述主动监视单元的问询来检测所述第一内核的异常,
所述多个内核至少执行一个应用程序,并且,所述多个内核还包括,
通知单元,其通知该内核所执行的所述应用程序的非正常处理;
解除单元,其对阻碍了发生所述非正常处理的内核所执行的所述应用程序结束的要因进行解除,和
重新启动请求单元,其对发生所述应用程序的非正常处理的所述内核以外的其它内核发出重新启动请求。
7.根据权利要求6所述的存储介质,其特征在于:
所述多个内核至少执行一个应用程序,还进一步具有以下功能,
重新启动请求单元,其接受所述内核执行的所述应用程序对非正常处理的检测,并对发生所述应用程序的非正常处理的所述内核以外的其它内核发出重新启动请求,和
解除单元,其对阻碍了发生所述非正常处理的内核所执行的所述应用程序结束的要因进行解除。
CN201710770949.3A 2016-11-29 2017-08-31 电子装置、重新启动方法及记录媒介 Active CN108121630B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016231218 2016-11-29
JP2016-231218 2016-11-29
JP2017079691A JP2018092571A (ja) 2016-04-20 2017-04-13 電子装置、再起動方法およびプログラム
JP2017-079691 2017-04-13

Publications (2)

Publication Number Publication Date
CN108121630A CN108121630A (zh) 2018-06-05
CN108121630B true CN108121630B (zh) 2021-07-16

Family

ID=62190847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710770949.3A Active CN108121630B (zh) 2016-11-29 2017-08-31 电子装置、重新启动方法及记录媒介

Country Status (2)

Country Link
US (1) US10585755B2 (zh)
CN (1) CN108121630B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710273B2 (en) 2014-11-21 2017-07-18 Oracle International Corporation Method for migrating CPU state from an inoperable core to a spare core
JP6984512B2 (ja) * 2018-03-22 2021-12-22 株式会社デンソー 電子制御装置
CN109710322A (zh) * 2018-12-26 2019-05-03 京信通信系统(中国)有限公司 通信设备复位方法、装置及系统
US11036573B2 (en) 2019-05-16 2021-06-15 Ford Global Technologies, Llc Control processor unit (CPU) error detection by another CPU via communication bus
JP7243459B2 (ja) * 2019-05-31 2023-03-22 株式会社デンソー 車両用装置
CN113535441B (zh) * 2020-04-13 2023-01-31 烽火通信科技股份有限公司 一种嵌入式系统故障诊断装置及方法
DE102020205146A1 (de) * 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines technischen Systems
CN112046284B (zh) * 2020-09-11 2023-11-07 马瑞利汽车电子(广州)有限公司 一种汽车液晶仪表的显示恢复系统
JP2022060789A (ja) * 2020-10-05 2022-04-15 株式会社リコー 電子機器、電子機器の制御方法および電子機器の制御プログラム
CN112395137B (zh) * 2021-01-21 2021-11-09 北京太一星晨信息技术有限公司 一种linux内核异常的处理方法、设备及装置
CN116820837A (zh) * 2023-06-28 2023-09-29 合芯科技有限公司 一种关于系统组件的异常处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器
CN102981587A (zh) * 2012-12-28 2013-03-20 中国电子科技集团公司第五十四研究所 一种适用于多核处理器的复位方法
US8850262B2 (en) * 2010-10-12 2014-09-30 International Business Machines Corporation Inter-processor failure detection and recovery

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3842144B2 (ja) * 2002-02-20 2006-11-08 三菱電機株式会社 車載電子制御装置
JP4947122B2 (ja) * 2003-02-03 2012-06-06 セイコーエプソン株式会社 磁気インク文字読取装置及びその読取処理方法
JP4223909B2 (ja) 2003-09-24 2009-02-12 三菱電機株式会社 車載電子制御装置
GB2409303B (en) * 2003-12-18 2006-10-18 Advanced Risc Mach Ltd Inter-processor communication mechanism
JP4535316B2 (ja) 2004-03-26 2010-09-01 富士通株式会社 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム
JP4315057B2 (ja) 2004-06-02 2009-08-19 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
JP2006338605A (ja) * 2005-06-06 2006-12-14 Denso Corp プログラム異常監視方法及びプログラム異常監視装置
JP2008160404A (ja) 2006-12-22 2008-07-10 Ricoh Co Ltd 画像処理装置、画像処理方法、コンピュータプログラム、及び、情報記憶媒体
JP2009054041A (ja) 2007-08-28 2009-03-12 Fujitsu Ten Ltd 模擬マイクロコンピュータ装置
JP5446496B2 (ja) 2009-06-17 2014-03-19 株式会社リコー 情報処理装置、画像形成装置および情報処理方法
EP2642399A1 (en) * 2010-11-15 2013-09-25 Fujitsu Limited Access method, and multi-core processor system
WO2013101082A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Reset of processing core in multi-core processing system
JP5818257B2 (ja) 2012-01-20 2015-11-18 Necプラットフォームズ株式会社 計算機システム、電源切断処理装置、電源切断処理方法およびプログラム
WO2013121502A1 (ja) * 2012-02-13 2013-08-22 三菱電機株式会社 プロセッサシステム
JP5544644B2 (ja) 2012-03-02 2014-07-09 株式会社大都技研 遊技台
JP2013242811A (ja) 2012-05-22 2013-12-05 Ricoh Co Ltd 情報処理装置、異常処理方法
US9529656B2 (en) * 2012-06-22 2016-12-27 Hitachi, Ltd. Computer recovery method, computer system, and storage medium
JP6111181B2 (ja) * 2013-10-31 2017-04-05 株式会社日立製作所 計算機の制御方法及び計算機
ES2696604T3 (es) * 2013-12-13 2019-01-17 Thales Sa Arquitectura de marco tolerante a fallos con triple redundancia de software
US10019602B2 (en) * 2014-08-28 2018-07-10 Qualcomm Incorporated System and method for improved security for a processor in a portable computing device (PCD)
US9612893B2 (en) * 2015-05-11 2017-04-04 Silicon Laboratories Inc. Peripheral watchdog timer
JP5968501B1 (ja) * 2015-06-01 2016-08-10 三菱電機株式会社 車載電子制御装置
CN106293979B (zh) * 2015-06-25 2019-11-15 伊姆西公司 检测进程无响应的方法和装置
JP6554998B2 (ja) 2015-08-18 2019-08-07 株式会社リコー 情報処理装置、電力制御方法、プログラムおよび情報処理システム
US20170269984A1 (en) * 2016-03-18 2017-09-21 Qualcomm Incorporated Systems and methods for improved detection of processor hang and improved recovery from processor hang in a computing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器
US8850262B2 (en) * 2010-10-12 2014-09-30 International Business Machines Corporation Inter-processor failure detection and recovery
CN102981587A (zh) * 2012-12-28 2013-03-20 中国电子科技集团公司第五十四研究所 一种适用于多核处理器的复位方法

Also Published As

Publication number Publication date
US20180150359A1 (en) 2018-05-31
CN108121630A (zh) 2018-06-05
US10585755B2 (en) 2020-03-10

Similar Documents

Publication Publication Date Title
CN108121630B (zh) 电子装置、重新启动方法及记录媒介
US9946553B2 (en) BMC firmware recovery
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US8954963B2 (en) Method and apparatus for resetting a physical I/O adapter without stopping a guest OS running on a virtual machine
JP4887150B2 (ja) コプロセッサを監視及びリセットするための方法及び装置
JP6034990B2 (ja) サーバ制御方法及びサーバ制御装置
EP2518627B1 (en) Partial fault processing method in computer system
WO2018095107A1 (zh) 一种bios程序的异常处理方法及装置
KR101581608B1 (ko) 프로세서 시스템
US9411661B2 (en) Deadlock avoidance
US8122176B2 (en) System and method for logging system management interrupts
US10379931B2 (en) Computer system
JP2018092571A (ja) 電子装置、再起動方法およびプログラム
JP2003186697A (ja) 周辺デバイス試験システム及び方法
US20180089012A1 (en) Information processing apparatus for analyzing hardware failure
JP2008546077A (ja) ソフトウェアプロセスモニタ
US10768940B2 (en) Restoring a processing unit that has become hung during execution of an option ROM
JP2013125533A (ja) 情報処理装置、情報処理方法及びプログラム
TW201327139A (zh) 節點置換處理方法與使用其之伺服器系統
JP2679575B2 (ja) 入出力チャネルの障害処理システム
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
JP2007157125A (ja) サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム
JP2001222437A (ja) 障害復旧方法
JP2006133823A (ja) コンピュータシステム
JP2008123129A (ja) マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant