DE102004047363A1 - Processor or method for operating a processor and / or operating system in the event of a fault - Google Patents

Processor or method for operating a processor and / or operating system in the event of a fault Download PDF

Info

Publication number
DE102004047363A1
DE102004047363A1 DE200410047363 DE102004047363A DE102004047363A1 DE 102004047363 A1 DE102004047363 A1 DE 102004047363A1 DE 200410047363 DE200410047363 DE 200410047363 DE 102004047363 A DE102004047363 A DE 102004047363A DE 102004047363 A1 DE102004047363 A1 DE 102004047363A1
Authority
DE
Germany
Prior art keywords
mode
processor
repair
fault
execution
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.)
Withdrawn
Application number
DE200410047363
Other languages
German (de)
Inventor
Calinel Pasteanu
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE200410047363 priority Critical patent/DE102004047363A1/en
Priority to PCT/EP2005/054199 priority patent/WO2006034932A2/en
Publication of DE102004047363A1 publication Critical patent/DE102004047363A1/en
Withdrawn legal-status Critical Current

Links

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/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/0736Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • 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/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

Abstract

Die Erfindung bezieht sich auf ein Verfahren zum Betreiben eines Prozessors (CPU) und/oder Betriebssystems (OS), bei dem der Prozessor (CPU) in einem Ausführungsmodus (N) für einen normalen Betriebsablauf betrieben wird, wobei im Fall einer Störung in einen Reparaturmodus (R) zur Beseitigung der Störung umgeschaltet wird (f1, f3), wobei der normale Betriebsablauf im Ausführungsmodus (N) nach Beseitigung der Störung fortgesetzt wird (f7, f8).The invention relates to a method for operating a processor (CPU) and / or operating system (OS), in which the processor (CPU) is operated in an execution mode (N) for a normal operation, wherein in the event of a failure in a repair mode (R) is switched to eliminate the disturbance (f1, f3), and the normal operation in the execution mode (N) is continued after eliminating the disturbance (f7, f8).

Description

Die Erfindung bezieht sich auf ein Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems mit den oberbegrifflichen Merkmalen des Patentanspruchs 1 bzw. auf einen Prozessor mit den oberbegrifflichen Merkmalen des Patentanspruchs 10.The The invention relates to a method of operating a processor and / or operating system with the preamble features of the claim 1 or to a processor with the above-mentioned features of Patent claim 10.

Ein Prozessor in einem Computer oder einem modernen mobilen Gerät bzw. ein entsprechendes Betriebssystem werden in einem Ausführungsmodus für einen normalen Betriebsablauf betrieben. Eine momentane Programm-Fehlfunktion bewirkt oftmals eine Unterbrechung der Ausführung und einen Absturz der Laufzeitumgebung. Falls die Laufzeitumgebung in einem Überwachungsmodus, der auch als Kernel-Modus oder privilegierter Level 0 bekannt ist, betrieben wird, tritt die Maschine bzw. der Prozessor im Fall einer Störung in einen Störungsmodus, der auch als Panikmodus bezeichnet wird, und wird neu gestartet oder „eingefroren", was ein Ausschalten erforderlich macht, um einen kalten Neustart zu ermöglichen. Falls die Laufzeitumgebung eine Anwendung ist, welche nicht in dem Kernel-Modus betrieben wird, stürzt abhängig von dem Speichermodell und dem Ausführungsmodell des zentralen Prozessors und des Betriebssystems zumindest die gestörte bzw. fehlerhafte Anwendung ab. Im Fall eines einfachen Modells stürzt die gesamte Maschine ab, wie vorstehend beschrieben.One Processor in a computer or a modern mobile device corresponding operating system will be in an execution mode for one normal operation. A current program malfunction often causes an interruption of execution and a crash of Runtime environment. If the runtime environment is in a monitoring mode, which is also known as kernel mode or privileged level 0 when the machine or processor enters in the event of a fault a fault mode, which is also referred to as panic mode, and is restarted or "frozen", what a turn off required to allow a cold restart. If the runtime environment is an application that is not in the Kernel mode is operating crashes dependent from the storage model and the execution model of the central Processor and the operating system at least the disturbed or faulty Application. In the case of a simple model, the entire machine crashes as described above.

Bekannt ist das Speichern bzw. Retten des Ausführungskontextes im Störungsmoment, wobei der Ausführungskontext mit den gestörten Zustandsdaten in einem nicht flüchtigen Speicher speicherbar ist. Mittels externer Zugriffe durch eine Betriebsperson ist damit eine spätere Untersuchung der Störungsursache möglich.Known is the saving or saving of the execution context in the moment of disturbance, the execution context with the disturbed Condition data in a non-volatile Memory is storable. By external access by an operator is a later one Investigation of the cause of the fault possible.

Von Programmier-Entwicklungssoftware sind allgemein Entwicklungsprogramme bekannt, bei welchen ein Compiler und ein Debugger als ein einheitliches Entwicklungsprogramm zusammengeführt sind, um im Fall eines Kompilierungsfehlers oder eines nachfolgenden Laufzeitfehlers einen Absturz des kompilierten Programms zur Optimierung der Programmentwicklung zu verhindern.From Programming development software is generally development programs Known in which a compiler and a debugger as a single Development program are merged, in the case of a compile error or a subsequent runtime error a crash of the compiled program to optimize the program development to prevent.

Die Aufgabe der Erfindung besteht darin, einen Prozessor bzw. ein Verfahren zum Betreiben eines Prozessors im Fall einer Störung des normalen Betriebsablaufs zu verbessern.The The object of the invention is a processor or a method for operating a processor in the event of a failure in normal operation to improve.

Diese Aufgabe wird durch das Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems mit den Merkmalen des Patentanspruchs 1 bzw. durch einen Prozessor mit den Merkmalen des Patentanspruchs 10 gelöst.These Task is by the method of operating a processor and / or operating system with the features of claim 1 or solved by a processor having the features of claim 10.

Bevorzugt wird demgemäß ein Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems, bei dem der Prozessor in einem Ausführungsmodus für einen normalen Betriebsablauf betrieben wird, wobei im Fall einer Störung in einen Reparaturmodus zum Beseitigen der Störung umgeschaltet wird, wobei der normale Betriebsablauf im Ausführungsmodus nach Beseitigung der Störung fortgesetzt wird.Prefers Accordingly, a method for Operating a processor and / or operating system in which the Processor in an execution mode for one normal operation is operated, in case of failure in a repair mode is switched to eliminate the disturbance, wherein normal operation in execution mode after elimination the fault continues becomes.

Vorrichtungsgemäß ist bevorzugt ein Prozessor mit einer Schnittstelle für einen Betriebssystemzugriff in einem Ausführungsmodus zum Ausführen eines normalen Betriebsablaufs. Vorteilhaft wird der Prozessor durch diese oder eine weitere Schnittstelle für einen Betriebssystemzugriff in einem Reparaturmodus zum Ausführen im Fall einer Störung zum Beseitigen der Störung zur nachfolgenden Fortsetzung des Betriebsablaufs im Ausführungsmodus.Device is preferred a processor with an interface for operating system access in an execution mode to run a normal operation. Advantageously, the processor is through this or another interface for operating system access in a repair mode for execution in case of a fault to eliminate the error for the subsequent continuation of the operation in the execution mode.

Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Ansprüchen.advantageous Embodiments are the subject of dependent claims.

Bevorzugt wird insbesondere ein Verfahren, bei dem für den Reparaturmodus eine Laufzeitumgebung als eigenständige Betriebs-Laufzeitumgebung hochgefahren wird.Prefers in particular, a method in which a runtime environment for the repair mode as independent Operating runtime environment is booted up.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Fall der Störung in einen Störungsmodus umgeschaltet wird und vom Störungsmodus nach einem Retten des Ausführungskontextes in den Reparaturmodus umgeschaltet wird.Prefers in particular, a method in which in the event of disruption in switched to a fault mode will and from the fault mode after saving the execution context is switched to the repair mode.

Bevorzugt wird insbesondere ein Verfahren, bei dem vom Reparaturmodus in den Störungsmodus und von dort in den Ausführungsmodus zurückgewechselt wird.Prefers is particularly a method in which the repair mode in the failure mode and from there into execution mode changed back becomes.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Reparaturmodus eine Störungsbehebung mittels des geretteten Ausführungskontextes durchgeführt wird und die entstörten Daten als Ausführungskontext in den Prozessor und/oder ein Register zurückgespeichert werden.Prefers In particular, a method in which a Troubleshooting by means of the rescued execution context carried out will and the suppressed Data as execution context be restored to the processor and / or a register.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Reparaturmodus ein fehlerhafter Wert oder Zustand im Prozessor und/oder in einem Register korrigiert wird, so dass eine Fortführung des Ausführungsmodus ermöglicht wird.Prefers In particular, a method in which a defective in the repair mode Value or state corrected in the processor and / or in a register will, so a continuation of the execution mode allows becomes.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Reparaturmodus ein fehlerhafter Wert oder Zustand im Prozessor und/oder in einem Register mit einem Wert bzw. Zustand überschrieben wird, der eine Fortführung des Ausführungsmodus ermöglicht.In particular, a method is preferred in which, in the repair mode, an erroneous value or state in the processor and / or in a register is overwritten with a value or state, which allows a continuation of the execution mode.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Reparaturmodus zur Störungsbeseitigung ein Reparaturalgorithmus abhängig von einer ermittelten Störungsursache gestartet wird.Prefers in particular, a method in which in the repair mode for troubleshooting a repair algorithm dependent from a determined cause of the fault is started.

Bevorzugt wird insbesondere ein Verfahren, bei dem im Ausführungsmodus der Betrieb wahlweise vor oder nach dem Betriebszustand des Störungszustands fortgesetzt wird.Prefers In particular, a method in which in the execution mode, the operation is optional is continued before or after the operating state of the fault condition.

Bevorzugt wird insbesondere ein Prozessor mit einer Schnittstelle zu zumindest einem Betriebskontext- bzw. Betriebszustands-Speicher zum Speichern eines momentanen Störungs-Betriebszustands des gestörten Betriebsablaufs und zum Rückspeichern eines ungestörten normalen Betriebszustands nach einer Störungsbehebung durch den Reparaturmodus.Prefers In particular, a processor with an interface to at least an operating state memory for storing a current fault operating state of the disturbed Operating sequence and for restoring an undisturbed normal operating state after a fault repair by the repair mode.

Bevorzugt wird insbesondere ein Prozessor mit einem Reparaturdatenbankspeicher zum Speichern verschiedener Reparatur-Algorithmen für verschiedene Fehlertypen.Prefers in particular, a processor with a repair database memory for storing various repair algorithms for different types of errors.

Bevorzugt werden insbesondere ein solches Verfahren und/oder ein solcher Prozessor, wenn die Störung eine Störung ist, welche bei normaler Ablauffortsetzung zu einem Absturz der Laufzeitumgebung, zu einem Absturz der des Prozessors oder zu einem Absturz der des gesamten Systems führen würde oder einen kalten Neustart erforderlich machen würde.Prefers In particular, such a method and / or such a processor, if the disorder a disorder which is a normal continuation of a crash of the Runtime environment, crash the processor, or crash that of the entire system would or would require a cold restart.

Bevorzugt wird insbesondere ein Mobilfunkgerät zum Durchführen eines solchen Verfahrens und/oder mit einem solchen Prozessor. Ein Einsatz des Verfahrens bzw. des Prozessors ist auch in anderen Einsatzgebieten vorteilhaft. Neben dem Einsatz in herkömmlichen Computern bietet sich insbesondere auch ein Einsatz in mobilen Geräten wie mobilen Computern, PDAs etc. an, welche über einen externen Schnittstellenanschluss mit anderen Einrichtungen kommunizieren. Mit Blick auf eine Online-Anwendung wird der Benutzer in die Lage versetzt, mit dem Reparaturalgorithmus bzw. Reparaturmodus zu reagieren und zu interagieren. Letztendlich entscheidend für den Einsatz des Verfahrens bzw. des Prozessors ist auch, wie pflege- und wartungsbedürftig die entsprechende Einrichtung ist und welche Vorteile im Einzelfall erzielbar sind.Prefers In particular, a mobile device for performing a such method and / or with such a processor. A use of the Process or the processor is also in other applications advantageous. In addition to the use in conventional computers offers itself especially in mobile devices like mobile computers, PDAs etc., which over an external interface connection with other devices communicate. Looking at an online application becomes the user enabled with the repair algorithm or repair mode to react and interact. Ultimately, crucial for use the process or the processor is also how to maintain and maintain the appropriate device is and what advantages in an individual case can be achieved.

Verfahrensgemäß und vorrichtungsgemäß wird somit eine Lösung bevorzugt, welche einen Mechanismus bietet, der nach einer insbesondere schwerwiegenden Programmfehlfunktion, welche erfasst wurde, aktiv wird und eine Fehlerkorrektur vor einem Absturz des gesamten Systems oder des Prozessors mit dem Betriebssystem ermöglicht. Es handelt sich um einen Reparaturmechanismus, welcher eine insbesondere minimale Ausführungsumgebung als eine Reparaturumgebung hochfährt oder aktiviert, falls die Reparaturumgebung bereits zu einem früheren Zeitpunkt hochgefahren wurde.According to the method and device thus becomes a solution preferred, which provides a mechanism that after a particularly serious Program malfunction, which was detected becomes active and a Error correction before a crash of the entire system or the Processor with the operating system allows. It is a matter of a repair mechanism, which is a particularly minimal execution environment as a repair environment starts up or activated, if the repair environment already at an earlier time was raised.

Nach der Aktivierung bildet die Reparaturumgebung den Fehlfunktionstyp bzw. einen Fehlercode auf einen entsprechenden Reparaturalgorithmus in einer Reparaturalgorithmusdatenbank ab, führt den Reparaturalgorithmus aus und bewirkt eine Fortführung des normalen Betriebsablaufs im Ausführungsmodus nach der Störungsbeseitigung. Sofern die Störungsbeseitigung mit Hilfe eines gespeicherten bzw. geretteten Ausführungskontextes von Prozessorinhalten und Prozessorregistern etc. durchgeführt wird, werden der Ausführungskontext bzw. die entsprechenden Daten nach der Störungsbeseitigung wieder in den Prozessor bzw. die entsprechenden Register etc. zurückgeladen. Ein ansonsten zwangsläufig nach Aktivierung des Störungs- bzw. Panikmodus erfolgender Absturz oder kalter Neustart kann dadurch vermieden werden. Nach dem Verlassen des Reparaturmodus kann die Ausführung des Betriebsablaufs in dem zuvor defekten Programm wieder in dem Programmabschnitt aufgenommen werden, wo die Fehlfunktion bzw. Störung ansonsten den Absturz verursacht hätte.To In activation the repair environment forms a malfunction type or an error code to a corresponding repair algorithm in a repair algorithm database, performs the repair algorithm and causes a continuation the normal operation in the execution mode after the trouble shooting. Unless the troubleshooting using a stored or saved execution context processor contents and processor registers, etc., become the execution context or the corresponding data after the fault elimination again in the processor or the corresponding registers, etc. reloaded. An otherwise inevitable after activation of the fault or panic mode A crash or a cold restart can be avoided become. After leaving the repair mode, the execution of the Operation in the previously defective program again included in the program section where the malfunction or disruption otherwise crashes would have caused.

Die derartigen Reparaturalgorithmen können sehr verschiedenartig sein. In einem einfachen Fall kann eine Textnachricht zum Informieren des Benutzers ausgegeben werden, bevor der Absturz auftritt, um Umgehungsmöglichkeiten zur Vermeidung des Absturzes vorzuschlagen. Aufwändigere Reparaturalgorithmen können vorteilhafterweise das Programm an der Fehlerstel le korrigieren und die Ausführung des normalen Betriebsablaufs dieses Programms ohne einen Absturz Wiederaufnehmen.The Such repair algorithms can be very diverse be. In a simple case, a text message can be used to inform user's output before the crash occurs workarounds to propose to avoid the crash. More elaborate repair algorithms can advantageously, correct the program at the error location and the execution the normal operation of this program without a crash Resume.

Beschrieben wird somit ein Mechanismus, welcher eine Umgehung von Softwaredefekten ermöglicht und die Verfügbarkeit der Maschine bzw. des Gerätes mit dem entsprechenden Verfahren bzw. Prozessor verbessert. Insbesondere mobile Einrichtungen sollten nicht abstürzen und eine bestmögliche Verfügbarkeit bieten. Da es jedoch üblicherweise keine perfekte Software gibt und Fehler, welche zu einem Absturz führen, auftreten, ist der Einsatz solcher Mechanismen von Vorteil.described thus becomes a mechanism which bypasses software defects allows and availability the machine or the device improved with the appropriate method or processor. Especially Mobile facilities should not crash and have the best possible availability Offer. As usual, however There is no perfect software and errors leading to a crash to lead, occur, the use of such mechanisms is advantageous.

Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnung näher erläutert. Es zeigen:One embodiment will be explained in more detail with reference to the drawing. Show it:

1 schematisch einzelne Komponenten in Verbindung mit Laufzeitumgebungen eines Prozessors; und 1 schematically individual components in connection with runtime environments of a processor; and

2 schematisch einen Verfahrensablauf zur Veranschaulichung eines beispielhaften Reparaturvorgangs zum Beseitigen einer Störung. 2 schematically a process flow to illustrate an exemplary repair process to eliminate a fault.

1 skizziert beispielhaft einen Prozessor CPU mit drei symbolischen Prozessorabschnitten zum Symbolisieren verschiedener Betriebsabläufe. Bei den Betriebsabläufen handelt es sich um einen Ausführungsmodus N zum Ausführen eines normalen Betriebsablaufs und um einen Panik- bzw. Störungsmodus P zum Speichern bzw. Retten von Prozessorzuständen und Registerzuständen im Fall einer Störung, welche bei Ablauffortführung einen Absturz des Ausführungsmodus, des Prozessors oder gar des Gesamtsystems verursachen würde. Ausführungsmodus N und Störungsmodus P funktionieren in für sich bekannter Art und Weise in einem solchen Prozessor CPU bzw. unter einem entsprechenden Betriebssystem OS. 1 exemplifies a processor CPU with three symbolic processor sections for symbolizing various operations. The operations are an execution mode N for executing a normal operation and a panic mode P for saving processor states and register states in the event of a failure which, when the operation progresses, crashes the execution mode, the processor or even of the overall system. Execution mode N and disturbance mode P work in a manner known per se in such a processor CPU or under a corresponding operating system OS.

Außerdem vorgesehen ist zusätzlich ein Reparaturmodus R. Dieser dient zum Reparieren bzw. zum Beseitigen einer Störung bzw. eines Fehlers, welcher ansonsten zu einem Absturz des Systems führen würde. Dem Reparaturmodus R ist dabei zweckmäßigerweise eine eigene Laufzeitumgebung zugeordnet, welche als eigenständige Betriebs-Laufzeitumgebung hochgefahren wird. Das Hochfahren kann dabei beispielsweise mit dem Starten des Gerätes, in welchem der Prozessor CPU eingesetzt wird, erfolgen. Das Hochfahren des Reparaturmodus R kann aber vorteilhaft gegebenenfalls auch erst beim Starten eines kritischen Programms, eines Updates oder nach dem Aktivieren des Störungsmodus P durchgeführt werden.Also provided is additional a repair mode R. This is for repairing or removing a fault or an error that would otherwise cause the system to crash. the Repair mode R is expediently assigned a separate runtime environment, which as independent Operating runtime environment is booted up. The boot up can in this case, for example, with the starting of the device in which the processor CPU is used, done. Booting up the repair mode R may, however, advantageously also only when starting a critical program, an update, or after activating the failure mode P performed become.

Dem Reparaturmodus R ist vorzugsweise in einem Speicher M eine Reparaturdatenbank RDB zugeordnet, in welcher verschiedene Reparaturalgorithmen Alg1, Alg2 gespeichert sind, auf welche der Reparaturmodus R je nach ermittelter Fehlerursache bzw. Störungsursache zum Einleiten geeigneter Maßnahmen zur Verhinderung eines Absturzes zugreifen kann.the Repair mode R is preferably in a memory M, a repair database RDB, in which various repair algorithms Alg1, Alg2 are stored, on which the repair mode R depending on the determined Cause of error or cause of fault to initiate appropriate measures can help prevent a crash.

In üblicher Art und Weise umfasst der Prozessor CPU Register, insbesondere Prozessorregister MC, in welchen für den normalen Betriebsablauf benötigte Daten hinterlegt werden. Über einen Bus B ist auch eine Verbindung zu einem externen Speicher M gegeben. In dem externen Speicher M oder gegebenenfalls auch einem im Prozessor CPU integrierten Speicher sind Speicherbereiche zum Speichern des Betriebssystems OS, der Reparaturdatenbank RDB sowie ein Ausführungskontextspeicher S zum Speichern eines Ausführungskontextes ps im Moment einer Störung oder zuvor bereitgestellt.In usual In one way, the processor comprises CPU registers, in particular processor registers MC, in which for needed the normal operation Data will be deposited. about a bus B is also a connection to an external memory M given. In the external memory M or possibly also a Memory integrated in the processor CPU are memory areas for Saving the operating system OS, the repair database RDB as well an execution context memory S for storing an execution context ps at the moment of a fault or previously provided.

Zu Betriebsbeginn wird das Betriebssystem OS in den Prozessor CPU geladen, um diesen im Ausführungsmodus N zu betreiben. Im Fall einer Störung, insbesondere einer Störung, welche zu einem Absturz führen würde, wird der Ausführungsmodus N unterbrochen und in den Störungsmodus P umgeschaltet f1. Im Störungsmodus P wird der Ausführungskontext ps in einem nachfolgenden Schritt f2, soweit möglich, gerettet bzw. im Ausführungskontextspeicher S gespeichert. Nachfolgend wird in den Reparaturmodus R umgeschaltet f3, um die Störung, soweit möglich, zu beseitigen. Im Reparaturmodus R wird die eigenständige Betriebs-Laufzeitumgebung hochgefahren, sofern sie nicht bereits zu einem früheren Zeitpunkt hochgefahren wurde. Außerdem wird ein Reparaturalgorithmus gestartet. Vorzugsweise wird abhängig von einem erkannten bzw. ermittelten Fehler bzw. der Störungsursache aus der Reparaturdatenbank RDB ein geeigneter Reparaturalgorithmus Alg1, Alg2 geladen und in der Betriebs-Laufzeitumgebung des Reparaturmodus R ausgeführt. Dadurch kann die Störung direkt im Prozessor bzw. in Prozessorregistern MC etc. oder in dem Abbild des gestörten Ausführungskontextes ps im Ausführungskontextspeicher S bearbeitet werden f5. Nachfolgend wird vorzugsweise unter Zwischenschaltung des Störungsmodus P in den Ausführungsmodus N zurückgeschritten f7, f8. Im Ausführungsmodus N kann dann der normale Betriebsablauf fortgesetzt werden, ohne dass es zum Absturz kommt.To Start of operation, the operating system OS is loaded into the processor CPU, around this in execution mode N to operate. In case of a fault, especially a fault, which lead to a crash would, becomes the execution mode N interrupted and in the fault mode P switched f1. In fault mode P becomes the execution context ps in a subsequent step f2, as far as possible, saved or in the execution context memory S stored. Subsequently, in the repair mode R is switched f3 to the fault, as far as possible, to eliminate. In repair mode R, the stand-alone operating runtime environment is booted, unless they have already started up earlier has been. In addition, will a repair algorithm started. Preferably depends on a detected or determined error or the cause of the fault from repair database RDB a suitable repair algorithm Alg1, Alg2 loaded and in the operating runtime environment of the repair mode R executed. Thereby can the disorder directly in the processor or processor registers MC etc. or in the Image of the disturbed execution context ps in the execution context memory S are processed f5. The following is preferably with interposition of the fault mode P in the execution mode N backwards f7, f8. In execution mode N can then continue the normal operation, without that it crashes.

2 veranschaulicht einen beispielhaften Ablauf eines Verfahrens im Bereich des Ausführungsmodus N, des Störungsmodus P und des Reparaturmodus R im Fall einer Störung des normalen Betriebsablaufs. Dargestellt ist insbesondere die Beziehung zwischen einem Reparaturmanager, der im Reparaturmodus R in der entsprechenden Mini-Laufzeitumgebung des Reparaturmodus R läuft, wobei der Reparaturmodus von dem Panikkontext bzw. Störungsmodus P gestartet wird, in welchen im Fall einer Fehlfunktion aus dem Ausführungsmodus N eingetreten wird. Dargestellt sind auch beispielhafte Hauptaufgaben in jedem der Modi und die Ausführung eines Reparaturalgorithmus im Reparatur- und Ausführungsmodus R, N. In einer beispielhaften Anwendung für kommerzielle Zwecke soll der beispielhafte nachfolgende Code ausgeführt werden:
„Falls "Kartenkonto" = 0;
dann starte „leer"
sonst starte „kaufe"
fi".
2 FIG. 12 illustrates an example flow of a method in the area of the execution mode N, the failure mode P, and the repair mode R in the case of a failure of the normal operation. Shown in particular is the relationship between a repair manager running in the repair mode R in the corresponding mini-runtime environment of the repair mode R, the repair mode being started from the panic context P in which N is entered in the event of a malfunction from the execution mode. Also shown are exemplary major tasks in each of the modes and the execution of a repair algorithm in repair and execution mode R, N. In an exemplary application for commercial purposes, the exemplary code below is to be implemented:
"If" card account "= 0;
then start "empty"
otherwise start "buy"
fi ".

Vorgesehen ist somit eine Routine, welche im Fall eines leeren Kartenkontos entweder eine Routine „leer" oder eine Routine „kaufe" startet. Falls die Routine „leer" beispielsweise keinen korrekten Zeiger auf einen geeigneten Speicherbereich aufweist, führt dies zu einem Absturz. Anstelle des abrupten Beendigens der Anwendung wird jedoch der Reparaturmanager R in seinem Minikontext gestartet, wobei dieser den Fehlercode abruft und damit die Reparaturalgorithmustabelle oder Reparaturdatenbank indiziert, um einen entsprechenden Reparaturalgorithmus Alg1 zu laden und auszuführen.Thus, a routine is provided which, in the case of an empty card account, starts either an "empty" routine or a "buy" routine. For example, if the routine "empty" does not have a correct pointer to a suitable memory area, it will crash, but instead of abruptly terminating the application, the repair manager R will be started in its minicontext, retrieving the error code and thus retrieving the error code Repair algorithm table or repair database indexed to load and execute a corresponding repair algorithm Alg1.

Für den Fall, dass der Reparaturalgorithmus Alg1 feststellt, dass der fehlerhafte Zeiger die Ursache für die Fehlfunktion bzw. Störung war, können verschiedene Aktionen durchgeführt werden.In the case, that the repair algorithm Alg1 determines that the faulty Pointer the cause for the malfunction or malfunction could be different Actions performed become.

Gemäß einer ersten Variante kann der Benutzer des entsprechenden Gerätes mit dem Prozessor informiert werden, beispielsweise informiert werden, dass sein Kartenkonto leer ist, der Benutzer die Karte aufladen soll und dann den letzten Vorgang erneut versuchen soll. Nach Ausgabe der Information wird von dem Reparaturalgorithmus dann ein Sprung zum Ende fi des eigentlichen Algorithmus vorgenommen, so dass eine Fortsetzung im Ausführungsmodus N ohne einen Absturz ermöglicht wird f7b. Vorteilhafterweise kann auch ein Fehlerreport aufgezeichnet und gegebenenfalls zu z.B. dem Hersteller des Gerätes oder dem Ausgeber der Kontenkarte übersendet werden. Um dieses Ausführungsbeispiel zu unterstützen, sollte die Erklärung der Funktion in Verbindung mit einem Absturztexthinweis erstellt werden, welcher durch den Reparaturmanager bzw. durch den Reparaturmodus R verwendet wird.According to one first variant, the user of the corresponding device with be informed to the processor, for example, to be informed that his card account is empty, the user charge the card should and then try the last operation again. After issue The information then becomes a jump to the repair algorithm End fi made the actual algorithm, making a sequel in execution mode N without a crash allows becomes f7b. Advantageously, an error report can also be recorded and optionally to e.g. the manufacturer of the device or sent to the issuer of the account card become. To this embodiment too support, should the explanation the function will be created in conjunction with a crash text hint, which by the repair manager or by the repair mode R is used.

Gemäß einer zweiten Variante könnte ein an den Benutzer ausgegebener Text den Benutzer auch lediglich über das inkorrekt funktionierende Programm informieren und dann zu dem Ende der Anwendung bzw. zum Programmende fi springen, ohne zu einem Absturz zu führen. Dazu werden gegebenenfalls falsche Registereinträge oder Prozessoreinträge durch den Reparaturalgorithmus Alg1 vor dem Fortsetzen des Ausführungsmodus N korrigiert.According to one second variant could a text issued to the user also merely informs the user about that inform incorrectly working program and then to the end the application or at the end of the program without jumping respectively. This may be due to incorrect registry entries or processor entries the repair algorithm Alg1 before continuing the execution mode N corrected.

Gemäß einer dritten beispielhaften Variante kann durch den Reparaturalgorithmus Alg2 der fehlerhafte Code des gestörten Programms repariert werden, beispielsweise durch Austauschen des fehlerhaften Zeigers durch die korrekte Adresse der Funktion bzw. Routine „leer". Diese korrekte Adresse kann beispielsweise aufgrund eines automatischen Lernens aus zuvor korrekten Ausführungen des Programms bekannt sein. Nachfolgend ist dann eine Fortsetzung an der Stelle möglich, an der der Fehler bzw. die Störung auftrat. Das heißt, der Betriebsablauf im Ausführungsmodus N wird an der Störungsstelle mit einem korrekten Wert fortgesetzt f7a.According to one third exemplary variant can by the repair algorithm Alg2 the faulty code of the faulty program will be repaired, for example, by replacing the faulty pointer by the correct address of the function or routine "empty." This correct address can be, for example due to automatic learning from previously correct executions of the program. Below is a sequel possible at the point at which the error or the fault occurred. This means, the operation in execution mode N will be at the incident continued with a correct value f7a.

Gemäß 2 wird somit beispielhaft von einem Programmablauf im Ausführungsmodus N und einer Störung des Programmablaufs ausgegangen. Es wird in den Störungsmodus P gewechselt f1, durch welchen der Ausführungskontext ns gespeichert und gegebenenfalls die Crashstelle komplett gerettet bzw. gespeichert wird. Es folgt das Starten der Reparaturroutine f3, wobei vorzugsweise ein Fehlertyp mit an den nachfolgenden Reparaturmodus R übergeben wird. Im Reparaturmodus R wird ein geeigneter Reparaturalgorithmus Alg1 aufgerufen, ausgeführt und nach Reparatur ein geeigneter Ausführungskontext ns zurückgespeichert. Danach wird vom Reparaturmodus R in den Störungsmodus P zurückgeschritten f6. Vom Störungsmodus P oder gegebenenfalls auch direkt vom Reparaturmodus R wird der Ausführungskontext wieder gestartet und in den Ausführungsmodus N zurückgeschritten f7. Die Fortsetzung des fehlerhaften Programms im Ausführungsmodus N ist je nach Art der Reparatur an der fehlerhaften und korrigierten Stelle des Programmalgorithmus möglich f7a oder am Ende fi des fehlerhaften Programms fortgesetzt f7b.According to 2 Thus, for example, a program flow in execution mode N and a malfunction of the program sequence are assumed. It is changed to the fault mode P f1, by which the execution context stored ns and possibly the crash site is completely saved or stored. It follows the start of the repair routine f3, wherein preferably an error type with the subsequent repair mode R is passed. In the repair mode R, a suitable repair algorithm Alg1 is called, executed and, after repair, a suitable execution context ns is stored back. Thereafter, the repair mode R is returned to the trouble mode P f6. From fault mode P or possibly also directly from repair mode R, the execution context is restarted and the execution mode N is advanced f7. The continuation of the erroneous program in execution mode N is possible f7a or f7b at the end fi of the faulty program, depending on the nature of the repair at the faulty and corrected location of the program algorithm.

Claims (14)

Verfahren zum Betreiben eines Prozessors (CPU) und/oder Betriebssystems (OS), bei dem der Prozessor (CPU) in einem Ausführungsmodus (N) für einen normalen Betriebsablauf betrieben wird, dadurch gekennzeichnet, dass im Fall einer Störung in einen Reparaturmodus (R) zum Beseitigen der Störung umgeschaltet wird (f1, f3), wobei der normale Betriebsablauf im Ausführungsmodus (N) nach Beseitigung der Störung fortgesetzt wird (f7, f8).Method for operating a processor (CPU) and / or operating system (OS), in which the processor (CPU) is operated in an execution mode (N) for a normal operating sequence, characterized in that in the event of a failure in a repair mode (R) is switched to eliminate the fault (f1, f3), wherein the normal operation in the execution mode (N) after the elimination of the fault is continued (f7, f8). Verfahren nach Anspruch 1, bei dem für den Reparaturmodus (R) eine Laufzeitumgebung als eigenständige Betriebs-Laufzeitumgebung hochgefahren wird.The method of claim 1, wherein for the repair mode (R) a runtime environment as a standalone operating runtime environment is raised. Verfahren nach Anspruch 1 oder 2, bei dem im Fall der Störung in einen Störungsmodus (P) umgeschaltet wird (f1) und vom Störungsmodus (P) nach einem Retten des Ausführungskontextes (ps, f2) in den Reparaturmodus (R) umgeschaltet wird (f3).Method according to Claim 1 or 2, in which case the disorder in a fault mode (P) is switched (f1) and the fault mode (P) after a rescue the execution context (ps, f2) is switched to the repair mode (R) (f3). Verfahren nach einem vorstehenden Anspruch, bei dem vom Reparaturmodus (R) in den Störungsmodus (P) und von dort in den Ausführungsmodus (N) zurückgewechselt wird (f6, f7).Method according to any preceding claim, in which from repair mode (R) to fault mode (P) and from there into the execution mode (N) changed back becomes (f6, f7). Verfahren nach Anspruch 3 oder 4, bei dem im Reparaturmodus (R) eine Störungsbehebung mittels des geretteten Ausführungskontextes (ps) durchgeführt wird (f4) und die entstörten Daten als Ausführungskontext (ns) in den Prozessor (CPU) und/oder ein Register (MC) zurückgespeichert werden (f6*).Method according to claim 3 or 4, wherein in the repair mode (R) a troubleshooting by means of the rescued execution context (ps) performed becomes (f4) and the suppressed Data as execution context (ns) in the processor (CPU) and / or a register (MC) restored become (f6 *). Verfahren nach einem vorstehenden Anspruch, bei dem im Reparaturmodus (R) ein fehlerhafter Wert oder Zustand im Prozessor (CPU) und/oder in einem Register (MC) korrigiert wird (f5), so dass eine Fortführung des Ausführungsmodus ermöglicht wird (f7a, f7b).Method according to any preceding claim, in which in repair mode (R), an erroneous value or state in the processor (CPU) and / or in a register (MC) is corrected (f5), so that a continuation of the execution mode allows becomes (f7a, f7b). Verfahren nach einem vorstehenden Anspruch, bei dem im Reparaturmodus (R) ein fehlerhafter Wert oder Zustand im Prozessor (CPU) und/oder in einem Register (MC) mit einem Wert bzw. Zustand überschrieben wird (f5), der eine Fortführung des Ausführungsmodus (N) ermöglicht (f7a, f7b).Method according to any preceding claim, wherein in the repair mode (R) an error Any value or state in the processor (CPU) and / or in a register (MC) is overwritten with a value or state (f5), which allows a continuation of the execution mode (N) (f7a, f7b). Verfahren nach einem vorstehenden Anspruch, bei dem im Reparaturmodus (R) zur Störungsbeseitigung ein Reparaturalgorithmus (Alg1, Alg2) abhängig von einer ermittelten Störungsursache gestartet wird (f4).Method according to any preceding claim, in which in repair mode (R) for troubleshooting a repair algorithm (Alg1, Alg2) depending on a determined malfunction cause is started (f4). Verfahren nach einem vorstehenden Anspruch, bei dem im Ausführungsmodus (N) der Betrieb wahlweise vor (f7a) oder nach (f7b) dem Betriebszustand des Störungszustands fortgesetzt wird.Method according to any preceding claim, in which in execution mode (N) the operation optionally before (f7a) or after (f7b) the operating state of the fault condition will continue. Prozessor (CPU) mit einer Schnittstelle (B) für einen Betriebssystemzugriff in einem Ausführungsmodus (N) zum Ausführen eines normalen Betriebsablaufs, gekennzeichnet durch diese oder eine weitere Schnittstelle (B) für einen Betriebssystemzugriff in einem Reparaturmodus (R) zum Ausführen im Fall einer Störung zum Beseitigen der Störung zur nachfolgenden Fortsetzung (f7) des Betriebsablaufs im Ausführungsmodus (N).Processor (CPU) with an interface (B) for a Operating system access in an execution mode (N) to execute a normal operation, characterized by this or another Interface (B) for an operating system access in a repair mode (R) to execute in case a fault to eliminate the error for the subsequent continuation (f7) of the operation in the execution mode (N). Prozessor nach Anspruch 10 mit einer Schnittstelle (B) zu zumindest einem Betriebszustands-Speicher (M, F) zum Speichern eines momentanen Störungs-Betriebszustands (ps) des gestörten Betriebsablaufs und zum Rückspeichern (f6*) eines ungestörten normalen Betriebszustands (ns) nach einer Störungsbehebung (f4) durch den Reparaturmodus (R).Processor according to claim 10 with an interface (B) to at least one operating state memory (M, F) for storing a current fault operating state (ps) of the disturbed Operating sequence and for restoring (f6 *) of an undisturbed normal operating state (ns) after a fault correction (f4) by the Repair mode (R). Prozessor nach Anspruch 10 oder 11 mit einem Reparaturdatenbankspeicher (RDB) zum Speichern verschiedener Reparatur-Algorithmen (Alg1, Alg2) für verschiedene Fehlertypen.Processor according to claim 10 or 11 with a repair database memory (RDB) for storing various repair algorithms (Alg1, Alg2) for various Error types. Verfahren nach einem der Ansprüche 1 – 9 und/oder Prozessor nach einem der Ansprüche 10 – 12, wobei die Störung eine Störung ist, welche bei normaler Ablauffortsetzung zu einem Absturz der Laufzeitumgebung, zu einem Absturz der des Prozessors oder zu einem Absturz der des gesamten Systems führen würde oder einen kalten Neustart erforderlich machen würde.Method according to one of claims 1 - 9 and / or processor according to one of the claims 10 - 12, being the disorder a disorder which is a normal runtime crash that crashes the runtime environment, a crash of the processor or a crash of the lead the entire system would or would require a cold restart. Mobilfunkgerät zum Durchführen eines Verfahrens nach einem der Ansprüche 1 – 9 und/oder mit einem Prozessor (CPU) nach einem der Ansprüche 10 – 12.mobile device to perform A method according to any one of claims 1-9 and / or with a processor (CPU) according to one of claims 10 - 12.
DE200410047363 2004-09-29 2004-09-29 Processor or method for operating a processor and / or operating system in the event of a fault Withdrawn DE102004047363A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200410047363 DE102004047363A1 (en) 2004-09-29 2004-09-29 Processor or method for operating a processor and / or operating system in the event of a fault
PCT/EP2005/054199 WO2006034932A2 (en) 2004-09-29 2005-08-26 Processor and method for operating a processor and/or an operating system in the event of a disturbance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410047363 DE102004047363A1 (en) 2004-09-29 2004-09-29 Processor or method for operating a processor and / or operating system in the event of a fault

Publications (1)

Publication Number Publication Date
DE102004047363A1 true DE102004047363A1 (en) 2006-03-30

Family

ID=36001177

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410047363 Withdrawn DE102004047363A1 (en) 2004-09-29 2004-09-29 Processor or method for operating a processor and / or operating system in the event of a fault

Country Status (2)

Country Link
DE (1) DE102004047363A1 (en)
WO (1) WO2006034932A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268027B (en) * 2014-09-22 2017-09-29 北京经纬恒润科技有限公司 The fault handling method and device of embedded real-time operating system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5159597A (en) * 1990-05-21 1992-10-27 International Business Machines Corporation Generic error recovery
DE19827432A1 (en) * 1997-07-25 1999-01-28 Siemens Ag Processor failure condition data storage method
EP1515234A2 (en) * 2003-05-07 2005-03-16 Microsoft Corporation Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875160A (en) * 1988-07-20 1989-10-17 Digital Equipment Corporation Method for implementing synchronous pipeline exception recovery
US5603047A (en) * 1995-10-06 1997-02-11 Lsi Logic Corporation Superscalar microprocessor architecture
US6334193B1 (en) * 1997-05-29 2001-12-25 Oracle Corporation Method and apparatus for implementing user-definable error handling processes
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
EP1237084A1 (en) * 2001-01-23 2002-09-04 Koninklijke Philips Electronics N.V. Method for reporting errors during program execution in an electronic terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5159597A (en) * 1990-05-21 1992-10-27 International Business Machines Corporation Generic error recovery
DE19827432A1 (en) * 1997-07-25 1999-01-28 Siemens Ag Processor failure condition data storage method
EP1515234A2 (en) * 2003-05-07 2005-03-16 Microsoft Corporation Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Vol.36, No.08, Aug. 1993, S.607-612 *
IBM Technical Disclosure Bulletin, Vol.36, No.08, Aug. 1993, S.607-612;

Also Published As

Publication number Publication date
WO2006034932A2 (en) 2006-04-06
WO2006034932A3 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
DE102012109614B4 (en) Procedure for recovering from stack overflow or stack underflow errors in a software application
EP1903436B1 (en) Computer system and method for updating program code
WO2006015945A2 (en) Method, operating system, and computing device for processing a computer program
DE102009020389A1 (en) System for updating firmware and methods therefor, and method for creating firmware
WO2006032617A1 (en) Method for running a computer program on a computer system
DE102005024327B4 (en) Watch-Dog in a distributed application environment
EP1810139B1 (en) Method, operating system and computing element for running a computer program
EP1358554B1 (en) Automatic startup of a cluster system after occurrence of a recoverable error
EP1812853B1 (en) Method, operating system and computing element for running a computer program
DE102004047363A1 (en) Processor or method for operating a processor and / or operating system in the event of a fault
DE19946959B4 (en) Method for loading data for basic system routines
DE102005061394A1 (en) Processor system e.g. control device, for controlling motor vehicle, has parity generator starting error handling routines in case of detection of bit errors, where routines are released to change different subsets of sets of variables
DE102005060714B4 (en) Data processing device, memory card, method of operating a data processing device and method of manufacturing a data processing device
EP1924914B1 (en) Data processing system and a method for the operation thereof
DE102020211540A1 (en) Procedure for protecting a microcontroller
DE102009000874A1 (en) Method for improving analyzability of software error in microcontroller of motor vehicle, involves providing access to conditional information, and providing conditional information for analyzing software error
WO2023232401A1 (en) Method for operating a control device of a vehicle
DE602005002485T2 (en) Device for avoiding circuit errors in the presence of errors
EP1433061A2 (en) Method for verifying the calculator core of a microprocessor or a microcontroller
DE102023004853A1 (en) Method for troubleshooting safety-relevant microcontroller-controlled applications in a motor vehicle, safety-relevant computer program product, safety-relevant microcontroller, and motor vehicle
DE102021104419A1 (en) Method of operating a microcontroller
DE102022212516A1 (en) Control device and method for a braking system
DE102019006412A1 (en) NUMERIC CONTROL
DE102006040644A1 (en) Correction procedure for a reprogrammable microprocessor
DE19927058A1 (en) Automated data file maintenance involves running independent maintenance system before starting operating system that checks data files, replaces faulty data, supplements missing data

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee