DE69028474T2 - Verfahren und System zur dynamischen Programmbetriebssteuerung - Google Patents

Verfahren und System zur dynamischen Programmbetriebssteuerung

Info

Publication number
DE69028474T2
DE69028474T2 DE69028474T DE69028474T DE69028474T2 DE 69028474 T2 DE69028474 T2 DE 69028474T2 DE 69028474 T DE69028474 T DE 69028474T DE 69028474 T DE69028474 T DE 69028474T DE 69028474 T2 DE69028474 T2 DE 69028474T2
Authority
DE
Germany
Prior art keywords
memory
execution
memory address
code section
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69028474T
Other languages
English (en)
Other versions
DE69028474D1 (de
Inventor
Michael Halstead Kelley
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.)
EMC Corp
Original Assignee
Data General Corp
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 Data General Corp filed Critical Data General Corp
Application granted granted Critical
Publication of DE69028474D1 publication Critical patent/DE69028474D1/de
Publication of DE69028474T2 publication Critical patent/DE69028474T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • 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/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • Retry When Errors Occur (AREA)

Description

    Hintergrund der Erfindung
  • Der Speicher eines Computers ist häufig in Seiten oder Seitenrahmen unterteilt. Wenn ein Programm ausgeführt werden soll, wird ihm eine bestimmte Anzahl verfügbarer Seiten des Speichers zugewiesen. Wenn das Programm läuft, macht es eine Speicherreferenz auf Informationen, Daten oder Unterprogrammen. Manche Programme oder spezielle Codeabschnitte in einem Programm erfordern, daß alle anzufordernden Informationen, Daten und Unterprogramme, auf die hier nachfolgend allgemein als Speicheradressen Bezug genommen wird, in einem zugewiesenen, verfügbaren Speicher sind, damit der spezielle Codeabschnitt ablaufen kann. Für den Fall, daß der spezielle Codeabschnitt auf eme solche Speicheradresse zugreift und die Adresse nicht im zugewiesenen Speicher verfügbar ist, unterläuft dem Programm ein Seitenfehler und es ereignet sich ein Fehler. Um diesen Fehlerzustand zu vermeiden, ist es notwendig, eine Vorprüfung durchzuführen, um sicherzustellen, daß dem Programm alle benötigten Speicheradressen zur Verfügung stehen, bevor es ausgeführt wird. All diese Speicheradressen bzw. -referenzen werden dann gekennzeichnet oder mit dem zugewiesenen Speicher verdrahtet, so daß sie nicht gelöscht oder aus dem Speicher entfernt werden können, bevor der spezielle Codeabschnitt ausgeführt ist. Der lauf dieses Kontrollprogramms erfordert eine größere Zeitspanne, die größtenteils vergeudet wird, weil alle angeforderten Speicheradressen häufiger verfügbar als nicht verfügbar sind. Noch mehr Zeit geht dafür verloren, daß, wenn das Programm abgelaufen ist, der Speicher wieder durchgegangen wird, um die Kennzeichnung oder die Verdrahtung aller Speicheradressen zu lösen.
  • Dies ist in dem in Fig. 1 der beiliegenden Zeichnungen gezeigten Ablaufplan veranschaulicht. Hier bereitet ein Betriebssystem die Ausführung eines speziellen Codeabschnitts vor, der eine Reihe von Operationen durchführt, die entweder alle vollständig zu Ende gebracht werden müssen oder überhaupt nicht durchgeführt werden dürfen. Dieser Code darf wahrend seiner Ausführung nicht durch einen Seitenfehler unterbrochen werden, da dies dazu führen kann, daß einige, aber nicht alle Operationen durchgeführt werden. Bei der Durchführung der Reihe der Operationen wird der Code jedoch Speicherreferenzen auf Seiten machen, die nicht im Speicher befindlich sein könnten, und könnte deshalb den nicht erlaubten Seitenfehler verursachen.
  • Mit Bezug auf Fig. 1 führt das Betriebssystem, bevor es anfängt, einen speziellen Codeabschnitt 11 zu verarbeiten, der das Vorhandensein aller Speicheradressen erfordert, um einen Seitenfehlerzustand zu vermeiden, zunächst eine Vorprüfung aller Speicheradressen bei 13 durch, die Seitenfehler verursachen könnten. Wenn die Speicheradresse nicht im zugewiesenen Speicher liegt, wie es durch den Entscheidungsblock 15 gezeigt ist, wird eine Suche im Speicher 17 durchgeführt, um die benötigte Speicheradresse aufzusuchen. Wenn die Speicheradresse gefunden ist, wird sie bei 19 in den zugewiesenen Speicherbereich geschrieben, und der Ablaufplan kehrt zurück zu Block 13 für die Vorprüfung aller Speicheradressen, um sicherzustellen, daß sie nun alle im zugewiesenen Speicher vorhanden sind. Der Entscheidungsblock 15 wird dann im Ablaufplan erneut durchlaufen, und die Antwort ist "ja", daß alle Speicheradressen nun im zugewiesenen Speicher sind. Alle Speicheradressen werden nun gekennzeichnet, so daß die Speicheradressen nicht gelöscht werden können, bevor der spezielle Codeabschnitt ausgeführt ist. (Diese Operation wird gewöhnlich als "Verdrahten" oder "Sperren" der Seiten im Speicher bezeichnet.) Dann wird der spezielle Codeabschnitt bei 23 ausgeführt, wobei sichergestellt ist, daß kein Seitenfehler auftreten kann und daß alle Operationen der Reihe vollständig ausgeführt werden. Wenn in dem Vorgang dieser Punkt errekht ist, dann werden alle zuvor im zugewiesenen Speicher gekennzeichneten oder verdrahteten Speicheradressen bei 25 gelöst und zur Löschung oder Entfernung aus dem Speicher freigegeben.
  • Wir haben erkannt, daß es mit einem solchen System Probleme gibt; insbesondere ist es 1) langsam, und 2) ist es bei einer großen Mehrheit von Fällen vergeudeter Aufwand. Für die meisten dieser Speicheradressen ist die Seite bereits im Speicher und wird nicht ans dem Speicher entfernt werden.
  • Es geht viel Zeit damit verloren, das Vorhandensein aller Speicheradressen vorab zu prüfen, alle fehlenden Seiten zu suchen, aufzufrnden und in den zugewiesenen Speicher zu schreiben, und dann alle benötigten Speicheradressen zu kennzeichnen, bevor der spezielle Codeabschnitt auch nur beginnen kann, zu kufen. Nachdem der spezielle Abschnitt vollständig abgelaufen ist, wird wieder Zeit damit vergeudet, daß alle zugewiesenen Speicherstellen durchgegangen und die Kennzeichnungen aller Speicheradressen aufgelöst werden, damit dieser Speicherabschnitt wieder für das Betriebssystem zur Verfügung steht. Wir haben erkannt, daß all dies benötigt wird, um ein Problem zu vermeiden, das nur in einem geringen Prozentsatz der Fälle auftritt.
  • Die internationale Patentaarneldung WO 84/02410 ist auf einen Datenprozessor einer virtuellen Maschine gerichtet, der alle wesenffichen Informationen, die den internen Zustand des Systems betreffen, automatisch in einem externen Speicher speichert, wenn ein Zugriffsfehler während der Ausführung einer Anweisung entdeckt wird. Die fehlerbehaftete Anweisung wird vorübergehend gestoppt, während die Ursache des Fehlers bereinigt wird. Dann wird das Programm mit dem Beginn desjenigen Zugriffs wieder aufgenommen, der auf den Fehler gestoßen ist.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist in den angefügten Ansprüchen definiert, auf die nun Bezug genommen werden sollte.
  • In einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, das unten näher beschrieben wird, weerden verbesserte Datenverarbeitungssysteme und Betriebsverfahren vorgesehen, die den vorbereitenden Ablauf eines Prüfprogrammes nicht erfordern, um alle Speicheradressen, die während der Ausführung eines Programms oder speziellen Codeabschnitts in einem Programm benötigt werden, zu suchen und dann zu kennzeichnen. Die Zeit, die darauf verwendet wird, die vorbereitende Speicheradressenprüfung und die Kennzeichnung der Adressen durchzuführen, wird ebenso eingespart wie die Zeit, die darauf verwendet wird, nach dem Ablauf durch den zugewiesenen Speicher zu gehen, um die Kennzeichnung aller Speicheradressen zu lösen.
  • Bei der Ausführung wird die Annahme gemacht, daß alle von einem Abschnitt eines Programms angeforderten Speicheradressen in zugewiesenen Speicherstellen verfügbar sind. Wenn sich diese Annahine als falsch herausstellt, sind die damit verbundenen Schritte:
  • Unterbrechen des Ablaufs des Programms und Rückgängigmachen all dessen, was der spezielle Codeabschnitt vor der Unterbrechung vollständig beendet hat, Suchen der benötigten Speicheradresse im Speicher, Schreiben derselben in eine zugewiesene Speicherstelle und Neustart des speziellen Codeabschnitts, wobei die benötigte Speicheradresse geliefert wird, wenn sie angefordert wird.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird anhand von Beispielen mit Bezug auf die Zeichnungen beschrieben, in denen:
  • Fig. 1 (auf die oben Bezug genommen wurde) ein Programmablaufplan für die herkömmliche Lösung zur Vermeidung eines Seitenfehler-Fehlers bei Nichtvorhandensein einer benötigten Speicheradresse ist, und
  • Fig. 2 ein Ablaufplan eines verbesserten Datenverarbeitungssystems ist, das die vorliegende Erfindung verkörpert.
  • Genaue Beschreibung des bevoizugten Ausführungsbeispiels
  • Gemäß der vorliegenden Erfindung wird die Annahme gemacht, daß alle von dem Programm oder speziellen Codeabschnitt benötigten Speicheradressen bereits im Speicher sind. Da diese Annahme zu mehr als 90 % der Zeit richtig ist, wird sich dann kein Seitenfehler ereignen und beträchffiche Zeit dadurch eingespart, daß das Prüfprogramm nicht ausgeführt wird, daß die Speicheradressen nicht gekennzeichnet werden müssen, bevor das Programm oder der spezielle Codeabschnitt ausgeführt wird, und daß dann wiederum Zeit damit verlorengeht, daß durch den zugewiesenen Speicher gegangen werden muß, um alle Speicheradressen freizugeben, damit dieser Bereich des Speichers für das Betriebssystem verfügbar ist.
  • Mit Bezug auf Fig. 2 ist ein verbessertes, die Erfrndung verkörperndes Betriebssystem gezeigt und als Ganzes durch das Bezugszeichen 30 gekennzeichnet. Ein vom Betriebssystem auszuführender spezieller Codeabschnitt, der das Vorhandensein aller Speicheradressen erfordert, wird bei 31 gespeichert gehalten, bevor er ausgeführt wird. Es wird bei 33 die Annahlne gemacht, daß alle benötigten Speicheradressen im zugewiesenen Speicher vorhanden sind.
  • Bevor das Betriebssystem zu laufen beginnt, wird das Seitenfehlerverarbeitungsprogramm bei 35 geändert, um die in den Blöcken 37 bis 43 des Ablaufplans dargestellten Aufgaben durchzuführen, damit das System nicht abstützt, wenn sich eine Speicheradresse als fehlend herausstellt.
  • Am häufigsten wird es vorkommen, daß der spezielle Codeabschnitt durch jeden Schritt des Ablaufplans voranschreitet, ohne daß ein Seitenfehier auftritt. Der spezielle Codeabschnitt läuft bei Block 45. Wenn bei 47 kein Seitenfehler auftritt, beendet der Codeabschnitt seinen Lauf fehlerfrei bei 49. Das Seitenfehlerverarbeitungsprogramm wird, wenn er beendet ist, bei 51 in seinen Normalzustand zurückversetzt.
  • Wenn ein Seitenfehler bei 47 auftritt, wälrrend der spezielle Codeabschnitt ausgeführt wird, unterbricht das veränderte Fehlerverarbeitungsprogramm zuerst den Lauf des Programms bei 37, indem es das Programm stoppt und an einem Absturz hindert. Danach ist es wichtig, daß es alles, was vom speziellen Codeabschnitt bereits ausgeführt wurde, bei 39 rückgängig macht, so daß keine Fragmente des Laufs des Codes mehr existieren. Das heißt, es geht in umgekehrter Reihenfolge durch die Schritte des Codes zurück, indem es der Reihe nach jeden Schritt rückgängig macht oder umkehrt, bis der Anfang des speziellen Codeabschnitts erreicht ist. Das Betriebssystem enthält die notwendigen Programme für die auszuführende Operation des Rückgängiginachens. Die fehlende Speicheradresse wird dann bei 41 gesucht und bei 43 in eine zugewiesene Speicherstelle geladen. Dann wird bei 45 der spezielle Codeabschnitt wieder gestartet, und der Entscheidungsblock 47 fragt, ob ein Seitenfehler aufgetreten ist. Für den Fall, daß sich ein Seitenfehler ereignet, ist die Antwort beim Entscheidungsblock "ja", und das Programm läuft durch die Schritte 37, 39, 41 und 43, kehrt zu 45 zurück und startet das Programm wieder neu.
  • Wir haben herausgefunden, daß es viel schneller ist, zu riskieren, Teile des Programms, die ausgeführt wurden, zu löschen oder umzukehren, so daß es im Computer klare Verhältnisse gibt, und dann wieder neu vom Anfang zu starten, und diesen Prozeß sogar zu wiederholen, wenn eine weitere Speicheradresse benötigt wird, als in den meisten Fällen unnötige Zeit aufzuwenden, um die Vorprüfung zu absolvieren, jede der Speicheradressen im Speicher zu verdrahten und dann nach Beenden des Laufs des speziellen Codeabschnitts durch den zugewiesenen Speicher zu gehen, um die Verdrahtung oder Kennzeichnung aller benutzten Speicheradressen aufzulösen und diesen Teil des Speichers wieder für das Betriebssystem verfügbar zu machen.
  • Mit erneutem Bezug auf Fig. 2 wird das Seitenfehlerverarbeitungsprogramm bei 51, nachdem der spezielle Codeabschnitt bei 49 seinen Lauf beendet hat, geändert, um das Betriebssystem in seinen normalen Betriebszustand für den Fall zurückzuversetzen, daß der nächste Teil des Programms oder Codeabschnitts nicht denselben Schutz benötigt, der durch das System der vorliegenden Etfindung vorgesehen ist.
  • Aus dem Obigen ist ersichtlich, daß das beschriebene, verbesserte Betriebssystem diejenige Zeit wesentlich reduziert, die bei der Ausführung eines Programmes oder speziellen Codeabschnitts, der das Vorhandensein aller Speicheradressen erfordert, benötigt wird, um einen Seitenfehler zu vermeiden. Dadurch, daß die Annahme gemacht wird, daß alle Adressen vorhanden sind, und daß dann fortgeschritten wird, beendet das Programm seinen Lauf öfter, als es dies nicht tut, ohne Zeit damit zu verschwenden, den zugewiesenen Speicher durchzugehen und die Speicheradressen aufzufinden und zu kennzeichnen, nur um am Ende des Laufs erneut den zugewiesenen Speicher durchzugehen und noch einmal die Kennzeichnung der Adressen zu lösen. Das System nimmt an, daß alles vorhanden ist, und verändert das Seitenfehlerverarbeitungsprogramm so, daß das System in dem seltenen Fall, daß eine Speicheradresse nicht vorhanden ist, nicht abstürzt, sondern vielmehr unterbrochen wird, reiner Tisch gemacht wird, die Speicher adresse aufgefunden und in den zugewiesenen Speicher geladen wird und das Programm neu gestartet wird, wodurch eine beträchtliche Zeitspanne eingespart wird.
  • Das verbesserte Datenverarbeitungssystem ist nicht von einem Computer irgendeiner besonderen Firma abhängig. Jedes der wohlbekannten, von Data General Corporation, den hier vorliegenden Anmeldern, gelieferten Datenverarbeitungssystemen kann gemäß der vorliegenden Effmdung abgeändert werden.

Claims (8)

1. Verfahren für den Betfieb eines Softwareprogramms, das einen speziellen Codeabschnitt enthält, der eine Vielaahi von Schritten in einem Datenverarbeltungssystem enthält, wobei das Verfahren die Schritte enthält:
Starten der Ausführung des speziellen Codeabschnitts und, falls eine Speicheradresse zur Ausführung des speziellen Codeabschnitts benötigt wird, Anfordern der benötigten Speicheradresse aus einem Speicherbereich, der der Ausführung des speziellen Codeabschnitts zugeordnet ist, Schaffung des Zugangs zur benötigten Speicheradresse und Fortsetzen der Ausführung des speziellen Codeabschnitts, falls die Speicheradresse in dem zugeordneten Speicher verfügbar ist, und Anzeigen eines bestimmten Zustandes, wenn die Speicheradresse nicht verfügbar ist, wobei das Verfahren dadurch gekennzeichnet ist, daß die Ausführung des speziellen Codeabschnitts ohne eine Überprüfung der Verfügbarkeit der Speicheradressen gestartet wird und daß als Antwort auf den bestiinmten Zustand die Nichtverfügbarkeit der Speicheradresse angezeigt wird durch:
(i) Unterbrechen der Ausführung des speziellen Codeabschnitts,
(ii) Rückgängigmachen aller Schritte, die der spezielle Codeabschnitt seit dem Start der Ausführung des speziellen Codeabschnitts bis zu der Unterbrechung ausgeführt hat,
(iii) Suchen der benötigten Speicheradresse im Speicher, Lesen der Speicheradresse aus dem Speicher und Einschreiben der Speicheradresse in den zugeordneten Speicherbereich und
(iv) Neustarten der Ausführung des speziellen Codeabschnitts,
wobei das Unterbrechen und das Rückgängigniachen von einer geänderten Fehlerroutine ausgeführt wird, und wobei die Fehlerroutine in ihren ungeänderten Zustand zurückversetzt wird, nachdem der Ablauf des speziellen Codeabschnitts beendet ist;
wodurch ein Fehlerzustand aufgrund der Nkhtverfügbarkelt der Speicheradresse verhindert wird.
2. Verfahren gemäß Anspruch 1, bei dem der bestimmte Zustand ein Fehlerzustand ist.
3. Verfahren gemäß Anspruch 2, bei dem der bestimmte Zustand ein Seitenfehlerzustand ist.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem das Rückgängigmachen das Umkehren jedes der Schritte des speziellen Codeabschnitts in der umgekehrten Reihenfolge ihrer normalen Ausführung enthält.
5. Ein Datenveratbeitungssystem für den Betrieb eines Softwareprogramms, das einen speziellen Codeabschnitt enthält, der eine Vielzahl von Schritten enthält, wobei das Datenverarbeitungssystem enthält:
Mittel für den Programmablauf,
Mittel zum Anfordern einer für die Ausführung des speziellen Codeabschnitts in dem Programm benötigten Speicheradresse von einem Speicherbereich, der der Ausführung des speziellen Codeabschnitts zugeordnet ist, und zur Schaffüng des Zugangs zu der benötigten Speicheradresse und zum Fortsetzen der Ausführung des speziellen Codeabschnitts, falls die Speicheradresse in dem zugeordneten Speicher verfügbar ist, und zum Anzeigen eines bestimmten Zustandes, wenn die Speicheradresse nicht verfügbar ist, dadurch gekennzeichnet, daß es weiter enthält:
daß die Mittel für den Programmablauf den speziellen Codeabschnitt ohne eine Überprüfling der Verfügbarkeit der Speicheradressen starten, und
daß die auf den bestimmten Zustand ansprechenden Mittel die Nichtverfügbarkeit der Speicheradresse anr:eigen und enthalten:
(i) Mittel zum Auslösen einer Unterbrechung der Ausführung des speziellen Codeabschnitts,
(ii) Mittel zum Rückgängigmachen aller Schritte, die der spezielle Codeabschnitt seit dem Beginn der Ausführung des speziellen Codeabsclrnitts bis zur Unterbrechung ausgeführt hat,
(iii) Mittel zum Suchen der benötigten Speicheradresse im Speicher, Auslesen der Speicheraddresse aus dem Speicher und zum Einschreiben der Speicheradresse in den zugeordneten Speicherbereich, und
(iv) Mittel zum Neustarten der Ausführung des speziellen Codeabschnitts,
wobei das Unterbrechen und das Rückgängiginachen von einer geänderten Femerroutine ausgeführt wird, und wobei die Fehlerrontine in ihren ungeänderten Zustand zurückversetzt wird, nachdem der Ablauf des speziellen Codeabschnitts beendet ist.
6. Ein Datenverarbeitungssystem gemäß Anspruch 5, bei dem der bestimmte Zustand ein Fehlerzustand ist.
7. Ein Datenverarbeitungssystem gemäß Anspruch 6, bei dem der bestimmte Zustand ein Seitenfehlerzustand ist.
8. Ein Datenverarbeitungssystem gemäß einem der Ansprüche 5 bis 7, bei dem die Mittel zum Rückgängigmachen Mittel zur Umkehrung jedes Schrittes in dem speziellen Codeabschnitt in der umgekehrten Reihenfolge ihrer normalen Ausführung enthalten.
DE69028474T 1989-10-19 1990-10-11 Verfahren und System zur dynamischen Programmbetriebssteuerung Expired - Fee Related DE69028474T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42418489A 1989-10-19 1989-10-19

Publications (2)

Publication Number Publication Date
DE69028474D1 DE69028474D1 (de) 1996-10-17
DE69028474T2 true DE69028474T2 (de) 1997-11-13

Family

ID=23681776

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028474T Expired - Fee Related DE69028474T2 (de) 1989-10-19 1990-10-11 Verfahren und System zur dynamischen Programmbetriebssteuerung

Country Status (5)

Country Link
US (2) US5860098A (de)
EP (1) EP0424031B1 (de)
JP (1) JPH0644252B2 (de)
CA (1) CA2025197C (de)
DE (1) DE69028474T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6969635B2 (en) * 2000-12-07 2005-11-29 Reflectivity, Inc. Methods for depositing, releasing and packaging micro-electromechanical devices on wafer substrates
US5854928A (en) * 1996-10-10 1998-12-29 Hewlett-Packard Company Use of run-time code generation to create speculation recovery code in a computer system
ES2149518T3 (es) * 1997-01-29 2000-11-01 Ver Deutscher Werkzeugmaschine Sistema y metodo de correccion de fallos.
US6309044B1 (en) 1998-04-10 2001-10-30 Hewlett-Packard Company Two stage print cartridge capping technique
US7523455B2 (en) 2002-05-03 2009-04-21 Hewlett-Packard Development Company, L.P. Method and system for application managed context switching
CN116340037B (zh) * 2023-02-21 2024-02-20 广东聚瑞科技有限公司 一种***的动态维护方法、***及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800291A (en) * 1972-09-21 1974-03-26 Ibm Data processing system memory relocation apparatus and method
US3898623A (en) * 1973-06-05 1975-08-05 Ibm Suspension and restart of input/output operations
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
US4429363A (en) * 1981-10-15 1984-01-31 International Business Machines Corporation Method and apparatus for managing data movements from a backing store to a caching buffer store
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
EP0109981B1 (de) * 1982-12-07 1987-06-16 Ibm Deutschland Gmbh Ausfallgesicherte Datenverarbeitungsanlage
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
JPS6280743A (ja) * 1985-10-01 1987-04-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション アドレス変換例外処理方法
JPH0727462B2 (ja) * 1985-10-11 1995-03-29 株式会社日立製作所 データ処理装置におけるページフォールト実行再開方法
US4761737A (en) * 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory
DE3735828C2 (de) * 1986-10-24 1994-11-10 Hitachi Ltd Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
JPS63240632A (ja) * 1987-03-27 1988-10-06 Nec Corp 情報処理装置
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
US5119483A (en) * 1988-07-20 1992-06-02 Digital Equipment Corporation Application of state silos for recovery from memory management exceptions

Also Published As

Publication number Publication date
US5617558A (en) 1997-04-01
EP0424031A2 (de) 1991-04-24
EP0424031B1 (de) 1996-09-11
CA2025197A1 (en) 1991-04-20
CA2025197C (en) 1998-04-21
US5860098A (en) 1999-01-12
EP0424031A3 (en) 1992-03-04
JPH0644252B2 (ja) 1994-06-08
JPH03134747A (ja) 1991-06-07
DE69028474D1 (de) 1996-10-17

Similar Documents

Publication Publication Date Title
DE3788444T2 (de) Verfahren zum Wiederanlauf einer langlaufenden fehlertoleranten Operation in einem transaktionsorientierten Datenbasissystem.
DE69621841T2 (de) Rechnersicherungssystem mit offenen Dateien
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE3889578T2 (de) Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation.
DE69717876T2 (de) Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion
DE69803304T2 (de) Hardwareunterstütztes verfahren zum kontextwechsel
DE69025507T2 (de) Gerät zur Sicherung und Wiederherstellung für Digitalrechner
DE4216871C2 (de) Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
DE69324840T2 (de) Verfahren zum Speichern von Programmen
DE69229319T2 (de) System und Verfahren zur Konservierung der Unteilbarkeit eines Quellbefehls in übertragenen Programmbefehlen
DE69434728T2 (de) Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel
DE68924223T2 (de) Mechanismus zum Prüfpunktwiederversuch.
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE69416591T2 (de) Dateisicherungssystem
DE69731998T2 (de) Informationsverarbeitungsvorrichtung und Verfahren
DE69111635T2 (de) Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs.
DE68927705T2 (de) Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem
DE69623146T2 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
DE69622647T2 (de) Wiederherstellbares Plattensteuersystem mit nichtflüchtigem Speicher
DE2902465A1 (de) Datenverarbeitungsanordnung
DE69232045T2 (de) Vorrichtung und verfahren zur ausführung von instruktionen in nicht sequentieller reihenfolge
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE3735828C2 (de) Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
DE69229977T2 (de) Gerät und Verfahren zum Unterbrechen und Wiederaufnehmen von Softwareanwendungen auf einem Rechner
DE3886756T2 (de) Betriebsmittelzugriff für Multiprozessorrechnersystem.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee