DE69028474T2 - Verfahren und System zur dynamischen Programmbetriebssteuerung - Google Patents
Verfahren und System zur dynamischen ProgrammbetriebssteuerungInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 230000004044 response Effects 0.000 claims 1
- 230000005055 memory storage Effects 0.000 abstract 1
- 238000002372 labelling Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, 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
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1990
- 1990-09-12 CA CA002025197A patent/CA2025197C/en not_active Expired - Fee Related
- 1990-10-11 DE DE69028474T patent/DE69028474T2/de not_active Expired - Fee Related
- 1990-10-11 EP EP90311166A patent/EP0424031B1/de not_active Expired - Lifetime
- 1990-10-12 JP JP2275150A patent/JPH0644252B2/ja not_active Expired - Lifetime
-
1993
- 1993-01-13 US US08/003,602 patent/US5860098A/en not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/466,334 patent/US5617558A/en not_active Expired - Lifetime
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 |