DE3852997T2 - Rechnersystem und Verfahren für die Überwachung von nichtstationären Datenstrukturen in einem Rechnersystem. - Google Patents
Rechnersystem und Verfahren für die Überwachung von nichtstationären Datenstrukturen in einem Rechnersystem.Info
- Publication number
- DE3852997T2 DE3852997T2 DE3852997T DE3852997T DE3852997T2 DE 3852997 T2 DE3852997 T2 DE 3852997T2 DE 3852997 T DE3852997 T DE 3852997T DE 3852997 T DE3852997 T DE 3852997T DE 3852997 T2 DE3852997 T2 DE 3852997T2
- Authority
- DE
- Germany
- Prior art keywords
- control block
- computer system
- control
- process module
- data field
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
- Diese Erfindung bezieht sich im allgemeinen auf Rechnersysteme und im besonderen auf ein System und ein Verfahren, mit dem Rechenprozesse in einer Umgebung für den Mehrprogramm- und den Mehrprozessorbetrieb gesteuert werden können.
- In einer Umgebung für den Mehrprogramm- und den Mehrprozessorbetrieb verwenden mehrere Benutzer gleichzeitig ein einzelnes Rechnersystem; in einem solchen System konkurrieren daher mehrere Prozesse innerhalb des Rechnersystems miteinander um Ressourcen. Jeder Prozeß besteht aus einem Programm - d.h. einer Gruppe von Anweisungen und anderen Daten, die den Anweisungen zugeordnet sind, mit einer bestimmten Reihenfolge - das vom Rechner ausgeführt wird und Daten verwendet, um einen Job für einen Benutzer oder einen Teil dieses Jobs auszuführen. Wenn viele solcher Prozesse gleichzeitig vom System verarbeitet werden sollen, wird die Kommunikation mit und zwischen solchen Prozessen und die Steuerung und Zuordnung von Ressourcen zu solchen Prozessen außerordentlich komplex; üblicherweise wird in diesem Fall ein Hauptsteuerprogramm eingesetzt, das den Betrieb des gesamten Rechnersystems steuert und insbesondere die Priorität innerhalb der Benutzer festlegt und verschiedene Prozeßmodule aufruft, um Aufgaben für diese Benutzer auszuführen.
- Wenn ein Benutzer auf ein Rechensystem für den Mehrprogramm- und den Mehrprozessorbetrieb zugreift bzw. sich in diesem System anmeldet, ordnet das Steuerprogramm dem Benutzer eine Gruppe von adressierbaren Speicherblöcken zu, die zusammen eine Einheit bilden, die als ein Steuerblock bezeichnet wird, in der lokale Variablen, Referenzen zu Programmprozeduren, Datenanordnungen und der aktuelle Prozeßstatus gespeichert sind. Das Steuerprogramm führt einen Prozeß für einen bestimmten Benutzer gemäß den Anweisungen dieses Benutzers und mit Anweisungen aus, die im Steuerprogramm gespeichert sein können. Während der Ausführung eines bestimmten Prozesses kann das Steuerprogramm mehrmals auf den Steuerblock zugreifen, der für diesen Benutzer erzeugt wurde, um z.B. Daten vorübergehend zu speichern und zu empfangen, und um bestimmte Anweisungen zu empfangen. Wenn ein Benutzer nicht mehr auf das Rechnersystem zugreift oder sich abmeldet, werden die Speicherblöcke, die dem Steuerblock für diesen Benutzer zugeordnet waren, freigegeben und stehen nun für die nächste Zuordnung zu einem neuen Benutzer zur Verfügung.
- Wenn mehrere Benutzer gleichzeitig ein einzelnes Rechnersystem verwenden, ist jeder Benutzer für das Steuerprogramm durch einen entsprechenden Steuerblock dargestellt, und das Steuerprogramm ruft die Prozeßmodule auf, um den Betrieb des Rechnersystems zu steuern und Dienste für die Steuerblöcke auszuführen. Üblicherweise ist zu einem Zeitpunkt jeweils nur ein Prozeßmodul in Betrieb, und dieses Modul führt nur Dienste für einen einzigen Steuerblock aus; wenn dieses Prozeßmodul seinen Betrieb abgeschlossen hat, wird ein anderes Prozeßmodul aufgerufen, um Dienste für diesen einen oder einen anderen Steuerblock auszuführen. Mitunter wird der Betrieb eines ersten Prozeßmoduls, das Dienste für einen ersten Steuerblock ausführt, unterbrochen oder vorübergehend angehalten, während beispielsweise Daten zu dem ersten Steuerblock übertragen werden. Um die Gesamtleistung des Rechnersystems zu verbessern, kann das Steuerprogramm während einer solchen vorübergehenden Unterbrechung eines Prozeßmoduls ein zweites Prozeßmodul aufrufen, um Dienste für einen zweiten Steuerblock auszuführen. Wenn der Betrieb des zweiten Prozeßmoduls abgeschlossen ist, wird die Steuerung des Rechnersystems wieder an das erste Prozeßmodul zurückübertragen, und der Betrieb dieses Prozeßmoduls kann wieder aufgenommen werden.
- Es ist sehr gut möglich, daß sich der Benutzer vom Rechnersystem abgemeldet hat, während das zweite Prozeßmodul den Betrieb des System gesteuert hat; in diesem Fall werden die Speicherblöcke, die den ersten Steuerblock bilden, wieder dem Hauptspeicher des Rechnersystems zugeordnet. Möglicherweise ist dem ersten Prozeßmodul nicht bekannt, daß der erste Steuerblock freigegeben wurde, so daß es womöglich den Betrieb wieder aufnimmt und in den Speicherblöcken, die den ersten Steuerblock bildeten, Daten ändert, hinzufügt oder löscht. Dies kann in einer unerwünschten Überlagerung von Daten in diesen Speicherblöcken resultieren.
- Es gibt zwei Vorgehensweisen, mit denen diese Überlagerung von Daten vermieden werden kann. Eine Vorgehensweise besteht darin, daß jedes Prozeßmodul so programmiert wird, daß es alle Steuerblöcke immer dann neu liest, wenn ein unterbrochenes Prozeßmodul wieder die Steuerung des Rechnersystems übernimmt. Wenn der betreffende Steuerblock, mit dem das Prozeßmodul gearbeitet hat, erhalten bleibt, nimmt das Prozeßmodul seinen Betrieb wieder auf. Falls das erneute Lesen jedoch ergibt, daß der betreffende Steuerblock, mit dem das Prozeßmodul gearbeitet hat, freigegeben wurde, nimmt das Prozeßmodul seinen Betrieb nicht wieder auf, und die Steuerung des Rechnersystems kann z.B. wieder an das Steuerprogramm übertragen werden. Diese Vorgehensweise ist jedoch verhältnismäßig zeitaufwendig; dies gilt insbesondere dann, wenn das Rechnersystem über viele Steuerblöcke verfügt.
- Ein Beispiel für das oben beschriebene Verfahren ist in EP-A-0 052 713 beschrieben, worin eine Anordnung behandelt wird, mit der die Ausführung von vorbestimmten Anweisungsfolgen für die Verarbeitung in einem digitalen Prozessor eingeplant werden kann, der in einer Echtzeit-Umgebung betrieben wird. Mehrfachprozesse zur Ausführung von Mehrfachrechenprozessen, die einem Systemrechner zugeordnet sind, sind in einem Speicherplatz gespeichert, der dem Speicher für den Prozessor zugewiesen ist. Ein Prozeß beinhaltet einen Prozeßsteuerblock, der die Informationen über den aktuellen Status des Prozesses und für die Datenübertragung mit den Arbeitsanforderungen enthält, die diesem Prozeß und anderen Prozessen in einer Warteschlange zugewiesen sind. Der Prozeßtreiber ruft das Programm auf, das in der und als Reaktion auf die Arbeitsanforderung angegeben ist. Jedem Prozeß ist mindestens eine Warteschlange aus Arbeitsanforderungen zugeordnet, wobei der Prozeßtreiber des Prozesses mit der höchsten Priorität die Arbeitsanforderung aus der Warteschlange mit der höchsten Priorität zur Verarbeitung auswählt. Mehrfach- Arbeitsanforderungen können von einem oder mehreren Prozessen für einen bestimmten Prozeß eingeplant werden.
- Ein weiteres Verfahren, mit dem die oben erwähnte Überlagerung von Daten vermieden werden kann, besteht in der Verwendung einer Sperrprozedur. Wenn z.B. ein Prozeßmodul vorübergehend unterbrochen wird, wird der betreffende Steuerblock, den das Modul verwendet hat, gesperrt, so daß andere Prozesse, insbesondere Abmeldeprozesse, nicht auf diesen bestimmten Steuerblock zugreifen können. Auf diese Weise stellt das unterbrochene Prozeßmodul sicher, daß der Abmeldeprozeß diesen bestimmten Steuerblock nicht freigibt. Ein bedeutender Nachteil dieses Verfahrens besteht darin, daß es auch den gewünschten Zugriff auf den Steuerblock beschränkt, während der Betrieb des unterbrochenen Prozeßmoduls vorübergehend angehalten ist; dies wirkt sich nachteilig auf die Systemleistung aus. Darüber hinaus muß bei dieser Vorgehensweise im allgemeinen eine Liste von Sperrungen erstellt werden, und alle Prozeßmodule des Rechnersystems müssen die gesamte Liste lesen, bevor sie auf einen bestimmten Steuerblock zugreifen können.
- Eine Aufgabe dieser Erfindung besteht darin, ein Rechnersystem für den Mehrprogramm- und den Mehrprozessorbetrieb mit einem Datenfeld bereitzustellen, mit dem angezeigt werden kann, ob ausgewählte Steuerblöcke, die für bestimmte Benutzer im System stehen, freigegeben worden sind.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Datenfeld zur Steuerblocküberwachung in einem Rechnersystem für den Mehrprogramm- und den Mehrprozessorbetrieb bereitzustellen, mit dem angezeigt werden kann, ob Steuerblöcke, die für bestimmte Benutzer im System stehen, freigegeben wurden, sowie darin, wenn der Betrieb eines Prozeßmoduls, das Dienste für einen bestimmten Steuerblock ausführt, vorübergehend unterbrochen wurde, das Datenfeld zur Steuerblocküberwachung darauf zu überprüfen, ob dieser bestimmte Steuerblock erhalten bleibt, bevor der Betrieb des unterbrochenen Prozeßmoduls wieder aufgenommen wird.
- Diese und andere Aufgaben werden mit einem Verfahren und einem System realisiert, wie es in den Ansprüchen 1 und 7 beschrieben ist.
- Weitere Vorteile und Vorzüge der Erfindung werden aus der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Abbildungen offensichtlich, worin die bevorzugte Ausführungsform der Erfindung beschrieben und dargestellt wird, wobei
- Fig. 1 ein Blockdiagramm ist, das ein Rechnersystem gemäß dieser Erfindung darstellt;
- Fig. 2 ein Blockdiagramm ist, das verschiedene Teile und Strukturen des Rechnersystems detaillierter darstellt;
- Fig. 3 ein Flußdiagramm ist, das eine Anwendung dieser Erfindung darstellt;
- Fig. 4 verschiedene Teile und Strukturen des Rechnersystems darstellt, das in der Anwendung aus Fig. 3 verwendet wird;
- Fig. 5A und 5B eine zweite Anwendung der vorliegenden Erfindung darstellen;
- Fig. 6 verschiedene Teile und Strukturen des Rechnersystems darstellt, das in der Anwendung aus den Fig. 5A und 5B verwendet wird;
- Fig. 7A und 7B eine dritte Anwendung der vorliegenden Erfindung darstellen;
- Fig. 8 verschiedene Teile und Strukturen des Rechnersystems darstellt, das in der Anwendung aus den Fig. 7A und 7B verwendet wird.
- Fig. 1 zeigt eine schematische Darstellung des Rechnersystems 10, das eine zentrale Verarbeitungseinheit 12, eine Hauptspeichereinheit 14 und ein Eingangs/Ausgangsmittel 16 umfaßt. Die zentrale Verarbeitungseinheit 12 enthält ein Steuerprogramm 20 zur Steuerung des Gesamtbetriebs des Rechnersystems. Die Hauptspeichereinheit 14 ist mit der zentralen Verarbeitungseinheit verbunden, so daß Daten zwischen der Hauptspeichereinheit und der zentralen Verarbeitungseinheit übertragen werden können, und die Hauptspeichereinheit enthält eine Vielzahl von adressierbaren Speicherblöcken, in denen Daten gespeichert werden können. Die adressierbaren Speicherblöcke sind in Fig. 1 als die Blöcke 22a bis 22e dargestellt; eine herkömmliche Hauptspeichereinheit kann jedoch Tausende von adressierbaren Speicherblöcken umfassen. Das Eingangs/Ausgangsmittel 16 ist mit der zentralen Verarbeitungseinheit verbunden, so daß das Rechnersystem 10 mit einer Vielzahl von Benutzerstationen verbunden ist, um Daten zwischen dem Rechnersystem und diesen Benutzerstationen übertragen zu können. Diese Benutzerstationen sind in Fig. 1 als Blöcke 24a bis 22i dargestellt; das Rechnersystem kann jedoch für Dutzende von Benutzerstationen ausgelegt sein. Die einzelnen Benutzerstationen können sich auf herkömmliche Weise in dem Rechnersystem an- und abmelden, d.h. Zugriff auf das Rechnersystem erhalten bzw. freigeben.
- Mit Bezug auf Fig. 2 umfaßt das Steuerprogramm 20 Mittel 26, mit denen immer dann ein Steuerblock erstellt wird, wenn eine Benutzerstation Zugriff auf das Rechnersystem erhält, und mit denen der Steuerblock freigegeben wird, wenn diese Benutzerstation den Zugriff auf das Rechnersystem freigibt. Ein Steuerblock wird erstellt oder festgelegt, indem eine Gruppe von adressierbaren Speicherblöcken für die ausschließliche Verwendung durch einen bestimmten Benutzer gesperrt oder zugeordnet wird; ein Steuerblock wird freigegeben, indem die Speicherblöcke dieses Steuerblocks aus der ausschließlichen Verwendung für diesen bestimmten Benutzer freigegeben werden, so daß diese Speicherblöcke im System 10 für andere Aufgaben eingesetzt werden können. Auf diese Weise stellt jeder Steuerblock einen Benutzer im Rechnersystem 10 dar. Fig. 2 zeigt sechs solcher Steuerblöcke 30a bis 30f; ein Rechnersystem kann jedoch Dutzende von Steuerblöcken zu einem beliebigen Zeitpunkt umfassen und ist vorzugsweise dafür ausgelegt. Das Steuerprogramm 20 umfaßt ferner eine Mehrzahl von Prozeßmodulen 32a bis 30f, die Dienste für die Steuerblöcke ausführen, und die insbesondere Daten für oder mit diesen Steuerblöcken gemäß einem vorgegebenen Programmen verarbeiten. Fig. 2 zeigt sechs Prozeßmodule; das Steuerprogramm kann jedoch sehr viel mehr solcher Prozeßmodule umfassen und ist vorzugsweise dafür ausgelegt.
- Die untergeordnete Einheit 34 des Steuerprogramms legt die Priorität unter den Benutzern des Systems 10 fest und ruft die Prozeßmodule zur Steuerung des Rechnersystems und zur Ausführung von Diensten für die Steuerblöcke auf. Normalerweise ist zu einem beliebigen Zeitpunkt nur jeweils ein Prozeßmodul in Betrieb, und dieses Modul führt Dienste für lediglich einen Steuerblock aus; wenn dieses Prozeßmodul seinen Betrieb abgeschlossen hat, wird ein anderes Prozeßmodul aufgerufen, um Dienste für diesen oder einen anderen Steuerblock auszuführen. Mitunter kann der Betrieb eines ersten Prozeßmoduls, das Dienste für einen ersten Steuerblock ausführt, vorübergehend unterbrochen oder angehalten werden; während einer solchen vorübergehenden Unterbrechung kann das Steuerprogramm ein zweites Prozeßmodul aufrufen, das Dienste für den ersten oder einen zweiten Steuerblock ausführt. Wenn dieses zweite Prozeßmodul seinen Betrieb abgeschlossen hat, nimmt das erste Prozeßmodul seinen Betrieb wieder auf.
- Diese Abfolge, in der der Betrieb eines Prozeßmoduls unterbrochen und ein anderes Prozeßmodul aufgerufen wird, kann mehrmals wiederholt werden, so daß eine Mehrzahl von Prozeßmodulen zum selben Zeitpunkt angehalten sein können. So kann z.B. der Betrieb eines ersten Prozeßmoduls angehalten und ein zweites Prozeßmodul aufgerufen werden; während dieses erste Prozeßmodul angehalten ist, kann auch das zweite Prozeßmodul angehalten und ein drittes Prozeßmodul aufgerufen werden. Diese aufgerufenen Prozeßmodule können Dienste für denselben oder verschiedene Steuerblöcke ausführen. Wenn unter diesen Bedingungen ein bestimmtes Prozeßmodul seinen Betrieb abgeschlossen hat, wird die Steuerung des Rechnersystems wieder an eines der angehaltenen Prozeßmodule übertragen, wobei dies üblicherweise das zuletzt angehaltene Prozeßmodul ist. Die angehaltenen Prozeßmodule nehmen nacheinander wieder den Betrieb auf, bis alle ihren Betrieb abgeschlossen haben.
- Gemäß der vorliegenden Erfindung wird eine eindeutige Anordnung bereitgestellt, um sicherzustellen, daß der Steuerblock, für den Dienste durch ein angehaltenes Prozeßmodul ausgeführt wurden, immer noch vorhanden ist, bevor das angehaltene Prozeßmodul seinen Betrieb wieder aufnimmt. Hierfür verfügt das Steuerprogramm 20 über Mittel 36, um ein System bereitzustellen, das den Betrieb gemäß dem Steuerprogramm fortsetzt.
- Vorzugsweise verfügt jede Einheit zur Steuerblocküberwachung über eine eindeutige Adresse; diese Adresse wird dem Prozeßmodul hinzugefügt, das der Überwachungseinheit bei der Erstellung dieser Einheit zugeordnet wird. Wenn eine Einheit zur Steuerblocküberwachung erstellt wird, kann deren Adresse außerdem auch dem Steuerblock hinzugefügt werden, der von der Überwachungseinheit überwacht wird. Wenn eine Benutzerstation bei dieser Anordnung für das Rechnersystem 10 eine Abmeldeanforderung oder eine Anforderung, den Zugriff freizugeben, überträgt, wird der Steuerblock für diesen Benutzer auf eine Adresse einer Einheit zur Steuerblocküberwachung durchsucht; falls eine solche Adresse gefunden wird, wird die Überwachungseinheit selbst gesucht und geändert, um anzuzeigen, daß der Steuerblock freigegeben wurde. Eine Einheit zur Steuerblocküberwachung wird vorzugsweise dann erstellt, wenn ein Prozeßmodul aufgerufen wird, um einen Dienst für ein Steuermodul auszuführen; die Einheit zur Steuerblocküberwachung überwacht dann diesen bestimmten Steuerblock. Wenn ein Prozeßmodul seinen Betrieb abgeschlossen hat, wird vorzugsweise die Einheit zur Steuerblocküberwachung freigegeben, der das Prozeßmodul zugeordnet war. Wenn eine Überwachungseinheit freigegeben wird, werden die Speicherblöcke, aus denen die Einheit besteht, aus der ausschließlichen Verwendung für diese Speichereinheit freigegeben, so daß diese Speicherblöcke vom Rechnersystem für andere Zwecke eingesetzt werden können.
- Jede Einheit zur Steuerblocküberwachung kann aus einem Datenfeld mit bis zu 32 Bits bestehen. Das erste Bit dieses Feldes kann anzeigen, ob der von der Überwachungseinheit überwachte Steuerblock erhalten bleibt; die übrigen 31 Bits des Datenfeldes können zu Zwecken, die weiter unten genauer beschrieben werden, die Adresse einer anderen Überwachungseinheit enthalten. Das erste Bit des Datenfeldes kann z.B. auf 0 gesetzt werden, solange der überwachte Steuerblock erhalten bleibt, und auf den Wert 1 geändert werden, wenn der überwachte Steuerblock freigegeben wird.
- Fig. 3 zeigt eine Anwendung der vorliegenden Erfindung, und Fig. 4 ist eine schematische Darstellung der Datenstrukturen des Rechnersystems 10, die bei dieser Anwendung verwendet werden. Nachdem sich ein Benutzer im Rechnersystem anmeldet und der Steuerblock 30a für diesen Benutzer erstellt ist, wird das Prozeßmodul 32a aufgerufen, um Dienste für diesen Steuerblock auszuführen. Der Betrieb dieses Prozeßmoduls wird vorübergehend angehalten, und ein anderes Prozeßmodul 32b wird aufgerufen, um den Betrieb des Rechnersystems zu steuern. Dieses andere Prozeßmodul kann aufgerufen werden, um für den Steuerblock 30a oder für einen anderen Steuerblock im Rechnersystem Dienste auszuführen. Eine Einheit zur Steuerblocküberwachung 40a wird erstellt, um anzuzeigen, ob der Steuerblock 30a erhalten bleibt. Nachdem das Prozeßmodul 32b seinen Betrieb abgeschlossen hat, wird die Steuerung des Rechnersystems wieder an das Prozeßmodul 32a übertragen; bevor dieses Modul seinen Betrieb jedoch wieder aufnimmt, wird die Einheit zur Steuerblocküberwachung 40a durchsucht, um zu ermitteln, ob der Steuerblock 30a zu diesem Zeitpunkt noch vorhanden ist. Ist dies der Fall, wird der Betrieb des Prozeßmoduls 32a wieder aufgenommen; falls der Steuerblock 30a zu dem Zeitpunkt, an dem die Einheit zur Steuerblocküberwachung 40a durchsucht wird, jedoch nicht mehr vorhanden ist, nimmt das Prozeßmodul 32a seinen Betrieb nicht wieder auf, sondern das Rechnersystem fährt gemäß dem Steuerprogramm mit dem Betrieb fort.
- Die Einheit zur Steuerblocküberwachung 40a wird vorzugsweise dann erstellt, wenn das Prozeßmodul 32a aufgerufen wird; die Freigabe der Überwachungseinheit erfolgt entweder, wenn der Betrieb des Prozeßmoduls abgeschlossen ist, oder wenn der Betrieb des Prozeßmoduls auf andere Weise durch das Steuerprogramm beendet wird. Es ist außerdem wünschenswert, daß die Überwachungseinheit 40a über eine Adresse A1 verfügt, die ihre Position im Rechnersystem angibt, und daß diese Adresse im Prozeßmodul 32a angegeben ist. Wenn die Steuerung des Rechnersystems nach einer vorübergehenden Unterbrechung des Betriebs des Prozeßmoduls 32a wieder an dieses Prozeßmodul übergeben wird, wird bei dieser Anordnung die Überwachungseinheit 40a ermittelt, indem zunächst das Prozeßmodul auf die Adresse dieser Überwachungseinheit durchsucht wird.
- Es ist ferner wünschenswert, daß die Adresse der Überwachungseinheit 40a im Steuerblock 30a angegeben wird. Wenn sich der Benutzer, der durch den Steuerblock 30a dargestellt wird, von dem Rechnersystem abmeldet, wird der Steuerblock 30a auf die Adresse einer Überwachungseinheit durchsucht; falls eine solche Adresse gefunden wird, wird die Überwachungseinheit gesucht und geändert, um anzuzeigen, daß der Steuerblock freigegeben wurde.
- Fig. 5A und 5B zeigen eine zweite Anwendung der vorliegenden Erfindung, wobei eine Gruppe von Prozeßmodulen nacheinander aufgerufen werden, um Dienste für einen Steuerblock auszuführen; Fig. 6 zeigt die Struktur des bei dieser Anwendung verwendeten Rechnersystems. Nachdem sich der Benutzer in dem Rechnersystem angemeldet hat und der Steuerblock 30a für diesen Benutzer erstellt wurde, wird das Prozeßmodul 32a aufgerufen, um Dienste für diesen Steuerblock auszuführen. Der Betrieb des Prozeßmoduls 32a wird vorübergehend angehalten, und das Prozeßmodul 32b wird aufgerufen, um Dienste für den Steuerblock 30a auszuführen; danach wird der Betrieb des Prozeßmoduls 32b vorübergehend angehalten, und ein drittes Prozeßmodul 32c wird aufgerufen, um Dienste für den Steuerblock auszuführen. Eine Einheit zur Steuerblocküberwachung 40a, 40b, 40c wird für jedes Prozeßmodul 32a, 32b bzw. 32c erstellt, und jede dieser Überwachungseinheiten zeigt an, ob der Steuerblock 30a erhalten bleibt. Vorzugsweise werden die einzelnen Überwachungseinheiten dann erstellt, wenn das zugehörige Prozeßmodul aufgerufen wird; die Überwachungseinheiten können prinzipiell jedoch zu einem beliebigen Zeitpunkt erstellt werden.
- Nachdem der Betrieb des Prozeßmoduls 32c abgeschlossen ist, wird die Steuerung des Rechnersystems wieder an das Prozeßmodul 32b übertragen; bevor das Modul 32b jedoch seinen Betrieb wieder aufnimmt, wird die Überwachungseinheit 40b überprüft, um zu ermitteln, ob der Steuerblock 30a erhalten bleibt. Falls der Steuerblock 30a erhalten bleibt, nimmt das Prozeßmodul 32b seinen Betrieb wieder auf. Nachdem dieses Prozeßmodul seinen Betrieb abgeschlossen hat, wird die Steuerung des Rechnersystems wieder an das Prozeßmodul 32a übertragen.
- Falls jedoch der Steuerblock 30a nicht mehr vorhanden ist, wenn die Steuerung des Rechnersystems wieder an das Prozeßmodul 32b übertragen wird, überträgt dieses Prozeßmodul die Steuerung des Rechnersystems sofort wieder an das Prozeßmodul 32a. Nachdem die Steuerung des Rechnersystems wieder an das Prozeßmodul 32a übertragen wurde, wird die Überwachungseinheit 40a durchsucht, um zu ermitteln, ob der Steuerblock 30a noch erhalten bleibt. Falls der Steuerblock noch erhalten bleibt, nimmt das Prozeßmodul 32a seinen Betrieb wieder auf; falls der Steuerblock 30a jedoch nicht mehr vorhanden ist, nimmt das Prozeßmodul 32a seinen Betrieb nicht mehr auf, und das Rechnersystem fährt gemäß dem Steuerprogramm 20 mit dem Betrieb fort.
- Vorzugsweise verfügt jede Überwachungseinheit über eine Adresse, und jede Adresse einer jeden Überwachungseinheit befindet sich in dem Prozeßmodul, das der Überwachungseinheit zugeordnet ist. Bei der in Fig. 5A und 5B abgebildeten Anwendung wird die für den ersten Steuerblock 30a erstellte Adresse der ersten Überwachungseinheit 40a ebenfalls diesem Steuerblock hinzugefügt. Die für den Steuerblock 30a erstellte Adresse der zweiten Überwachungseinheit 40b befindet sich in der ersten Überwachungseinheit 40a, und die Adresse der dritten Überwachungseinheit 40c befindet sich in der zweiten Überwachungseinheit 40b. Auf diese Weise bilden die für diesen bestimmten Steuerblock erstellten Überwachungseinheiten 40a, b und c eine Kette, wobei der Steuerblock auf eine erste Überwachungseinheit in dieser Kette hinweist, und wobei jede Überwachungseinheit mit Ausnahme der letzten auf eine nachfolgende Überwachungseinheit in der Kette hinweist.
- Falls sich der Benutzer, der durch den Steuerblock 30a dargestellt wird, von dem Rechnersystem abmeldet, wird der Steuerblock 30a auf die Adresse einer Überwachungseinheit durchsucht; falls eine solche Adresse gefunden wird, wird die Überwachungseinheit gesucht und geändert, um anzuzeigen, daß der Steuerblock freigegeben wurde. Daraufhin wird diese Überwachungseinheit auf die Adresse einer anderen Überwachungseinheit durchsucht; falls eine solche Adresse gefunden wird, wird diese andere Überwachungseinheit gesucht und geändert, um anzuzeigen, daß der Steuerblock freigegeben wurde. Diese Abfolge von Ereignissen -Durchsuchen einer Überwachungseinheit auf eine Adresse einer nächsten Überwachungseinheit, Suchen der nächsten Überwachungseinheit und Ändern dieser Überwachungseinheit, um anzuzeigen, daß der Steuerblock freigegeben wurde - wird solange fortgeführt, bis alle Überwachungseinheiten in der Kette, die für einen bestimmten Steuerblock erstellt wurden, geändert wurden, um anzuzeigen, daß der Steuerblock freigegeben wurde. Die letzte Überwachungseinheit in der Kette umfaßt vorzugsweise Mittel, die anzeigen, daß es sich um die letzte Einheit in der Kette handelt, so daß, nachdem diese letzte Überwachungseinheit gefunden wurde, keine weiteren Überwachungseinheiten gesucht werden.
- Fig. 7A und 7B zeigen eine dritte Anwendung dieser Erfindung, wobei eine Gruppe von Prozeßmodulen aufgerufen werden, um Dienste für verschiedene Steuerblöcke auszuführen; Fig. 8 zeigt die Struktur des hierbei verwendeten Rechnersystems. Dabei melden sich eine Vielzahl von Benutzer in dem Rechnersystem an, und eine Vielzahl von Steuerblöcken wird erstellt, wobei jeder Steuerblock einen der Benutzer darstellt. Das Steuerprogramm 20 ermittelt, welcher Benutzer Priorität genießt, und ruft das Prozeßmodul 32a auf, um Dienste für den Steuerblock 30a auszuführen. Nach einer gewissen Zeit wird der Betrieb dieses Prozeßmoduls vorübergehend angehalten, und das Prozeßmodul 32b wird aufgerufen, um Dienste für den Steuerblock 30b auszuführen. Die Einheit zur Steuerblocküberwachung 40a wird erstellt, um anzuzeigen, ob der Steuerblock 30a erhalten bleibt. Während das Prozeßmodul 32a angehalten ist, wird der Steuerblock 30a überwacht; falls er freigegeben wird, wird die Überwachungseinheit 40a geändert, um dies anzuzeigen. Die Überwachungseinheit 40a verfügt vorzugsweise über eine Adresse, die ihre Position in dem Rechnersystem angibt; diese Adresse wird sowohl dem Prozeßmodul 32a als auch dem Steuerblock 30a hinzugefügt.
- Nachdem das Prozeßmodul 32b eine bestimmte Zeit in Betrieb war, wird es vorübergehend angehalten, und das Steuerprogramm ruft ein drittes Prozeßmodul 32c auf, um Dienste für einen dritten Steuerblock 30c auszuführen. Die Einheit zur Steuerblocküberwachung 40b wird erstellt, um anzuzeigen, ob der Steuerblock 40b erhalten bleibt. Auch die Überwachungseinheit 40b verfügt über eine Adresse, die ihre Position in dem Rechnersystem angibt; diese Adresse wird sowohl dem Prozeßmodul 32b als auch dem Steuerblock 30b hinzugefügt.
- Bei dem in Fig. 7A und 7B dargestellten Verfahren wird das Prozeßmodul 32c, nachdem es eine bestimmte Zeit in Betrieb war, vorübergehend angehalten, und das Steuerprogramm ruft ein viertes Prozeßmodul 32d auf, um Dienste für einen vierten Steuerblock 30d auszuführen. Die Einheit zur Steuerblocküberwachung 40c wird erstellt, um anzuzeigen, ob der Steuerblock 30c erhalten bleibt. Während das Prozeßmodul 32c angehalten ist, wird der Steuerblock 30c überwacht; falls er freigegeben wird, wird die Überwachungseinheit 40c geändert, um dies anzuzeigen. Die Überwachungseinheit 40c verfügt vorzugsweise über eine Adresse, die ihre Position in dem Rechnersystem angibt; diese Adresse wird sowohl dem Prozeßmodul 32c als auch dem Steuerblock 30c hinzugefügt.
- Nachdem der Betrieb des Prozeßmoduls 32d abgeschlossen ist, wird die Steuerung des Rechnersystems wieder an das Prozeßmodul 32c übertragen. Zu diesem Zeitpunkt wird die Überwachungseinheit 40c überprüft, um zu ermitteln, ob der Steuerblock 30c noch vorhanden ist; falls der Steuerblock nicht mehr vorhanden ist, wird die Steuerung des Rechnersystems an das Prozeßmodul 32b übertragen. Falls der Steuerblock 30c jedoch noch vorhanden ist, nimmt das Prozeßmodul 32c den Betrieb wieder auf, schließt ihn ab und überträgt anschließend die Steuerung des Rechnersystems wieder an das zweite Prozeßmodul 32b.
- Nachdem die Steuerung des Rechnersystems wieder an das Prozeßmodul 32b übertragen wurde, wird die Überwachungseinheit 40b überprüft, um zu ermitteln, ob der Steuerblock 30b noch vorhanden ist; falls der Steuerblock 30b nicht mehr vorhanden ist, wird die Steuerung des Rechnersystems an das Prozeßmodul 32a übertragen. Falls der Steuerblock 30b jedoch noch vorhanden ist, wenn die Überwachungseinheit 40b überprüft wird, nimmt das Prozeßmodul 32b den Betrieb wieder auf, schließt ihn ab und überträgt anschließend die Steuerung des Rechnersystems an das Prozeßmodul 32a.
- Nachdem das Prozeßmodul 32a die Steuerung des Rechnersystems wieder erlangt hat, wird die Überwachungseinheit 40a überprüft, um zu ermitteln, ob der Steuerblock 30a noch vorhanden ist. Falls der Steuerblock nicht mehr vorhanden ist, nimmt das Modul 32a seinen Betrieb nicht mehr auf, und das Rechnersystem fährt gemäß dem Steuerprogramm mit dem Betrieb fort. Falls der Steuerblock 30a jedoch noch vorhanden ist, wenn das Prozeßmodul 32a die Steuerung des Rechnersystems wieder erlangt, nimmt das Prozeßmodul 32a den Betrieb wieder auf und schließt ihn ab; danach fährt das Rechnersystem gemäß dem Steuerprogramm mit dem Betrieb fort.
Claims (10)
1. Ein Verfahren für den Betrieb eines Rechnersystems (10),
das eine zentrale Verarbeitungseinheit (12), eine
Speichereinheit (14) und Eingangs/Ausgangsmittel (16) umfaßt, wobei
die zentrale Verarbeitungseinheit mit der Speichereinheit
verbunden ist, um Daten zwischen der zentralen
Verarbeitungseinheit und der Speichereinheit zu übertragen, wobei
die Eingangs/Ausgangsmittel mit der zentralen
Verarbeitungseinheit verbunden sind, um Daten zwischen der
zentralen Verarbeitungseinheit und einer Vielzahl von
Benutzerstationen (24a-c) zu übertragen, wobei die zentrale
Verarbeitungseinheit ein Steuerprogramm (20) zur Steuerung des
Betriebs des Rechnersystems umfaßt und über eine Mehrzahl
von Prozeßmodulen (32a-f) verfügt, mit denen Dienste für
die Benutzerstationen ausgeführt werden, wobei der Zugriff
der Benutzerstationen auf das Rechensystem selektiv erteilt
und wieder aufgehoben wird, wobei das Verfahren die
folgenden Schritte umfaßt:
daß das Rechnersystem
i) eine Mehrzahl von Steuerblöcken (30a-f) in der
Speichereinheit des Rechnersystems erstellt, wobei jeder
Steuerblock erstellt wird, wenn eine der
Benutzerstationen Zugriff auf das Rechnersystem erhält, und
freigegeben wird, wenn für eine der Benutzerstationen
der Zugriff auf das Rechnersystem aufgehoben wird,
ii) die Prozeßmodule zur Verarbeitung der Steuerblöcke
aufruft, wobei jedes Modul für die Verarbeitung eines
Steuerblocks aufgerufen wird,
wobei der Schritt des Aufrufens die folgenden Schritte
umfaßt:
iii) Unterbrechen des Betriebs eines der Prozeßmodule und
Aufrufen eines anderen Prozeßmoduls, um den Betrieb
des Rechnersystems zu steuern,
iv) mehrmaliges Wiederholen des Schrittes iii),
v) Erstellen einer Mehrzahl von Datenfeldern zur
Steuerblocküberwachung (40a-d) in dem Rechnersystem, wobei
jedes unterbrochene Prozeßmodul einem entsprechenden
Modul der Blöcke zur Steuerblocküberwachung
zugeordnet wird,
vi) Anzeigen in den Datenfeldern zur
Steuerblocküberwachung, die jedem einzelnen unterbrochenen Prozeßmodul
zugeordnet sind, ob der Steuerblock, der von dem
unterbrochenen Prozeßmodul zum Zeitpunkt der
Unterbrechung verarbeitet wird, bestehen bleibt,
vii) Rückübertragung der Steuerung des Rechnersystems von
einem der Prozeßmodule an eines der zuvor
unterbrochenen Prozeßmodule,
viii) mehrmaliges Wiederholen des Schrittes vii),
ix) nach jeder Wiederholung wird der Steuerung des
Rechnersystems von einem der Prozeßmodule an eines der
zuvor unterbrochenen Prozeßmodule zurück übertragen,
1) wobei der Überwachungsblock zur
Steuerblocküberwachung durchsucht wird, der einem der zuvor
unterbrochenen Prozeßmodule zugeordnet ist, um zu
ermitteln, ob der eine Steuerblock, der von dem
einem der zuvor unterbrochenen Prozeßmodule zum
Zeitpunkt der Unterbrechung des Betriebs
verarbeitet wird, bestehen bleibt,
2) wobei, falls der eine Steuerblock bestehen
bleibt, der Betrieb des einen der zuvor
unterbrochenen Prozeßmodule wieder aufgenommen wird, und
3) wobei, falls der eine Steuerblock nicht bestehen
bleibt, die Steuerung des Rechnersystems durch
das Rechnersystem von dem einen der zuvor
unterbrochenen Prozeßmodule an das Steuerprogramm
zurück übertragen wird.
2. Ein Verfahren gemäß Anspruch 1, das ferner die folgenden
Schritte umfaßt:
daß das Rechnersystem ferner
x) jedem Block für die Steuerblocküberwachung (40a-c)
eine Adresse zuordnet, die die Position des
Datenfeldes zur Steuerblocküberwachung im Rechnersystem (10)
angibt, und
xi) in jedem unterbrochenen Prozeßmodul (32x) die Adresse
des diesem Modul zugeordneten Datenfeldes zur
Steuerblocküberwachung angibt; und
wobei der Schritt des Durchsuchens den Schritt des
Durchsuchens des unterbrochenen Prozeßmoduls auf die
Adresse des zugeordneten Datenfeldes zur
Steuerblocküberwachung umfaßt.
3. Ein Verfahren gemäß Anspruch 2, das, nachdem die Steuerung
des Rechnersystems (10) an eines der zuvor unterbrochenen
Prozeßmodule (32x) zurückübertragen wurde, ferner den
Schritt xii) umfaßt, bei dem das Rechnersystem das
Datenfeld zur Steuerblocküberwachung, das einem der zuvor
unterbrochenen Prozeßmodule zugeordnet ist, freigibt.
4. Ein Verfahren gemäß Anspruch 1, das ferner die folgenden
Schritte umfaßt:
daß das Rechnersystem
x) jedem Datenfeld zur Steuerblocküberwachung, das die
Position des Datenfeldes zur Steuerblocküberwachung
in dem Rechnersystem anzeigt, eine Adresse zuordnet,
und
xi) für jedes unterbrochene Prozeßmodul (32x) die Adresse
des Datenfeldes zur Steuerblocküberwachung, das dem
unterbrochenen Prozeßmodul zugeordnet ist, in dem
einen Steuerblock angibt, der zum Zeitpunkt der
Unterbrechung durch das unterbrochene Prozeßmodul
verarbeitet wird; und
wobei der Anzeigeschritt bei der Freigabe jedes
Steuerblocks den Schritt des Durchsuchens des
Steuerblocks auf die Adresse eines der Datenfelder zur
Steuerblocküberwachung umfaßt.
5. Ein Verfahren gemäß Anspruch 1, wobei der Schritt der
Erstellung einer Mehrzahl von Datenfeldern zur
Steuerblocküberwachung bei jedem Aufrufen eines Prozeßmoduls den
Schritt der Erstellung eines einzelnen entsprechenden
Datenfeldes zur Steuerblocküberwachung umfaßt.
6. Ein Verfahren gemäß Anspruch 1, wobei:
der Schritt des Aufrufens der Prozeßmodule den Schritt des
Aufrufens einer Gruppe von Prozeßmodulen zur Verarbeitung
eines ausgewählten Blocks der Steuerblöcke umfaßt,
Schritt iii) den Schritt der Unterbrechung des Betriebs
jeder Gruppe von Prozeßmodulen umfaßt, wobei die Gruppe von
Prozeßmodulen einer Gruppe von Datenfeldern zur
Steuerblocküberwachung zugeordnet ist;
das ferner die folgenden Schritte umfaßt:
daß das Rechnersystem
x) jedem Datenfeld zur Steuerblocküberwachung, das die
Position des Datenfeldes zur Steuerblocküberwachung
in dem Rechnersystem angibt, eine Adresse zuordnet,
xi) die Gruppe von Datenfeldern zur
Steuerblocküberwachung in einer Kette anordnet,
xii) in dem ausgewählten Steuerblock die Adresse eines
ersten Datenfeldes zur Steuerblocküberwachung in der
Kette angibt, und
xiii) die Adresse jedes Datenfeldes zur
Steuerblocküberwachung in der Kette mit Ausnahme des ersten
Datenfeldes zur Steuerblocküberwachung in der Kette in
einem in der Kette unmittelbar vorhergehenden
Datenfeld zur Steuerblocküberwachung angibt.
7. Ein Rechnersystem für den Mehrprogramm- und den
Mehrprozessorbetrieb (10), das folgendes umfaßt:
eine zentrale Verarbeitungseinheit (12) einschließlich
eines Steuerprogramms (20), um den Betrieb des Rechnersystems
zu steuern;
eine Hauptspeichereinheit (14), die mit der zentralen
Verarbeitungseinheit verbunden ist, um Daten zwischen der
zentralen Verarbeitungseinheit und der Hauptspeichereinheit zu
übertragen, und die eine Vielzahl an adressierbaren
Speicherblöcken enthält; sowie Eingangs/Ausgangsmittel (16),
die mit der zentralen Verarbeitungseinheit verbunden sind,
um das Rechnersystem mit einer Vielzahl von
Benutzerstationen (25a-i) zu verbinden und Daten zwischen dem
Rechnersystem und der Vielzahl von Benutzerstationen zu übertragen,
wobei jede Benutzerstation über Mittel verfügt, um Zugriff
auf das Rechnersystem zu erhalten und ihn aufzuheben;
wobei das Rechnersystem ferner folgendes umfaßt:
i) Mittel (26), um aus einer Gruppe der adressierbaren
Speicherblöcke immer dann einen Steuerblock zu
bilden, wenn eine der Benutzerstationen Zugriff auf das
Rechnersystem erhält, und um die Gruppe von
adressierbaren Speicherblöcken von einem der
Speicherblöcke freizugeben, wenn die Benutzerstation, für die
der Steuerblock gebildet wird, den Zugriff auf das
Rechnersystem wieder freigibt,
ii) eine Mehrzahl von Prozeßmodulen (32a-f),
iii) Mittel (34), um die Priorität unter den
Benutzerstationen festzulegen und die Prozeßmodule für die
Steuerung des Betriebs des Rechnersystems und die
Verarbeitung der Steuerblöcke aufzurufen, wobei bei
jedem Aufrufen eines Prozeßmoduls das Prozeßmodul
einen der Steuerblöcke verarbeitet,
iv) Mittel (34), um den Betrieb Operation der einzelnen
Prozeßmodule zu unterbrechen und daraufhin die
Steuerung des Rechnersystems an die zuvor
unterbrochenen Prozeßmodule zurück zu übertragen,
v) Mittel (36), um in dem Rechnersystem ein Datenfeld
zur Steuerblocküberwachung zu erstellen, das jedem
unterbrochenen Prozeßmodul zugeordnet ist, wobei das
Datenfeld zur Steuerblocküberwachung Mittel enthält,
die angeben, ob der von dem zugeordneten Prozeßmodul
verarbeitete Steuerblock bestehen bleibt,
vi) Mittel, um das Datenfeld zur Steuerblocküberwachung,
das einem gegebenen unterbrochenen Prozeßmodul
zugeordnet
ist, zu überprüfen, wenn die Steuerung des
Rechnersystems an das gegebene unterbrochene
Prozeßmodul zurück übertragen wird, um zu ermitteln, ob der
von dem gegebenen unterbrochenen Prozeßmodul
verarbeiteten Steuerblock bestehen bleibt, und
vii) Mittel, um den Betrieb des gegebenen unterbrochenen
Prozeßmoduls zu beenden, falls der von dem gegebenen
unterbrochenen Prozeßmodul verarbeitete Steuerblock
freigegeben worden ist.
8. Ein Rechnersystem gemäß Anspruch 7, wobei jedes Datenfeld
zur Steuerblocküberwachung über eine Adresse verfügt, und
wobei das Mittel zur Überprüfung des Datenfeldes zur
Steuerblocküberwachung Mittel enthält, mit denen die Adresse
des Datenfeldes zur Steuerblocküberwachung gehalten wird.
9. Ein Rechnersystem gemäß Anspruch 8, wobei:
das Mittel zur Erstellung eines Datenfeldes zur
Steuerblocküberwachung, das jedem unterbrochenen Prozeßmodul
zugeordnet ist, Mittel enthält, mit denen Gruppen von
Speicherblöcken für die exklusive Verwendung als Datenfelder
zur Steuerblocküberwachung gesperrt werden; und
das Rechnersystem ferner Mittel enthält, um jede Gruppe von
Speicherblöcken aus der exklusiven Verwendung als eines der
Datenfelder zur Steuerblocküberwachung freizugeben.
10. Ein Rechnersystem gemäß Anspruch 9, wobei das Mittel zur
Freigabe jeder Gruppe von Speicherblöcken Mittel enthält,
um jede Gruppe von Speicherblöcken aus der exklusiven
Verwendung als eines der Datenfelder zur
Steuerblocküberwachung freizugeben, wenn der Betrieb des einen
Prozeßmoduls, das dem einen Datenfeld zur Steuerblocküberwachung
zugeordnet ist, beendet wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/151,808 US5129087A (en) | 1988-02-03 | 1988-02-03 | Computer system and a method of monitoring transient data structures in a computer system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3852997D1 DE3852997D1 (de) | 1995-03-23 |
| DE3852997T2 true DE3852997T2 (de) | 1995-08-10 |
Family
ID=22540321
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3852997T Expired - Fee Related DE3852997T2 (de) | 1988-02-03 | 1988-11-30 | Rechnersystem und Verfahren für die Überwachung von nichtstationären Datenstrukturen in einem Rechnersystem. |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5129087A (de) |
| EP (1) | EP0326671B1 (de) |
| JP (1) | JPH0644235B2 (de) |
| DE (1) | DE3852997T2 (de) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0404068A3 (de) * | 1989-06-20 | 1991-12-27 | Fujitsu Limited | Vorrichtung zur Ausführung eines Verzweigungsbefehls |
| JP2970821B2 (ja) * | 1991-08-21 | 1999-11-02 | 松下電器産業株式会社 | データ処理装置 |
| US6263488B1 (en) * | 1993-12-03 | 2001-07-17 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
| US5564017A (en) * | 1994-06-30 | 1996-10-08 | International Business Machines Corporation | Procedure for safely terminating network programs during network logoff |
| US6026236A (en) * | 1995-03-08 | 2000-02-15 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
| US5692183A (en) * | 1995-03-31 | 1997-11-25 | Sun Microsystems, Inc. | Methods and apparatus for providing transparent persistence in a distributed object operating environment |
| US6868538B1 (en) * | 1996-04-12 | 2005-03-15 | Fisher-Rosemount Systems, Inc. | Object-oriented programmable controller |
| US6032208A (en) * | 1996-04-12 | 2000-02-29 | Fisher-Rosemount Systems, Inc. | Process control system for versatile control of multiple process devices of various device types |
| US5940294A (en) * | 1996-04-12 | 1999-08-17 | Fisher-Rosemont Systems, Inc. | System for assisting configuring a process control environment |
| US5862052A (en) * | 1996-04-12 | 1999-01-19 | Fisher-Rosemount Systems, Inc. | Process control system using a control strategy implemented in a layered hierarchy of control modules |
| US6098116A (en) * | 1996-04-12 | 2000-08-01 | Fisher-Rosemont Systems, Inc. | Process control system including a method and apparatus for automatically sensing the connection of devices to a network |
| US5838563A (en) * | 1996-04-12 | 1998-11-17 | Fisher-Rosemont Systems, Inc. | System for configuring a process control environment |
| US5801942A (en) * | 1996-04-12 | 1998-09-01 | Fisher-Rosemount Systems, Inc. | Process control system user interface including selection of multiple control languages |
| US5995916A (en) * | 1996-04-12 | 1999-11-30 | Fisher-Rosemount Systems, Inc. | Process control system for monitoring and displaying diagnostic information of multiple distributed devices |
| EP0825506B1 (de) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Verfahren und Gerät zur Fernprozesssteuerung |
| US5980078A (en) * | 1997-02-14 | 1999-11-09 | Fisher-Rosemount Systems, Inc. | Process control system including automatic sensing and automatic configuration of devices |
| US6691183B1 (en) | 1998-05-20 | 2004-02-10 | Invensys Systems, Inc. | Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation |
| AU5025600A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
| US7096465B1 (en) | 1999-05-17 | 2006-08-22 | Invensys Systems, Inc. | Process control configuration system with parameterized objects |
| US6754885B1 (en) | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
| US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
| US7272815B1 (en) | 1999-05-17 | 2007-09-18 | Invensys Systems, Inc. | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
| US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
| US6501995B1 (en) | 1999-06-30 | 2002-12-31 | The Foxboro Company | Process control system and method with improved distribution, installation and validation of components |
| AU6615600A (en) | 1999-07-29 | 2001-02-19 | Foxboro Company, The | Methods and apparatus for object-based process control |
| US6711629B1 (en) | 1999-10-18 | 2004-03-23 | Fisher-Rosemount Systems, Inc. | Transparent support of remote I/O in a process control system |
| US6473660B1 (en) | 1999-12-03 | 2002-10-29 | The Foxboro Company | Process control system and method with automatic fault avoidance |
| US6779128B1 (en) | 2000-02-18 | 2004-08-17 | Invensys Systems, Inc. | Fault-tolerant data transfer |
| EP1502218A4 (de) | 2002-04-15 | 2005-08-17 | Invensys Sys Inc | Verfahren und vorrichtungen für ein auf prozess-, fabrikhallen-, umgebungs- und computer aided manufacturing basierendes oder anderweitiges steuersystem mit echtzeitdatenverteilung |
| US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
| WO2007123753A2 (en) | 2006-03-30 | 2007-11-01 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
| CN104407518B (zh) | 2008-06-20 | 2017-05-31 | 因文西斯系统公司 | 对用于过程控制的实际和仿真设施进行交互的系统和方法 |
| US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
| US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3528062A (en) * | 1968-07-05 | 1970-09-08 | Ibm | Program interlock arrangement,including task suspension and new task assignment |
| US3611307A (en) * | 1969-04-03 | 1971-10-05 | Ibm | Execution unit shared by plurality of arrays of virtual processors |
| US3577185A (en) * | 1969-10-02 | 1971-05-04 | Ibm | On-line system for measuring the efficiency of replacement algorithms |
| US3787673A (en) * | 1972-04-28 | 1974-01-22 | Texas Instruments Inc | Pipelined high speed arithmetic unit |
| FR2253428A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2258112A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| FR2258113A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| US4104718A (en) * | 1974-12-16 | 1978-08-01 | Compagnie Honeywell Bull (Societe Anonyme) | System for protecting shared files in a multiprogrammed computer |
| US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
| JPS5317240A (en) * | 1976-07-31 | 1978-02-17 | Toshiba Corp | Controller |
| JPS53139945A (en) * | 1977-05-13 | 1978-12-06 | Toshiba Corp | Information processing method and its unit |
| US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
| EP0052713B1 (de) * | 1980-11-20 | 1988-04-27 | International Business Machines Corporation | ProzeBverwaltungssystem zum Einplanen von Arbeitsanforderungen in einem Datenverarbeitungssystem |
| US4554626A (en) * | 1981-05-22 | 1985-11-19 | Data General Corporation | Digital data processing system |
| US4453213A (en) * | 1981-07-30 | 1984-06-05 | Harris Corporation | Error reporting scheme |
| US4403288A (en) * | 1981-09-28 | 1983-09-06 | International Business Machines Corporation | Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices |
| US4456958A (en) * | 1982-06-08 | 1984-06-26 | Burroughs Corporation | System and method of renaming data items for dependency free code |
| US4564903A (en) * | 1983-10-05 | 1986-01-14 | International Business Machines Corporation | Partitioned multiprocessor programming system |
| JPS6079460A (ja) * | 1983-10-07 | 1985-05-07 | Nec Corp | 密結合多重演算装置における制御方式 |
| JPS6167167A (ja) * | 1984-09-11 | 1986-04-07 | Fujitsu Ltd | Tssユ−ザ空間管理方式 |
| US4674038A (en) * | 1984-12-28 | 1987-06-16 | International Business Machines Corporation | Recovery of guest virtual machines after failure of a host real machine |
| US4710883A (en) * | 1985-03-12 | 1987-12-01 | Pitney Bowes Inc. | Electronic postage meter having a status monitor |
-
1988
- 1988-02-03 US US07/151,808 patent/US5129087A/en not_active Expired - Fee Related
- 1988-11-17 JP JP63289045A patent/JPH0644235B2/ja not_active Expired - Lifetime
- 1988-11-30 DE DE3852997T patent/DE3852997T2/de not_active Expired - Fee Related
- 1988-11-30 EP EP88119929A patent/EP0326671B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02138633A (ja) | 1990-05-28 |
| DE3852997D1 (de) | 1995-03-23 |
| US5129087A (en) | 1992-07-07 |
| EP0326671A2 (de) | 1989-08-09 |
| JPH0644235B2 (ja) | 1994-06-08 |
| EP0326671B1 (de) | 1995-02-08 |
| EP0326671A3 (de) | 1992-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3852997T2 (de) | Rechnersystem und Verfahren für die Überwachung von nichtstationären Datenstrukturen in einem Rechnersystem. | |
| DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
| DE69127101T2 (de) | System für verteilte mehrfachrechnerkommunikation | |
| DE68921906T2 (de) | Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren. | |
| DE68926775T2 (de) | System und Verfahren für eine allgemeine Schnittstelle für Anwendungsprogramme | |
| DE69107506T2 (de) | Verfahren und Vorrichtung zur Gleichzeitigkeitssteuerung von gemeinsamen Datenaktualisierungen und Abfragen. | |
| DE69029956T2 (de) | Vorrichtung zur Parallelisierung von Programmen | |
| DE69522046T2 (de) | Verfahren zur hierarchischen Betriebsmittelverwaltung | |
| DE3750938T2 (de) | Multiprozessorsystem. | |
| DE3587218T2 (de) | Verfahren zur Ausführung von in einer hohen Programmiersprache geschriebenen Anwenderprogrammen. | |
| DE69030523T2 (de) | Synchronisierung für Multiprozessorsystem | |
| DE69809254T2 (de) | Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb | |
| DE69130580T2 (de) | Cache-Speicheranordnung | |
| DE69130630T2 (de) | Synchrones Verfahren und Gerät für Prozessoren | |
| DE69322064T2 (de) | Verfahren und System zur Zuteilung mehrerer Befehle in einem superskalaren Prozessorsystem in einem einzigen Zyklus | |
| DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
| DE69025650T2 (de) | Multiprozessorsystem mit Vektorpipelinen | |
| DE3855524T2 (de) | Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator | |
| DE2004886A1 (de) | Folgesteuerwerk für eine im Parallelbetrieb arbeitende Datenverarbeitungseinrichtung | |
| DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
| DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
| DE69803468T2 (de) | Vorrichtung und verfahren zur erzeugung eingekapselter und leistungseffizienter datenreferenzen in einer objektorientierten steuerung und verteiltes steuersystem | |
| DE3650158T2 (de) | Sonderzweckprozessor zur Übernahme vieler Betriebssystemfunktionen in einem grossen Datenverarbeitungssystem. | |
| DE3410497A1 (de) | Rechneranordnung | |
| DE3855718T2 (de) | Ubertragungssystem zwischen Prozessoren in einem Nachrichtenverarbeitungssystem mit Übertragung zwischen Ausführungsprozessoren während Übertragung zwischen anderen Prozessoren |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |