CN1993679B - 执行计算机程序的方法、操作***和计算设备 - Google Patents

执行计算机程序的方法、操作***和计算设备 Download PDF

Info

Publication number
CN1993679B
CN1993679B CN2005800262785A CN200580026278A CN1993679B CN 1993679 B CN1993679 B CN 1993679B CN 2005800262785 A CN2005800262785 A CN 2005800262785A CN 200580026278 A CN200580026278 A CN 200580026278A CN 1993679 B CN1993679 B CN 1993679B
Authority
CN
China
Prior art keywords
program
program object
computer program
computing equipment
mistake
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
Application number
CN2005800262785A
Other languages
English (en)
Other versions
CN1993679A (zh
Inventor
R·维伯勒
B·穆勒
W·哈特
T·科克
Y·科拉尼
R·格梅利彻
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN1993679A publication Critical patent/CN1993679A/zh
Application granted granted Critical
Publication of CN1993679B publication Critical patent/CN1993679B/zh
Expired - Fee Related 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/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/1438Restarting or rejuvenating
    • 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/1479Generic software techniques for error detection or fault masking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明涉及用于在计算设备(20)上、尤其是在微处理器(22)上执行计算机程序(23)的方法。该计算机程序(23)包含多个、例如形成为任务的程序对象。在计算机设备(20)上执行计算机程序(23)期间检测瞬态或永久错误。为了在出现瞬态错误期间在一个计算机***内可以有益地处理这个错误即:在尽可能短的容错时间内再度恢复该计算机***的作用能力和功能可靠性而建议:在检测到一个错误时已经执行的至少一个程序对象转入到一个定义的状态,并且从这个状态重新启动该程序对象。该程序对象例如是计算机程序(23)的一个渡越时间对象、所谓的任务。在本发明的意义上可以重新启动并执行在出现错误时还在执行或已经执行的一个任务或多个任务。

Description

执行计算机程序的方法、操作***和计算设备
本发明涉及在计算设备上、尤其是在微处理器上执行计算机程序的方法。该计算机程序包含多个程序对象。在该方法中当在计算设备上执行计算机程序时检测错误。
此外,本发明涉及操作***,该操作***可以运行在一个计算设备上、尤其是运行在一个微处理器上。
最后本发明还涉及用于执行计算机程序的计算设备,该计算机程序包含多个程序对象。该计算设备具有一个用于当在计算设备上执行计算机程序时检测错误的错误发觉机制。
背景技术
当在计算设备上执行一个计算机程序时可能发生所谓的瞬态错误。因为在半导体器件(所谓的芯片)上的结构始终较小、而信号的时钟频率较高并且信号的电压较低,所以经常出现瞬态错误。与永久错误不同,瞬态错误仅仅暂时出现并且通常在一段时间之后自动消失。在瞬态错误的情况下,仅仅个别的位出错,而不会永久损坏计算设备本身。瞬态错误可能由不同的原因造成,比如:电磁影响、α粒子或中子。
在通信***中,目前关注的重点在于对瞬态错误的错误处理。在通信***中(例如在区域控制网络,CAN)中已知,在检测错误时重新发送错误传递的数据。此外已知,在通信***中使用错误计数器,其在检测到错误时递增,在正确发送时低减,并且只要其超过一个确定的值,就阻止发送数据。
可是在用于执行计算机程序的计算设备中基本上仅仅对永久错误进行错误处理。对瞬态错误的考虑局限于错误计数器的增量和也许可能的减量。二者存放在一个存储器并且可以脱机、也就是说例如在一个形成为汽车控制设备的计算设备中在车间停留期间、可以作为诊断信息或错误信息读出。然后可以对错误作出相应反应。
借助于错误计数器的错误处理一方面不允许在一个特别对于比较安全的***要求的较短容错时间内部进行错误处理并且另一方面在这个意义上也不进行有益的错误处理即:在容错时间内按规定再度执行计算机程序。在现有技术的情况下,替代的解决方案在于当超过错误计数器的一个确定值之后计算机程序转入到紧急运行。这表明:代替有错误的计算机程序部分而执行另外的计算机程序并且把通过这种方式确定的等效值用于另外的计算。例如可以根据另外的量模拟该等效值。另外也可以认为以计算机程序的有错误部分计算的结果是有错误的而不予理睬并且采用为紧急运行设置的标准值替代用于另外的计算。已知的、处理在计算设备上运行的计算机程序的瞬态错误的方法因而不可能在***上有益地涉及大多数错误的瞬态本性。
此外从现有技术已知:通过完全重新启动计算设备消除当在计算设备上执行计算机程序时出现的瞬态错误。这种解决方案仍不能真正令人满意。因为将会使在目前执行计算机程序的过程中获得的量丢失并且计算设备在重新启动的持续时间内不能履行其规定的功能。尤其在比较安全的***中这是不能接受的。
最后还公知作为在一个计算设备上执行的计算机程序的瞬态错误的错误处理,计算机程序后移几个时钟脉冲并且重复计算机程序的各个机器指令。该方法也称为微卷回(Micro Roll-Back)。在已知的方法中仅仅后跳在机器层面上的对象(时钟,机器指令)。该对象在机器层面上要求相应的硬件支持,这在计算设备的范围内显著增加费用。该已知方法的实施不能单纯通过软件控制。
从现有技术中已知的错误处理机制不能以适当的方式对在计算设备上执行计算机程序时出现的瞬态错误作出反应。
本发明基于以下的技术问题:在一个计算机***中当在执行计算机程序中出现瞬态错误时如此有益地处理该错误,即在一个尽可能短的容错时间内重新恢复计算机***的全部功能作用和功能可靠性。
为了解决这个技术问题,以开始所述形式的方法为出发点提出:在检测到一个错误时把至少一个已经执行的程序对象转入一个定义的状态,并且从这个状态重新启动。
发明内容
重新启动的程序对象在检测到错误时必须没有被完全执行。在本发明的意义上,也可以在出现错误时重新启动以下的程序对象:其在错误检测的时刻还没有被完全执行,可是该程序对象一定已经开始执行。根据本发明在出现一个瞬态或一个永久错误时重新执行至少一个操作***对象。与微卷回方案相比的优点尤其在于:以非常有限的硬件支持即可实现程序对象的重复。最多需要附加的存储位置,以便可以暂时存储几个对于重新执行程序对象所需要的信息(例如该程序对象的输入参数)。通过计算设备的操作***实施根据本发明的方法的管理。也就是说以传统的、商业上通用的处理器即可实现根据本发明的方法,不需要附加硬件。可是当然也能够实现具有硬件支持的根据本发明的方法。
也可以按照任意的方法实现错误检测。可以考虑使用各种形式的错误发觉机制,其在执行计算机程序时检测错误(所谓的并行检验)。例如在双核结构中双倍地形成整个计算机核心。如果计算机核心运行在锁步模式,则对于每个指令可以比较,是否两个计算机核心提供同样的结果。结果不同肯定推断出错误。这种错误发觉机制在执行程序对象时能够实时地发现错误。相应也适合于发觉错误的代码、其在处理器体系结构中普遍使用,或也适合于计算机设备的加倍的部分元件。所有这些错误发觉机制的共同点是,非常快速地发觉瞬态错误并且如果检测到一个错误,则提供一个错误信号。
根据以下所述的错误信号可以触发一个错误处理机制,该错误信号重复程序对象。如果在重新执行时再一次出现同样的错误,则可以推断出永久错误,或错误计数器增值,对此只有在超过一个确定值的情况下才推断出一个永久错误。与此相反如果在重新执行程序对象时不再出现该错误,则可以得出如下结论:该错误是一个瞬态错误。在无错误重新执行该程序对象时再度提供该计算机程序用于其按规定的功能。因此重复至少一个程序对象是一个很好的处理瞬态错误的方法。
根据本发明的一个有益的改进提出:把该程序对象形成为计算机程序的渡越时间对象(在下面称为任务)并且在检测到一个错误时重新执行至少一个任务。任务是在操作***级上的一个典型对象。如果希望甚至单纯软件控制,则以最低的费用实现任务的重复。
根据本发明的一个优选实施形式提出:重新启动在检测错误时刻执行的程序对象。作为替代或附加地也可以启动并重新执行在检测错误时刻已经完全执行的程序对象。
建议,在执行程序对象期间、尤其是在执行程序对象开始时产生并存储该程序对象的至少一个定义的状态。这例如通过以下方式实现:存储所有与该程序对象状态至关重要的参数值。
此外建议,一个与在其上面执行具有多个程序对象的计算机程序的计算机设备冗余工作的计算设备用于错误检测。当然也可以使用多于一个的冗余计算设备进行错误检测。
根据本发明的方法有益地应用在汽车中、尤其是应用在汽车控制设备中,以在执行一个计算机程序时尽管出现不可避免的瞬态错误仍能保证计算机程序的安全而可靠的执行。这在汽车的在安全严格的应用中对于执行控制和/或调解程序尤其重要。
此外建议,如果在重新执行至少一个程序对象时再度出现同样的错误,则推断出永久错误。也可以考虑,如果在预定数目的重复程序对象之后还始终出现该错误,那么才推断出一个永久错误。在这种情况下如果在第三或还要后面的重复该程序对象之后消除该错误,这当然还断定为一个瞬态错误。通过本发明的这个改进可以例如三次而不是仅仅两次地重复重要的程序对象。
根据本发明的另一个有益的改进提出:把至少一个程序对象的重复数目限制在一个预定值内。由此防止在永久错误的情况下任意多次地重复同样的程序对象。例如借助于一个计数器或通过时间限制可以实现对至少一个程序对象的重复数目的限制。通过规定并取决于任务的重复此外能够与不太重要的任务相比更多次重复重要的任务并因此给重要的任务更多或更长的机会,不必完美地运行瞬态错误,然而在不太重要的任务的情况下相对较快地推断出永久错误并且引发另外的***反应。
根据本发明的另一个优选的实施形式提出:把至少一个程序对象的重复数目动态地限制在一个规定的值内。至少一个程序对象的重复数目有益地依赖于作业调度的剩余时间动态地限制在一个规定的值内。通过这种方式例如在多次重复第三任务期间可以执行第一任务和第二任务。
为了实现根据本发明的方法提出:在执行计算机程序时在执行一个程序对象之前存储为了执行该程序对象所必需的或者定义该程序对象状态的参数值。就是说根据该实施形式暂时存储所有程序对象的参数。
替代方案建议:在一个周期内应当周期执行的计算机程序中当在确定的程序对象上检测到错误时跳回在计算机程序的周期内一个可规定的返回点。根据该实施形式在一个错误的情况下始终跳回到周期内的同一位置。在执行处理计算机程序期间在执行一个程序对象之前最好在返回点存储与该程序对象状态所有至关重要的参数值。也就是每循环或周期在返回点仅仅一次存储程序对象的重要参数值。由此可以节省存储时间和存储位置。
在检测到一个错误之后重新执行一个程序对象时调用已经存储的输入参数并且提供给要重新执行的程序对象作为输入参数。
作为本发明的另一个实施形式提出:给一个程序对象设置多个返回点。在出现错误时不必重新执行整个程序对象,而是仅仅重新执行一部分程序对象。在出现错误时简单地转移到前面的直到无误地执行程序对象的返回点。例如在无误执行程序对象一直到第n个返回点时当在该返回点与第(n+1)个返回点之间出现错误,则回跳到第n个返回点。然后从第n个返回点重新执行该程序对象。因此能够节省时间。当在执行程序对象期间在越过一个返回点时分别产生并存储至少一个定义的状态。
以操作***的形式来实现根据本发明的方法具有特别重要的意义。在此情况下,操作***能够在一个计算设备上、尤其是在一个微处理器上运行并且如果操作***在计算设备上运行,则为了实施根据本发明的方法对该操作***进行编程。在这种情况下,通过操作***实现本发明,使得该操作***通过与适合于实施操作***的方法相同的方式来描述本发明。该操作***最好存储在一个存储元件上并且为了执行而传递给计算设备。一个任意的数据载体或一个电子存储介质可以用作存储元件,例如一个随机存取存储器(RAM)、只读存储器(ROM)或闪速存储器。
作为本发明技术问题的其它解决方案以开篇所述形式的计算设备为出发点提出:该计算设备具有一个错误处理机制,其在检测到错误的情况下通过错误发觉机制促使重新执行至少一个程序对象。
根据本发明的一个有益改进提出:该错误处理机制具有一个触发器逻辑电路,其在检测到一个错误时重新启动至少一个程序对象。
根据一个优选实施形式体提出:在计算设备上运行一个实时操作***或OSEK时间。最后建议,计算设备包含一个微处理器。
附图说明
从下面在附图中示出的、本发明的实施例的描述中得出本发明的另外特征、应用可能性和优点。对此不依赖于其在权利要求书中的归纳或其后面的关系以及不依赖于其表达或者在说明书中或在附图中的阐述形成所有描述的或示出的特征或以任意的组合形成本发明的主题。
图1指出了根据优选实施形式的、按照本发明方法的流程图;
图2以示意图指出了根据一个优选实施形式的、按照本发明的计算设备。
具体实施方式
本发明涉及一个用于在计算设备上、尤其是在一个微处理器上执行计算机程序的方法。该计算机程序包含多个、主要形成为任务的程序对象。在该方法中当在计算机设备上执行计算机程序期间检测错误,检测的错误可以是瞬态(也就是暂时的)或永久的错误。
当在一个计算设备上执行一个计算机程序时可能会出现瞬态错误。因为在计算设备的半导体器件(所谓的芯片)的结构始终较小、而信号的时钟频率较高并且信号的电压较低,所以当在一个计算设备上执行一个计算机程序时经常出现瞬态错误。不同于永久错误,瞬态错误仅仅暂时出现并且通常在一段时间之后自动消失。在瞬态错误的情况下,仅是个别的位出错,而不会永久损坏计算设备本身。瞬态错误可能有不同的原因,比如电磁影响、α粒子或中子。
基于以下事实:瞬态错误几乎不可预见地出现并因此不可能重现,在从现有技术中已知的计算设备中基本上仅仅对于永久错误进行处理。对瞬态错误的一种考虑局限于错误计数器的增量和也许可能的减量。二者存放在存储器中并且可以脱机也就是说例如在车间可以作为诊断信息或错误信息读出。然后可以对错误作出相应反应。已知的错误处理不允许在一个特别对于安全重要的***所需要的、较短的容错时间内处理错误并且另一方面在这个意义上不能进行有益的错误处理,即:在容错时间内再度按规定执行计算机程序并且计算设备可以完成其按规定的任务。
与之相反,根据本发明的方法允许利用与大多数错误的瞬态本性在***上有益的交流来对在一个计算设备上运行的计算机程序的瞬态错误进行处理。以一个渡越时间对象、所谓的任务为例在图1中示出了根据本发明的方法的流程图。其它任务的存在并不影响原理过程,从而不考虑这种情况。如此根据在图1中示出的过程处理一个任务,根据本发明也可以处理多个任务。并行工作的错误发觉机制(所谓的Concurrent checking)是特别有益的。可是在流程图中没有示出该机制,其在相应位置作为串联器件被嵌入。
根据本发明的方法以功能块1开始。在功能块1中开始在计算设备上执行一个任务;该任务被调用。在功能块2中产生一个返回点。为了这个目的在计算设备的存储元件中暂时存储与安全相关的任务输入参数、其足以把该任务置于重新启动的一个定义的状态或再次启动该任务。最好存储该任务的所有输入参数。然后在功能块3中继续执行该任务。该执行直到一个返回点或直到任务结束。然后实施错误发觉机制。可以按照任意的方法检测错误。在执行计算机程序时检测错误(所谓的并行检测)。如此例如在一个所谓的双核结构中两倍地形成整个计算机核心。如果计算机核心运行在所谓的锁步模式,对于每个指令可以比较上述两个计算机核心是否提供同样的结果。如果结果不相同则能够肯定推断出一个错误。这种错误发觉机制实时地发现在执行任务中的错误。相应也适合于发觉错误的代码、其在处理器体系结构中普遍使用,或也适合于计算机设备的加倍的部分元件。最好使用这样的错误发觉机制,其非常快速地发觉瞬态错误并且如果检测到一个错误,则提供一个错误信号。
在一个询问块4中检查是否发现错误、也就是瞬态或永久错误。假如发现一个错误,则转移到另外的询问块7中,在那里检查错误计数器逻辑电路的当前值。如果错误计数器不低于(在减量错误计数器的情况下)或还没有超过(在增量错误计数器的情况下)规定的计数器读数,再一次执行在其执行期间出现错误的任务或者在出现该错误之前已经执行的确定数目的任务。如果能够重新启动该任务的执行,则转移到功能块8,在该功能块8中利用出现的另外错误的信息来更新错误计数器逻辑电路的状态(递减或者递增)。从这里转移到功能块5,在该功能块中加载在功能块2中存储的参数并且提供给该任务以产生开始执行的定义状态。然后转移到功能块3,在这里再一次部分、也就是说例如从已经执行的返回点、或完整地、也就是说从开始再一次启动该任务、执行要重复的任务。
如果在询问块4中得知,当在功能块3中执行任务时没有出现错误,则转移到功能块9,在功能块9中以该信息来更新错误计数器逻辑电路,即没有检测到错误。从功能块9转移到询问块11,在此检查,该计算机程序是否结束。如果结束,则转移到功能块6来结束该计算机程序。否则转移到功能块12中,在那里根据当前的状态产生另一个返回点,这是通过定义并暂时存储安全重要的任务输入参数实现的,该输入参数足以再一次启动该任务。然后从功能块12再度转移到功能块3,在那里重新启动应当重复的任务并且或者部分或者完全地再一次执行该任务。
如果在询问块7中得知,根据错误计数器逻辑电路的状态不能再进一步尝试重新执行该任务,则转移到功能块10。在询问块7中检查,该任务的错误计数器逻辑电路的值是否大于取决于任务的重复值。该取决于任务的重复值或者对于不同的任务是相同的或者对于每个任务单独规定特殊的值。通过这种方式能够在告知永久错误之前例如首先多次重复特别重要的任务。如果取决于任务的重复值规定为1,则在检测到一个永久错误之前仅仅重复一次该任务。如果取决于任务的重复值规定为2或3,则在检测到一个永久错误之前重复两次或三次该任务。在这种情况下该任务支配较长的时间或者多个过程,直到不再出现瞬态错误。在功能块10中检测到一个永久错误并且引发相应的措施。该措施例如可能是:计算机程序转移到紧急运行,或者首先不采取措施而然后结束该计算机程序的运行。
根据本发明的方法不必包含所有在图1中示出并且在上面阐述的功能块和询问块。这样例如可以省去涉及错误计数器逻辑电路的块7至9。在检测到错误的情况下要重新启动的并且执行的任务重复长时间直到不再出现错误。如果没有检测到永久错误,还可以取消功能块10。作为替代方案,把取决于任务的重复值规定为1,从而可以省去用于更新错误计数器的功能块8和9。最后如果执行具有唯一返回点的唯一任务,则也可以省去块11和12。
在图2中示出了根据其优选实施形式的、用于执行计算机程序的根据本发明的计算设备。该计算设备整体用参考符号20表示。该计算设备包含一个存储元件21,其例如形成为电子存储器、尤其是形成为一个闪速存储器。此外该计算设备20包含一个微处理器22,在该微处理器上可以执行一个计算机程序。该计算机程序存储在电子存储介质21上并且以参考符号23表示。为了在微处理器22上执行计算机程序,该计算机程序或者完整或者逐段地、例如指令方式地经过数据连接24传输到微处理器22上。该数据连接24可以形成为一个或多个数据线或形成为用于数据传输的总线***。在存储介质21上此外存储操作***,其在计算设备20上行时至少部分从存储器21从传输到微处理器22并且在那里执行该操作***。该操作***以参考符号25表示。其具有以下任务:控制并管理计算机程序在微处理器22和连接在计算设备20上的***设备上的执行。根据本发明以特别的方式形成操作***25,如果该操作***在微处理器22上运行,则为了执行根据本发明的方法该操作***可以编程并且完成根据本发明的方法。该操作***特别包含对错误发觉机制的访问,该错误发觉机制用于在微处理器22上执行计算机程序23期间检测错误。此外该操作***25包含一个错误处理机制,其在检测到错误时促使重新执行计算机程序23的至少一个程序对象(一个任务)。

Claims (19)

1.在计算设备(20)上执行计算机程序(23)的方法,其中所述计算机程序(23)包含多个程序对象,在所述方法中,在计算设备(20)上执行该计算机程序(23)期间检测错误,
其特征在于,
在执行程序对象开始时,产生并存储该程序对象的至少一个定义的状态,采用与程序目标的执行并行执行的故障发觉机制,当检测到一个错误时,把至少一个已经执行的程序对象转入到一个定义的状态并且从这个状态重新启动至少一个程序对象,即使在检测到错误的时间点所述已经执行的程序对象还没有被完全执行。
2.按照权利要求1的方法,
其特征在于,
该程序对象被形成为计算机程序(23)的任务并且在检测到一个错误时重新执行至少一个任务。
3.按照权利要求1或2的方法,
其特征在于,
重新执行一个在检测到错误的时刻已经执行的程序对象。
4.按照权利要求1至2之一的方法,
其特征在于,
在执行程序对象期间,产生并存储该程序对象的至少一个定义的状态。
5.按照权利要求1至2之一的方法,
其特征在于,
对于计算设备(20)而言以冗余方式工作的另外的计算设备被用来检测错误。
6.按照权利要求1至2之一的方法,
其特征在于,
该方法应用于汽车中。
7.按照权利要求1至2之一的方法,
其特征在于,
该方法应用于汽车控制设备中。
8.按照权利要求1至2之一的方法,
其特征在于,
如果在重新执行至少一个程序对象时再度出现同样的错误,则推断为永久错误(12)。
9.按照权利要求8的方法,
其特征在于,
把至少一个程序对象的重复数目限制在一个可规定的值内。
10.按照权利要求9的方法,
其特征在于,
把至少一个程序对象的重复数目动态地限制在一个可规定的值内。
11.按照权利要求10的方法,
其特征在于,
根据作业调度的剩余时间把至少一个程序对象的重复数目动态地限制在一个可规定的值内。
12.按照权利要求1至2之一的方法,
其特征在于,
在执行计算机程序(23)期间,在执行一个程序对象之前存储为了执行该程序对象所需的参数值。
13.按照权利要求1至2之一的方法,
其特征在于,
在一个在周期中周期执行的计算机程序(23)中,如果在一个确定的程序对象上检测到一个错误,则在计算机程序(23)的这个周期内跳回到一个可规定的返回点。
14.按照权利要求13的方法,
其特征在于,
在执行计算机程序(23)期间,仅仅在执行一个程序对象之前在返回点上存储所有在该程序对象上存在的输入参数。
15.按照权利要求12或14的方法,
其特征在于,
在重新执行一个程序对象期间,在检测到一个错误之后,利用为该程序对象存储的输入参数来重新执行该程序对象。
16.用于执行包含多个程序对象的计算机程序(23)的计算设备(20),
其特征在于,
该计算设备(20)具有
装置,用于在执行程序对象开始时,产生并存储该程序对象的至少一个定义的状态,
与程序目标的执行并行执行的故障发觉机制,用于在计算设备上执行计算机程序(23)时检测错误,
装置,用于当检测到一个错误时,把至少一个已经执行的程序对象转入到一个定义的状态并且从这个状态重新启动至少一个程序对象,即使在检测到错误的时间点所述已经执行的程序对象还没有被完全执行。
17.按照权利要求16的计算设备(20),
其特征在于,
所述错误处理机制具有一个触发器逻辑电路,该触发器逻辑电路在检测到一个错误时重新启动至少一个程序对象。
18.按照权利要求16或17的计算设备(20),
其特征在于,
在计算设备(20)上运行一个实时操作***(25)。
19.按照权利要求16至17之一的计算设备(20),
其特征在于,
该计算设备(20)包含一个微处理器(22)。
CN2005800262785A 2004-08-04 2005-07-25 执行计算机程序的方法、操作***和计算设备 Expired - Fee Related CN1993679B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102004037713A DE102004037713A1 (de) 2004-08-04 2004-08-04 Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102004037713.8 2004-08-04
PCT/EP2005/053621 WO2006015945A2 (de) 2004-08-04 2005-07-25 Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms

Publications (2)

Publication Number Publication Date
CN1993679A CN1993679A (zh) 2007-07-04
CN1993679B true CN1993679B (zh) 2010-05-26

Family

ID=35395722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800262785A Expired - Fee Related CN1993679B (zh) 2004-08-04 2005-07-25 执行计算机程序的方法、操作***和计算设备

Country Status (8)

Country Link
US (1) US7890800B2 (zh)
EP (1) EP1854007A2 (zh)
JP (1) JP4728334B2 (zh)
CN (1) CN1993679B (zh)
BR (1) BRPI0513229A (zh)
DE (1) DE102004037713A1 (zh)
RU (1) RU2431182C2 (zh)
WO (1) WO2006015945A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004051967A1 (de) 2004-10-25 2006-04-27 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102005037247A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
US8205113B2 (en) * 2009-07-14 2012-06-19 Ab Initio Technology Llc Fault tolerant batch processing
CN102279787B (zh) * 2010-06-08 2015-06-17 腾讯科技(深圳)有限公司 一种平均无故障时间的测试方法和装置
EP2657797B1 (de) * 2012-04-27 2017-01-18 Siemens Aktiengesellschaft Verfahren zum Betreiben eines redundanten Automatisierungssystems
RU2521265C2 (ru) * 2012-09-28 2014-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ автоматической обработки системных ошибок программного обеспечения
RU2543960C1 (ru) * 2013-08-29 2015-03-10 Открытое акционерное общество "Концерн "Системпром" Способ определения уязвимых функций при автоматизированной проверке веб-приложений на наличие уязвимостей
US10235232B2 (en) 2014-02-10 2019-03-19 Via Alliance Semiconductor Co., Ltd Processor with approximate computing execution unit that includes an approximation control register having an approximation mode flag, an approximation amount, and an error threshold, where the approximation control register is writable by an instruction set instruction
US9389863B2 (en) 2014-02-10 2016-07-12 Via Alliance Semiconductor Co., Ltd. Processor that performs approximate computing instructions
US9588845B2 (en) 2014-02-10 2017-03-07 Via Alliance Semiconductor Co., Ltd. Processor that recovers from excessive approximate computing error
US9990245B2 (en) * 2015-11-25 2018-06-05 Stmicroelectronics S.R.L. Electronic device having fault monitoring for a memory and associated methods
GB2604089B (en) * 2020-11-27 2024-05-08 Advanced Risc Mach Ltd Data processing systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1164590A2 (en) * 2000-06-14 2001-12-19 Sony Corporation Information playback apparatus, information processing method and information recording medium
US6334139B1 (en) * 1997-06-12 2001-12-25 Mitsubishi Denki Kabushiki Kaisha Agent system
CN1336588A (zh) * 2000-08-02 2002-02-20 国际商业机器公司 用动态可重构测试电路来跟踪硬件状态的方法和装置
EP1121642B1 (fr) * 1998-10-12 2003-02-05 Centre National D'etudes Spatiales Procede de traitement d'un systeme electronique soumis a des contraintes d'erreurs transitoires

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852092A (en) * 1986-08-18 1989-07-25 Nec Corporation Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint
JP2674764B2 (ja) 1987-10-17 1997-11-12 日本電気株式会社 冗長系切替回路網
JP2679575B2 (ja) * 1993-06-21 1997-11-19 日本電気株式会社 入出力チャネルの障害処理システム
JP2685712B2 (ja) * 1994-03-30 1997-12-03 株式会社サンポウロック ハンドルロック
US6105148A (en) * 1995-06-16 2000-08-15 Lucent Technologies Inc. Persistent state checkpoint and restoration systems
JP3258228B2 (ja) * 1996-03-15 2002-02-18 株式会社東芝 チェックポイント生成方法
US6625756B1 (en) * 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6366980B1 (en) * 1999-06-04 2002-04-02 Seagate Technology Llc Disc drive for achieving improved audio and visual data transfer
US6584581B1 (en) * 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
US7412520B2 (en) * 2001-06-07 2008-08-12 Intel Corporation Systems and methods for recoverable workflow
US20030088807A1 (en) * 2001-11-07 2003-05-08 Mathiske Bernd J.W. Method and apparatus for facilitating checkpointing of an application through an interceptor library
CA2365427A1 (en) * 2001-12-19 2003-06-19 Ibm Canada Limited-Ibm Canada Limitee Internal product fault monitoring apparatus and method
US7206964B2 (en) * 2002-08-30 2007-04-17 Availigent, Inc. Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication
US7543001B2 (en) * 2004-06-17 2009-06-02 International Business Machines Corporation Storing object recovery information within the object
US7634687B2 (en) * 2005-01-13 2009-12-15 Microsoft Corporation Checkpoint restart system and method
US7516361B2 (en) * 2005-06-27 2009-04-07 Sun Microsystems, Inc. Method for automatic checkpoint of system and application software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334139B1 (en) * 1997-06-12 2001-12-25 Mitsubishi Denki Kabushiki Kaisha Agent system
EP1121642B1 (fr) * 1998-10-12 2003-02-05 Centre National D'etudes Spatiales Procede de traitement d'un systeme electronique soumis a des contraintes d'erreurs transitoires
EP1164590A2 (en) * 2000-06-14 2001-12-19 Sony Corporation Information playback apparatus, information processing method and information recording medium
CN1336588A (zh) * 2000-08-02 2002-02-20 国际商业机器公司 用动态可重构测试电路来跟踪硬件状态的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
同上.

Also Published As

Publication number Publication date
DE102004037713A1 (de) 2006-03-16
JP2008508626A (ja) 2008-03-21
US20090217090A1 (en) 2009-08-27
RU2431182C2 (ru) 2011-10-10
RU2007106437A (ru) 2008-09-10
WO2006015945A3 (de) 2006-06-08
US7890800B2 (en) 2011-02-15
JP4728334B2 (ja) 2011-07-20
EP1854007A2 (de) 2007-11-14
WO2006015945A2 (de) 2006-02-16
CN1993679A (zh) 2007-07-04
BRPI0513229A (pt) 2008-04-29

Similar Documents

Publication Publication Date Title
CN1993679B (zh) 执行计算机程序的方法、操作***和计算设备
JP5199088B2 (ja) 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置
US7669078B2 (en) Method and apparatus for debugging a program on a limited resource processor
CN100549946C (zh) 用于执行数据处理操作的装置和方法
CN102063286B (zh) 程序流控制
CN112015599B (zh) 错误恢复的方法和装置
JP5244981B2 (ja) マイクロコンピュータ及びその動作方法
CN101313281A (zh) 用于在包括至少两个具有寄存器的执行单元的***中消除错误的装置和方法
CN100538644C (zh) 执行计算机程序的方法、计算设备
CN102640119B (zh) 用于运行计算单元的方法
CN101763305A (zh) 一种嵌入式***内存泄露的检测方法
US20080133975A1 (en) Method for Running a Computer Program on a Computer System
CN100511165C (zh) 执行计算机程序的方法、操作***以及计算设备
CN106933727B (zh) 处理器中断机制的验证方法及验证装置
CN115756935A (zh) 嵌入式软件***的异常故障定位方法、装置及设备
KR20010056021A (ko) 로직 진단 방법
US10514970B2 (en) Method of ensuring operation of calculator
JP2012248022A (ja) 情報処理装置、故障検出装置、故障検出方法
CN117930797A (zh) 电子控制单元中刷写操作的执行方法、处理器和车辆
CN117149511A (zh) 一种增强抗eft能力的flash控制器及其控制方法
CN117873797A (zh) 数字电路芯片故障确认方法及相关装置
CN115080144A (zh) 一种芯片启动装置及方法
CN112231710A (zh) Qnx bsp启动验证方法及启动验证模块
JPS63263543A (ja) マルチレベルプログラミング方式
JPS63265337A (ja) プロセツサ装置の障害検出回路

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: 20100526

Termination date: 20170725

CF01 Termination of patent right due to non-payment of annual fee