WO2006034932A2 - Prozessor bzw. verfahren zum betreiben eines prozessors und/oder betriebssystems im fall einer störung - Google Patents

Prozessor bzw. verfahren zum betreiben eines prozessors und/oder betriebssystems im fall einer störung Download PDF

Info

Publication number
WO2006034932A2
WO2006034932A2 PCT/EP2005/054199 EP2005054199W WO2006034932A2 WO 2006034932 A2 WO2006034932 A2 WO 2006034932A2 EP 2005054199 W EP2005054199 W EP 2005054199W WO 2006034932 A2 WO2006034932 A2 WO 2006034932A2
Authority
WO
WIPO (PCT)
Prior art keywords
mode
processor
repair
fault
execution
Prior art date
Application number
PCT/EP2005/054199
Other languages
English (en)
French (fr)
Other versions
WO2006034932A3 (de
Inventor
Calinel Pasteanu
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2006034932A2 publication Critical patent/WO2006034932A2/de
Publication of WO2006034932A3 publication Critical patent/WO2006034932A3/de

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

Definitions

  • the invention relates to a method of operating a processor and / or operating system with the devisbe ⁇ handle characterizing features of claim 1 and to a processor with the preamble loan features of patent claim 10.
  • a processor in a computer or modern mobile device or operating system operates in a normal mode execution mode.
  • a current program malfunction often causes an interruption of the execution and Un ⁇ a crash of Laufzeitum ⁇ kind.
  • a monitoring mode also known as kernel mode or privileged level 0
  • the machine or processor enters a fault mode, also referred to as a panic mode, and restarts or "frozen", which makes a switching required to enable ei ⁇ nen cold restart.
  • the saving or saving of the execution context in the disturbance torque is known, wherein the execution context with the disturbed state data can be stored in a non-volatile memory.
  • Programming development software are generally devel ⁇ development programs known in which a compiler and a de ⁇ bugger leads Miltonge ⁇ as a unified development program are to verhin ⁇ in the case of a compilation error or a subsequent runtime error crash of the compiled program to optimize the program development countries.
  • the object of the invention is to improve a processor or a method for operating a processor in the event of a malfunction of the normal operating procedure.
  • a method of operating a processor and / or operating system, wherein the processor is driven in an execution mode for a normal operation be ⁇ is accordingly, wherein in case of a fault in a beating ⁇ mode for eliminating the disturbance is switched, whereby the normal Operation in execution mode continues after elimination of the fault.
  • a processor with an interface for operating system access in an execution mode for executing a normal operating procedure is preferred.
  • the processor is provided by this or another interface for operating system access in a repair mode for execution in the event of a failure to eliminate the failure for subsequent operation in the execution mode.
  • a method is preferred in which, in the event of the fault, the system switches to a fault mode and is switched from the fault mode to the repair mode after the execution context has been saved.
  • a processor with a cutting ⁇ is preferred location to at least one Radio-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Field-Fi Protected Access 2 ⁇
  • a processor with a cutting ⁇ is preferred location to at least one Radio- or operating state storage for storing a current fault operating condition of the faulty operation of and to the rear ⁇ store an undisturbed normal operation state after elimination of a fault by the repair mode.
  • such a method and / or such a processor are preferred if the disturbance is a disturbance, which would normally lead to a crash of the runtime environment, to a crash of the processor or to a crash of the entire system or ei ⁇ NEN cold restart would be required.
  • a mobile radio device is to imple ⁇ ren such a method and / or cessor with such a product.
  • An application of the method or the processor is also advantageous in other applications. In addition to the use in conventional computers, it is also particularly suitable for use in mobile devices such as mobile computers, PDAs, etc., which communicate with other devices via an external interface connection. With regard to an online application, the user is enabled to react and interact with the repair algorithm or repair mode. Ultimately crucial for the use of the process or the processor is also how to maintain and maintain the appropriate facility and wel ⁇ che benefits in individual cases can be achieved.
  • the repair environment maps the Freund ⁇ function type or an error code to a corresponding repair algorithm in a repair algorithm database, executes the repair algorithm and causes a continuation ⁇ of the normal operation in the execution mode after the fault elimination.
  • the interference elimination using a saved or saved principlesskontex ⁇ tes run by processor contents and processor registers, etc. through, the execution context and the entspre ⁇ sponding data after the noise cancellation be re-cessor in the Pro ⁇ or the corresponding registers, etc. reloaded.
  • An otherwise inevitably crash or cold reboot after activation of the vasess ⁇ or panic mode can be avoided.
  • the repair algorithms of this type can be very diverse. In a simple case, a text message may be issued to inform the user before the crash occurs, to suggest ways to avoid the crash. More complex repair algorithms can advantageously save the program at the fault location. Ie correct and restart the execution of the normal operation of this program without a crash.
  • Disclosed is thus a mechanism which allows a bypass of software defects and machine availability Ma ⁇ or improve the device with the corresponding process or processor.
  • mobile devices will not crash th ⁇ and th best possible availability bie ⁇ .
  • the use of such mechanisms is an advantage.
  • Fig. 1 shows schematically individual components in connection with runtime environments of a processor
  • FIG. 2 schematically shows a method sequence for illustrating an exemplary repair process for setting a fault.
  • FIG. 1 outlines a processor CPU with three symbolic processor sections for symbolizing various operational sequences.
  • the operations are an execution mode N for executing a normal operation and a panic mode P for storing and resetting processor states and register conditions in the event of a failure, which when the operation progresses, crash the execution mode of the processor or even the entire system.
  • Execution mode N and fault mode P function in a manner known per se in such a processor CPU or under a corresponding operating system OS.
  • a repair mode R is additionally provided. This serves to repair or eliminate a fault or an error that would otherwise cause the system to crash.
  • the repair mode R is ßigerweise assigned a unique runtime environment expedient ⁇ which is raised as an independent operation runtime. The booting can be done, for example, with the Star ⁇ th of the device in which the processor CPU is used. But the start-up of the repair mode R may be advantageous if appropriate also only when starting a kri ⁇ tables program, an update or after activating the failure mode P are performed.
  • the repair mode R is preferably assigned in a memory M ei ⁇ ne repair database RDB, in which various repair algorithms Algl, Alg2 are stored, which can access the repair mode R depending on the determined cause of failure or cause failure to initiate appropriate measures to prevent Ver ⁇ crash ,
  • the processor comprises CPU registers, in particular processor registers MC, in which data required for the normal operation are stored. Via a bus B, a connection to an external memory M is also given.
  • an external memory M or possibly also a memory integrated in the processor CPU are memory areas for storing the operating system OS, the
  • Repair database RDB and an execution context memory S for storing an execution context ps at the moment of failure or previously provided.
  • the operating system OS is loaded into the processor CPU in order to operate it in execution mode N.
  • the execution mode N is interrupted ⁇ and switched to the fault mode P f1.
  • the execution context is ps in a nachfol ⁇ constricting step f2, where possible, saved or stored in Ausure ⁇ approximately context memory S.
  • the Repair mode switched R f3 to the disturbance caused mög ⁇ Lich eliminate.
  • repair mode R the stand-alone operating runtime environment is booted, provided that it has not already been booted up at an earlier time.
  • a repair algorithm is started.
  • a suitable repair algorithm Algl, Alg2 is loaded and executed in the operating runtime environment of the repair mode R.
  • the disturbance can be processed directly in the processor or in process registers MC etc. or in the image of the disturbed execution context ps in the execution context memory S f5.
  • the intermediate mode of the fault mode P is preferably used to return to the execution mode N f7, f8. In execution mode N, normal operation can then continue without causing it to crash.
  • FIG. 2 illustrates an exemplary flow of a procedure 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 the repair and execution modes R, N. In an exemplary application for commercial purposes, the exemplary code below is to be implemented:
  • routines which in the case of a lee ⁇ ren card account either a routine "empty” or Rou ⁇ tine "buy” starts.
  • 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 repairing the repair algorithm table or repair. indexed database in order to load and execute a corresponding repair algorithm Algl.
  • the user of the corre sponding device can be informed with the processor, for example be informed that his card account is empty, the user should load the card and then try the last procedure again.
  • a jump is of the repair algorithm then fi to the end of the actual algorithm made so that egg ne continuation in the execution mode, N is made possible without a crash er ⁇ F7B.
  • a Kingre ⁇ port recorded and optionally to eg the manufacturer of the device or the issuer of the account card sent ⁇ who. Which is ger by the chandeliermana ⁇ or used by the repair mode R
  • the explanation of the operation in conjunction with a text note should Absturz ⁇ created.
  • a text issued to the user could also inform the user only about the incorrectly functioning program and then jump to the end of the application or to the end of the program without becoming one Crash.
  • the repair algorithm Alg2 by the repair algorithm Alg2 the erroneous code of the faulty program to be repaired, for example, by replacing the erroneous pointer by the correct address tion or routine "empty".
  • This correct address can at ⁇ play, due to an automatic learning to be known from previously correct versions of the program.
  • Nachfol a sequel is in place ⁇ quietly possible at which the error occurred or the disorder. that is, the operation running in run mode N is at the fault point with a correct value continued f7a.
  • a program sequence in the execution mode N and a malfunction of the program sequence are thus assumed by way of example. It is fl switched to fault mode P, through which the execution context ns stored and, where appropriate, ⁇ is completely saved the crash site and stored. This is followed by the start of the repair routine f3, wherein preferably an error type is also transferred to the subsequent repair mode R.
  • R is a ge ⁇ suitably repair algorithm Algl is called, executed and after repair, an appropriate execution context stores ns Retired ⁇ . Thereafter, the repair mode R in the fault modus ⁇ P back paced f6.
  • N f7 From the failure mode P or where appropriate directly from the repair mode of the Implementing R ⁇ is approximately context restarted and back paced in the execution mode, N f7.
  • the continuation of the faulty Pro ⁇ program in the execution mode, N is, depending on the type of repair to the erroneous and corrected point of the Programmalgo- F7B continued algorithm possible f7a or at the end of the defective Pro ⁇ fi program.

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)
  • Hardware Redundancy (AREA)

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) zum 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).

Description

Beschreibung
Prozessor bzw. Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems im Fall einer Störung
Die Erfindung bezieht sich auf ein Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems mit den oberbe¬ grifflichen Merkmalen des Patentanspruchs 1 bzw. auf einen Prozessor mit den Oberbegriffliehen Merkmalen des Patentan- spruchs 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 Un¬ terbrechung der Ausführung und einen Absturz der Laufzeitum¬ gebung. Falls die Laufzeitumgebung in einem Überwachungsmo¬ dus, der auch als Kernel-Modus oder privilegierter Level 0 bekannt ist, betrieben wird, tritt die Maschine bzw. der Pro- zessor 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 ei¬ nen kalten Neustart zu ermöglichen. Falls die Laufzeitumge¬ bung eine Anwendung ist, welche nicht in dem Kernel-Modus be- trieben wird, stürzt abhängig von dem Speichermodell und dem Ausführungsmodell des zentralen Prozessors und des Betriebs¬ systems zumindest die gestörte bzw. fehlerhafte Anwendung ab. Im Fall eines einfachen Modells stürzt die gesamte Maschine ab, wie vorstehend beschrieben.
Bekannt ist das Speichern bzw. Retten des Ausführungskontex¬ tes 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 Be- triebsperson ist damit eine spätere Untersuchung der Stö¬ rungsursache möglich. Von Programmier-Entwicklungssoftware sind allgemein Entwick¬ lungsprogramme bekannt, bei welchen ein Compiler und ein De¬ bugger als ein einheitliches Entwicklungsprogramm zusammenge¬ führt sind, um im Fall eines Kompilierungsfehlers oder eines nachfolgenden Laufzeitfehlers einen Absturz des kompilierten Programms zur Optimierung der Programmentwicklung zu verhin¬ dern.
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.
Diese Aufgabe wird durch das Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems mit den Merkmalen des Pa- tentanspruchs 1 bzw. durch einen Prozessor mit den Merkmalen des Patentanspruchs 10 gelöst.
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 be¬ trieben wird, wobei im Fall einer Störung in einen Reparatur¬ modus zum Beseitigen der Störung umgeschaltet wird, wobei der normale Betriebsablauf im Ausführungsmodus nach Beseitigung der Störung fortgesetzt wird.
Vorrichtungsgemäß ist bevorzugt ein Prozessor mit einer Schnittstelle für einen Betriebssystemzugriff in einem Aus¬ führungsmodus zum Ausführen eines normalen Betriebsablaufs. Vorteilhaft wird der Prozessor durch diese oder eine weitere Schnittstelle für einen Betriebssystemzugriff in einem Repa¬ raturmodus zum Ausführen im Fall einer Störung zum Beseitigen der Störung zur nachfolgenden Fortsetzung des Betriebsablaufs im Ausführungsmodus.
Vorteilhafte Ausgestaltungen sind Gegenstand von abhängigen Ansprüchen. Bevorzugt wird insbesondere ein Verfahren, bei dem für den Reparaturmodus eine Laufzeitumgebung als eigenständige Be¬ triebs-Laufzeitumgebung hochgefahren wird.
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.
Bevorzugt wird insbesondere ein Verfahren, bei dem vom Repa¬ raturmodus in den Störungsmodus und von dort in den Ausfüh¬ rungsmodus zurückgewechselt wird.
Bevorzugt wird insbesondere ein Verfahren, bei dem im Repara¬ turmodus eine Störungsbehebung mittels des geretteten Ausfüh¬ rungskontextes durchgeführt wird und die entstörten Daten als Ausführungskontext in den Prozessor und/oder ein Register zu¬ rückgespeichert werden.
Bevorzugt wird insbesondere ein Verfahren, bei dem im Repara¬ turmodus 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.
Bevorzugt wird insbesondere ein Verfahren, bei dem im Repara¬ turmodus ein fehlerhafter Wert oder Zustand im Prozessor und/oder in einem Register mit einem Wert bzw. Zustand über¬ schrieben wird, der eine Fortführung des Ausführungsmodus er- möglicht.
Bevorzugt wird insbesondere ein Verfahren, bei dem im Repara¬ turmodus zur Störungsbeseitigung ein Reparaturalgorithmus ab¬ hängig von einer ermittelten Störungsursache gestartet wird. Bevorzugt wird insbesondere ein Verfahren, bei dem im Ausfüh¬ rungsmodus der Betrieb wahlweise vor oder nach dem Betriebs¬ zustand des Störungszustands fortgesetzt wird.
Bevorzugt wird insbesondere ein Prozessor mit einer Schnitt¬ stelle zu zumindest einem Betriebskontext- bzw. Betriebszu- stands-Speicher zum Speichern eines momentanen Störungs- Betriebszustands des gestörten Betriebsablaufs und zum Rück¬ speichern eines ungestörten normalen Betriebszustands nach einer Störungsbehebung durch den Reparaturmodus.
Bevorzugt wird insbesondere ein Prozessor mit einem Repara¬ turdatenbankspeicher zum Speichern verschiedener Reparatur- Algorithmen für verschiedene Fehlertypen.
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 ei¬ nen kalten Neustart erforderlich machen würde.
Bevorzugt wird insbesondere ein Mobilfunkgerät zum Durchfüh¬ ren eines solchen Verfahrens und/oder mit einem solchen Pro- zessor. Ein Einsatz des Verfahrens bzw. des Prozessors ist auch in anderen Einsatzgebieten vorteilhaft. Neben dem Ein¬ satz 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 wel¬ che Vorteile im Einzelfall erzielbar sind. Verfahrensgemäß und vorrichtungsgemäß wird somit eine Lösung bevorzugt, welche einen Mechanismus bietet, der nach einer insbesondere schwerwiegenden Programmfehlfunktion, welche er- fasst wurde, aktiv wird und eine Fehlerkorrektur vor einem Absturz des gesamten Systems oder des Prozessors mit dem Be¬ triebssystem ermöglicht. Es handelt sich um einen Reparatur¬ mechanismus, welcher eine insbesondere minimale Ausführungs¬ umgebung als eine Reparaturumgebung hochfährt oder aktiviert, falls die Reparaturumgebung bereits zu einem früheren Zeit- punkt hochgefahren wurde.
Nach der Aktivierung bildet die Reparaturumgebung den Fehl¬ funktionstyp bzw. einen Fehlercode auf einen entsprechenden Reparaturalgorithmus in einer Reparaturalgorithmusdatenbank ab, führt den Reparaturalgorithmus aus und bewirkt eine Fort¬ führung des normalen Betriebsablaufs im Ausführungsmodus nach der Störungsbeseitigung. Sofern die Störungsbeseitigung mit Hilfe eines gespeicherten bzw. geretteten Ausführungskontex¬ tes von Prozessorinhalten und Prozessorregistern etc. durch- geführt wird, werden der Ausführungskontext bzw. die entspre¬ chenden Daten nach der Störungsbeseitigung wieder in den Pro¬ zessor 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 Reparaturmo¬ dus kann die Ausführung des Betriebsablaufs in dem zuvor de¬ fekten Programm wieder in dem Programmabschnitt aufgenommen werden, wo die Fehlfunktion bzw. Störung ansonsten den Ab¬ sturz verursacht hätte.
Die derartigen Reparaturalgorithmen können sehr verschieden¬ artig 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 Reparaturalgorith¬ men können vorteilhafterweise das Programm an der Fehlerstel- Ie korrigieren und die Ausführung des normalen Betriebsab¬ laufs dieses Programms ohne einen Absturz wiederaufnehmen.
Beschrieben wird somit ein Mechanismus, welcher eine Umgehung von Softwaredefekten ermöglicht und die Verfügbarkeit der Ma¬ schine bzw. des Gerätes mit dem entsprechenden Verfahren bzw. Prozessor verbessert. Insbesondere mobile Einrichtungen soll¬ ten nicht abstürzen und eine bestmögliche Verfügbarkeit bie¬ ten. Da es jedoch üblicherweise keine perfekte Software gibt und Fehler, welche zu einem Absturz führen, auftreten, ist der Einsatz solcher Mechanismen von Vorteil.
Ein Ausführungsbeispiel wird nachfolgend anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 schematisch einzelne Komponenten in Verbindung mit Laufzeitumgebungen eines Prozessors; und
Fig. 2 schematisch einen Verfahrensablauf zur Veranschauli- chung eines beispielhaften Reparaturvorgangs zum Be¬ seitigen einer Störung.
Fig. 1 skizziert beispielhaft einen Prozessor CPU mit drei symbolischen Prozessorabschnitten zum Symbolisieren verschie- dener 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 Registerzu¬ stä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 ent¬ sprechenden Betriebssystem OS.
Außerdem vorgesehen ist zusätzlich ein Reparaturmodus R. Die¬ ser 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 Star¬ ten 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 kri¬ tischen Programms, eines Updates oder nach dem Aktivieren des Störungsmodus P durchgeführt werden.
Dem Reparaturmodus R ist vorzugsweise in einem Speicher M ei¬ ne Reparaturdatenbank RDB zugeordnet, in welcher verschiedene Reparaturalgorithmen Algl, Alg2 gespeichert sind, auf welche der Reparaturmodus R je nach ermittelter Fehlerursache bzw. Störungsursache zum Einleiten geeigneter Maßnahmen zur Ver¬ hinderung eines Absturzes zugreifen kann.
In üblicher Art und Weise umfasst der Prozessor CPU Register, insbesondere Prozessorregister MC, in welchen für den norma¬ len Betriebsablauf benötigte Daten hinterlegt werden. Über einen Bus B ist auch eine Verbindung zu einem externen Spei¬ cher M gegeben. In dem externen Speicher M oder gegebenen¬ falls 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.
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 ei¬ nem Absturz führen würde, wird der Ausführungsmodus N unter¬ brochen und in den Störungsmodus P umgeschaltet f1. Im Stö- rungsmodus P wird der Ausführungskontext ps in einem nachfol¬ genden Schritt f2, soweit möglich, gerettet bzw. im Ausfüh¬ rungskontextspeicher S gespeichert. Nachfolgend wird in den Reparaturmodus R umgeschaltet f3, um die Störung, soweit mög¬ lich, zu beseitigen. Im Reparaturmodus R wird die eigenstän¬ dige 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 Algl, Alg2 geladen und in der Betriebs-Laufzeitumgebung des Reparaturmodus R ausgeführt. Dadurch kann die Störung direkt im Prozessor bzw. in Prozes¬ sorregistern MC etc. oder in dem Abbild des gestörten Ausfüh¬ rungskontextes ps im Ausführungskontextspeicher S bearbeitet werden f5. Nachfolgend wird vorzugsweise unter Zwischenschal¬ tung des Störungsmodus P in den Ausführungsmodus N zurückge- schritten f7, f8. Im Ausführungsmodus N kann dann der normale Betriebsablauf fortgesetzt werden, ohne dass es zum Absturz kommt.
Fig. 2 veranschaulicht einen beispielhaften Ablauf eines Ver- fahrens 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 Re- paratur- 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". Vorgesehen ist somit eine Routine, welche im Fall eines lee¬ ren Kartenkontos entweder eine Routine „leer" oder eine Rou¬ tine „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 Repara- turdatenbank indiziert, um einen entsprechenden Reparatural¬ gorithmus Algl zu laden und auszuführen.
Für den Fall, dass der Reparaturalgorithmus Algl feststellt, dass der fehlerhafte Zeiger die Ursache für die Fehlfunktion bzw. Störung war, können verschiedene Aktionen durchgeführt werden.
Gemäß einer ersten Variante kann der Benutzer des entspre¬ chenden Gerätes mit dem Prozessor informiert werden, bei- spielsweise informiert werden, dass sein Kartenkonto leer ist, der Benutzer die Karte aufladen soll und dann den letz¬ ten Vorgang erneut versuchen soll. Nach Ausgabe der Informa¬ tion wird von dem Reparaturalgorithmus dann ein Sprung zum Ende fi des eigentlichen Algorithmus vorgenommen, so dass ei- ne Fortsetzung im Ausführungsmodus N ohne einen Absturz er¬ möglicht wird f7b. Vorteilhafterweise kann auch ein Fehlerre¬ port aufgezeichnet und gegebenenfalls zu z.B. dem Hersteller des Gerätes oder dem Ausgeber der Kontenkarte übersendet wer¬ den. Um dieses Ausführungsbeispiel zu unterstützen, sollte die Erklärung der Funktion in Verbindung mit einem Absturz¬ texthinweis erstellt werden, welcher durch den Reparaturmana¬ ger bzw. durch den Reparaturmodus R verwendet wird.
Gemäß einer zweiten Variante könnte ein an den Benutzer aus- gegebener 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 Regis¬ tereinträge oder Prozessoreinträge durch den Reparaturalgo¬ rithmus Algl vor dem Fortsetzen des Ausführungsmodus N korri¬ giert.
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 Funk- tion bzw. Routine „leer". Diese korrekte Adresse kann bei¬ spielsweise aufgrund eines automatischen Lernens aus zuvor korrekten Ausführungen des Programms bekannt sein. Nachfol¬ gend ist dann eine Fortsetzung an der Stelle möglich, an der der Fehler bzw. die Störung auftrat. Das heißt, der Betriebs- ablauf im Ausführungsmodus N wird an der Störungsstelle mit einem korrekten Wert fortgesetzt f7a.
Gemäß Fig. 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 fl, durch welchen der Ausführungskontext ns gespeichert und gege¬ benenfalls die Crashstelle komplett gerettet bzw. gespeichert wird. Es folgt das Starten der Reparaturroutine f3, wobei vorzugsweise ein Fehlertyp mit an den nachfolgenden Repara- turmodus R übergeben wird. Im Reparaturmodus R wird ein ge¬ eigneter Reparaturalgorithmus Algl aufgerufen, ausgeführt und nach Reparatur ein geeigneter Ausführungskontext ns zurückge¬ speichert. Danach wird vom Reparaturmodus R in den Störungs¬ modus P zurückgeschritten f6. Vom Störungsmodus P oder gege- benenfalls auch direkt vom Reparaturmodus R wird der Ausfüh¬ rungskontext wieder gestartet und in den Ausführungsmodus N zurückgeschritten f7. Die Fortsetzung des fehlerhaften Pro¬ gramms im Ausführungsmodus N ist je nach Art der Reparatur an der fehlerhaften und korrigierten Stelle des Programmalgo- rithmus möglich f7a oder am Ende fi des fehlerhaften Pro¬ gramms fortgesetzt f7b.

Claims

Patentansprüche
1. 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 be¬ trieben wird, d a d u r c h g e k e n n z e i c h n e t , dass im Fall einer Störung in einen Reparaturmodus (R) zum Besei¬ tigen der Störung umgeschaltet wird (fl, f3) , wobei der nor- male Betriebsablauf im Ausführungsmodus (N) nach Beseitigung der Störung fortgesetzt wird (fl, f8) .
2. Verfahren nach Anspruch 1, bei dem für den Reparaturmodus (R) eine Laufzeitumgebung als eigenständige Betriebs- Laufzeitumgebung hochgefahren wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem im Fall der Stö¬ rung in einen Störungsmodus (P) umgeschaltet wird (fl) und vom Störungsmodus (P) nach einem Retten des Ausführungskon- textes (ps, f2) in den Reparaturmodus (R) umgeschaltet wird (f3) .
4. 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, fl) .
5. Verfahren nach Anspruch 3 oder 4, bei dem im Reparaturmo¬ dus (R) eine Störungsbehebung mittels des geretteten Ausfüh¬ rungskontextes (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*) .
6. Verfahren nach einem vorstehenden Anspruch, bei dem im Re¬ paraturmodus (R) ein fehlerhafter Wert oder Zustand im Pro- zessor (CPU) und/oder in einem Register (MC) korrigiert wird (f5) , so dass eine Fortführung des Ausführungsmodus ermög¬ licht wird (f7a, f7b) .
7. Verfahren nach einem vorstehenden Anspruch, bei dem im Re¬ paraturmodus (R) ein fehlerhafter Wert oder Zustand im Pro¬ zessor (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) .
8. Verfahren nach einem vorstehenden Anspruch, bei dem im Re¬ paraturmodus (R) zur Störungsbeseitigung ein Reparaturalgo- rithmus (Algl, Alg2) abhängig von einer ermittelten Störungs¬ ursache gestartet wird (f4) .
9. Verfahren nach einem vorstehenden Anspruch, bei dem im Ausführungsmodus (N) der Betrieb wahlweise vor (f7a) oder nach (f7b) dem Betriebszustand des Störungszustands fortge¬ setzt wird.
10. Prozessor (CPU) mit einer Schnittstelle (B) für einen Be¬ triebssystemzugriff in einem Ausführungsmodus (N) zum Ausfüh- ren eines normalen Betriebsablaufs, g e k e n n z e i c h n e t durch diese oder eine weitere Schnittstelle (B) für einen Betriebs¬ systemzugriff in einem Reparaturmodus (R) zum Ausführen im Fall einer Störung zum Beseitigen der Störung zur nachfolgen- den Fortsetzung (f7) des Betriebsablaufs im Ausführungsmodus (N) .
11. Prozessor nach Anspruch 10 mit einer Schnittstelle (B) zu zumindest einem Betriebszustands-Speicher (M, F) zum Spei- ehern eines momentanen Störungs-Betriebszustands (ps) des ge¬ störten Betriebsablaufs und zum Rückspeichern (f6*) eines un¬ gestörten normalen Betriebszustands (ns) nach einer Störungs¬ behebung (f4) durch den Reparaturmodus (R) .
12. Prozessor nach Anspruch 10 oder 11 mit einem Reparaturda¬ tenbankspeicher (RDB) zum Speichern verschiedener Reparatur- Algorithmen (Algl, Alg2) für verschiedene Fehlertypen.
13. Verfahren nach einem der Ansprüche 1 - 9 und/oder Prozes¬ sor 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 Pro¬ zessors oder zu einem Absturz der des gesamten Systems führen würde oder einen kalten Neustart erforderlich machen würde.
14. Mobilfunkgerät zum Durchführen eines Verfahrens nach ei- nem der Ansprüche 1 - 9 und/oder mit einem Prozessor (CPU) nach einem der Ansprüche 10 - 12.
PCT/EP2005/054199 2004-09-29 2005-08-26 Prozessor bzw. verfahren zum betreiben eines prozessors und/oder betriebssystems im fall einer störung WO2006034932A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200410047363 DE102004047363A1 (de) 2004-09-29 2004-09-29 Prozessor bzw. Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems im Fall einer Störung
DE102004047363.3 2004-09-29

Publications (2)

Publication Number Publication Date
WO2006034932A2 true WO2006034932A2 (de) 2006-04-06
WO2006034932A3 WO2006034932A3 (de) 2006-06-08

Family

ID=36001177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/054199 WO2006034932A2 (de) 2004-09-29 2005-08-26 Prozessor bzw. verfahren zum betreiben eines prozessors und/oder betriebssystems im fall einer störung

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268027A (zh) * 2014-09-22 2015-01-07 北京经纬恒润科技有限公司 嵌入式实时操作系统的故障处理方法和装置

Citations (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
US5742780A (en) * 1995-10-06 1998-04-21 Lsi Logic Corporation Dual pipeline superscalar reduced instruction set computer system architecture
US6334193B1 (en) * 1997-05-29 2001-12-25 Oracle Corporation Method and apparatus for implementing user-definable error handling processes
US20020099983A1 (en) * 2001-01-23 2002-07-25 Alexandre Henon Method of reporting errors occurring in the execution of a program in an electronic terminal
US20040019771A1 (en) * 1999-12-21 2004-01-29 Nhon Quach Firmwave mechanism for correcting soft errors

Family Cites Families (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
DE19827432C2 (de) * 1997-07-25 2001-07-26 Siemens Ag Verfahren zur Speicherung von Rechner-Zustandsdaten bei einem Störfall, der ein anschließendes Wieder-Hochfahren des Rechners erfordert
US7263632B2 (en) * 2003-05-07 2007-08-28 Microsoft Corporation Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same

Patent Citations (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
US5742780A (en) * 1995-10-06 1998-04-21 Lsi Logic Corporation Dual pipeline superscalar reduced instruction set computer system architecture
US6334193B1 (en) * 1997-05-29 2001-12-25 Oracle Corporation Method and apparatus for implementing user-definable error handling processes
US20040019771A1 (en) * 1999-12-21 2004-01-29 Nhon Quach Firmwave mechanism for correcting soft errors
US20020099983A1 (en) * 2001-01-23 2002-07-25 Alexandre Henon Method of reporting errors occurring in the execution of a program in an electronic terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268027A (zh) * 2014-09-22 2015-01-07 北京经纬恒润科技有限公司 嵌入式实时操作系统的故障处理方法和装置

Also Published As

Publication number Publication date
WO2006034932A3 (de) 2006-06-08
DE102004047363A1 (de) 2006-03-30

Similar Documents

Publication Publication Date Title
DE10296986B4 (de) Verfahren und Vorrichtung zum Programmieren eines BIOS
DE69906995T2 (de) Hochlauffehler-wiederherstellung
EP1903436B1 (de) Computersystem und Verfahren zum Aktualisieren von Programmcode
DE102012109614A1 (de) Fehlerbehebung bei Stapel-Korruption in eingebetteten Softwaresystemen
DE69219657T2 (de) Fortsetzung der Aufgabe eines fehlerhaften Prozessors von einem alternativen Prozessor
EP1854007A2 (de) Verfahren, betriebssysem und rechengerät zum abarbeiten eines computerprogramms
DE102009020389A1 (de) System zur Aktualisierung von Firmware und Verfahren dazu, und Verfahren zum Erzeugen von Firmware
EP1952239A1 (de) Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system
US7613952B2 (en) Method for facilitating BIOS testing
EP2727039A1 (de) Fahrzeugeinheit und verfahren zum betreiben der fahrzeugeinheit
EP1810139B1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
JP2023064689A (ja) コンピュータシステムの基板管理コントローラ及び起動方法
US6275930B1 (en) Method, computer, and article of manufacturing for fault tolerant booting
EP3798831B1 (de) Robuster, upgradefähiger boot-loader mit power-reset
WO2006034932A2 (de) Prozessor bzw. verfahren zum betreiben eines prozessors und/oder betriebssystems im fall einer störung
EP1812853B1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
DE102005061394A1 (de) Fehlertolerantes Prozessorsystem
DE112019004272T5 (de) Installieren von anwendungsprogrammcode auf einem fahrzeugsteuerungssystem
DE102019215807A1 (de) Verfahren zum Aktualisieren einer Firmware auf einem eingebetteten System
DE602005002485T2 (de) Vorrichtung zur Vermeidung von Schaltungsfehlern in Anwesenheit von Fehlern
EP1433061A2 (de) Verfahren zum überprüfen eines rechnerkerns eines mikroprozessors oder eines mikrocontrollers
DE102016103451A1 (de) Verfahren für ein Computersystem und Computersystem
WO2023232401A1 (de) Verfahren für einen betrieb eines steuergeräts eines fahrzeuges
DE102023004853A1 (de) Verfahren zur Fehlerbehebung von sicherheitsrelevanten mikrocontrollergesteuerten Anwendungen in einem Kraftfahrzeug, sicherheitsrelevanten Computerprogrammprodukt, sicherheitsrelevanten Mikrocontroller, sowie Kraftfahrzeug
DE102021104419A1 (de) Verfahren zum Betreiben eines Mikrocontrollers

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05782677

Country of ref document: EP

Kind code of ref document: A2