DE68927753T2 - Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem - Google Patents

Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem

Info

Publication number
DE68927753T2
DE68927753T2 DE68927753T DE68927753T DE68927753T2 DE 68927753 T2 DE68927753 T2 DE 68927753T2 DE 68927753 T DE68927753 T DE 68927753T DE 68927753 T DE68927753 T DE 68927753T DE 68927753 T2 DE68927753 T2 DE 68927753T2
Authority
DE
Germany
Prior art keywords
program
file
input
output
data
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
DE68927753T
Other languages
English (en)
Other versions
DE68927753D1 (de
Inventor
Masayuki Sonobe
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE68927753D1 publication Critical patent/DE68927753D1/de
Publication of DE68927753T2 publication Critical patent/DE68927753T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

  • Die vorliegende Erfindung betrifft die Daten-Eingabe/- Ausgabe in Computersystemen. Speziell betrifft die Erfindung Daten-Eingabe-/-Ausgabesteuersysteme, die in Betriebs- Systemen vorgesehen sind, um eine Daten-Eingabe/-Ausgabe in Einklang mit Dateneingabebefehlen (die spezifizieren, daß Daten in einen Hauptspeicher des Computersystems eingegeben werden sollen) und Datenausgabebefehle (die spezifizieren, daß Daten aus dem Hauptspeicher ausgegeben werden sollen) auszuführen, wobei die Daten-Eingabe/-Ausgabebefehle durch Programme ausgegeben werden.
  • Ein Stapelprozeß, welcher der allgemeinste verfügbare Datenverarbeitungsprozeß ist, behandelt Daten nicht unmittelbar jedesmal, wenn Daten erzeugt werden, sondern verarbeitet stattdessen Daten, die eine gewisse Zahl von kopier ten Einheiten umfassen. Beispielsweise, wenn Daten sich auf den Verkaufsstatus von Waren beziehen, werden die Daten gruppiert, um sie in Einheiten von Wochen oder Monaten zu verarbeiten.
  • Wenn die Einheiten kürzer sind als die oben erläuter ten, werden Daten, die in vorbestimmte Einheiten gruppiert sind, als eine Datei ausgegeben, und zwar zu einem externen Speichergerät, wie beispielsweise einer Magnetplatte, und zwar mit Hilfe eines Datenausgabeprogramms. Nachdem die Datei vervollständigt ist, können die Daten in der Datei ver arbeitet werden. Es ist dann möglich, ein Dateneingabeprogramm für die Verarbeitung der Daten in der Datei auszuführen, nachdem das Datenausgabeprogramm ausgeführt worden ist, um sie in der Datei zu speichern.
  • Fig. 1 zeigt ein strukturelles Blockschaltbild eines computergerätes unter Verwendung eines grundlegenden sequentiellen zugriffverfahrens (BSAM) welches in einem ersten herkömmlichen Daten-Eingabe-/-Ausgabesteuersystem verwendet wird. Dieses computergerät kann so betrachtet werden, daß es eine Daten-Eingabe-/-Ausgabesteuereinrichtung enthält, die so betrieben werden kann, um ein Dateiausgabeprogramm für die Ausgabe von Daten aus einer Hauptspeichereinheit des Gerätes zu einer externen Speichereinheit auszuführen, die an das Gerät angeschlossen ist, wenn dieses in Gebrauch ist, wobei das Dateiausgabeprogramm eine vorbestimmte Datei der externen Speichereinheit bezeichnet, um die Ausgabedaten zu speichern, und auch so betreibbar ist, um ein Dateieingabeprogramm für die Eingabe von Daten in die Hauptspeichereinheit von einer vorbestimmten Datei der externen Speichereinheit auszuführen, die durch das Dateieingabeprogramm bezeichnet ist und um solche Eingabedaten zu verarbeiten; dabei wird die Daten-Eingabe-/-Ausgabesteuereinrichtung durch ein Betriebssystem des Gerätes gesteuert, welches aufweist: eine Daten-Managementeinheit, um ein solches Ausgeben und Eingeben der Daten zu steuern; eine Job/Task-Managementeinheit, die in Abhängigkeit von einer Auftragsanweisung betreibbar ist und die eine Auftragssteuersprache und Aufträge oder Auftragsschritte spezifiziert, die einer nach dem anderen durch das Betriebssystem auszuführen sind, um die Initialisierung, das Warten und Beendigen von Programmen zu steuern, die den spezifizierten Aufträgen oder Auftragsschritten zugeordnet sind; und eine Datenspeichereinheit für die Verwendung durch das Betriebssystem, wenn die Job/Task-Managementeinheit und die Daten- Managementeinheit bewirken, daß ein solches Dateiausgabeprogramm oder ein solches Dateieingabeprogramm ausgeführt wird.
  • In Fig. 1 sind das Computergerät, die zentrale Prozessoreinheit 1, die Hauptspeichereinheit 2 und die Speichersteuereinheit 3 in der gezeigten Weise geschaltet. Die Hauptspeichereinheit 2 umfaßt einen Anwender-Speicherabschnitt 4 und einen Betriebssystem-Speicherabschnitt 5. Die Anwender-Speichereinheit 4 umfaßt eine Programm-Speichereinheit 6 und eine Daten-Speichereinheit 7. Ein Programm, welches als Daten-Managementeinheit 8 benannt ist, welches ein Teil des Betriebssystems (OS) ist, ist in dem Betriebssystem-Speicherabschnitt gespeichert. Ein Programm, welches als Job/Task-Managementeinheit 9 bezeichnet ist, um die Initialisierung und Vervollständigung des Programms zu managen, welches ebenso ein Teil des Betriebssystems ist, ist in dem Betriebssystem-Speicherabschnitt 5 gespeichert. Ferner ist eine Daten-Speichereinheit 10, die durch diese zwei Managementeinheiten 8 und 9 verwendet wird, vorgesehen. Die Daten-Eingabe- und -Ausgabeeinrichtung überträgt Daten zwischen der Hauptspeichereinheit 2 und den peripheren Geräten eines Computers, beispielsweise zwischen einer Datei 12 in dem magnetischen Plattengerät 11 und der Daten-Speichereinheit 7 innerhalb des Anwender-Speicherabschnitts 4 in Fig. 1. Die Eingabe und die Ausgabe sind vom Gesichtspunkt der Daten-Speichereinheit 7 festgelegt. Das magnetische Plattensteuergerät 13 überträgt in der Praxis die Daten zwischen dem magnetischen Plattengerät 11 und dem Speicher- Steuergerät 3. Ein Dateiname-Speicherabschnitt 14 speichert den Namen (Dateinamen), der durch den Anwender für die Datei 12 bestimmt wurde, innerhalb des Magnetgerätes 11. Die Daten-Managementeinheit 8 umfaßt eine Öffnungsprozeßeinheit 15, eine Einschreibprozeßeinheit 16, eine Leseprozeßeinheit 17 und eine Schließprozeßeinheit 18.
  • Fig. 2 zeigt eine Betriebsansicht zur Erläuterung, auf welche Weise Daten eingeschrieben werden, und zwar auf welche Weise Daten aus der Hauptspeichereinheit 2 in Fig. 1 ausgegeben werden. Das Einschreibprogramm (Dateiausgabeprogramm) 19, welches durch ein Betriebssystem in der Programm-Speichereinheit 6 erzeugt wird und durch den Anwender initiiert wird, führt einen Initialisierungsprozeß in Einklang mit einer Sequenz durch, die an früherer Stelle durch den Anwender programmiert wurde und gibt einen ÖFFNEN-Befehl aus. Wenn es einen ÖFFNEN-Befehl empfängt, um eine Datei vorzubereiten, die durch einen Parameter des Befehls bezeichnet ist, so bestätigt die Öffnungsprozeßeinheit 15 der Daten-Managementeinheit 8 für das Betriebssystem, daß das Magnetplattengerät 11, welches zum Speichern der Datei zu verwenden ist, für die Verwendung bereitsteht und daß eine Datei des gleichen Namens nicht bereits in der Dateiname-Speichereinheit 14 vorhanden ist. Dann speichert die Öffnenprozeßeinheit 15 in einem Speicheradressenbereich 20 der Daten-Speichereinheit 10 die Adresse des Bereiches des Magnetplattengerätes 11, welches dazu zu verwenden ist, um die Datei zu speichern, und übergibt die Steuerung an das Einschreibprogramm 19 zurück. Dann bezeichnet das Einschreibprogramm 19, daß DATEN (1) angefragt werden von einer vorbestimmten Adresse der Daten-Speichereinheit 7 der Anwender-Speichereinheit 4 ausgegeben zu werden und gibt einen EINSCHREIB-Befehl aus. Die Einschreibverarbeitungseinheit 16 nimmt Bezug auf den Speicheradressenbereich 20 der Daten-Speichereinheit 10 und schreibt DATEN (1) an der entsprechenden Adresse der Datei 12 ein. In einer Weise ähnlich der oben erläuterten werden DATEN (2) und DATEN (3) von der Daten-Speichereinheit 7 übertragen. Danach gibt das Einschreibprogramm 19 einen SCHLIESS-Befehl aus, wenn keine Daten mehr einzuschreiben sind. Die Schließprozeßeinheit 18, welche den SCHLIESS-Befehl empfängt, schreibt einen ein Datenende wiedergebenden Kode (bezeichnet als Ende-der- Datei oder als EOF) in die Datei 12 ein und schreibt auch den Dateinamen ein und speichert die Adresse der Datei 12 in dem Magnetplattengerät 11 in der Dateiname-Speichereinheit 14, und zwar als eine Form des Dateisteuerblocks 21 ein, so daß andere Programme diese lesen können. Danach übergibt sie die Steuerung an das Einschreibprogramm 19 zurück. Dann vervollständigt das Einschreibprogramm 19 die Ausführung eines Nachrückprozesses, gibt einen RÜCKKEHR- Befehl aus, um eine Vervollständigung zu deklarieren und wird aus der Programmspeichereinheit 6 durch die Job/Task- Managementeinheit 9 weggelassen.
  • Fig. 3 zeigt eine Darstellung zur Erläuterung einer Operation, in der ein Datenlesevorgang, das heißt eine Dateneingabe in die Hauptspeichereinheit 2 in der in Fig. 1 gezeigten Struktur durchgeführt wird. Ein Leseprogramm (Datei-Eingabeprogramm) 22, welches in die Programmspeichereinheit 6 durch einen Anwender eingegeben wird, wird nicht immer unmittelbar initialisiert. Wenn das Einschreibprogramm 19, welches in Fig. 2 gezeigt ist, ausgeführt wird und eine Datei verwendet, welche den gleichen Dateinamen besitzt wie derjenige, der bezeichnet ist, um durch das Leseprogramm 22 benutzt zu werden, wird die Initialisierung in einem Wartezustand gehalten, und zwar durch die Job/Task-Managementeinheit 9. Abhängig von der Bestimmung wird das Leseprogramm 22 im Wartezustand gehalten, bis das Einschreibprogramm 19 einen RÜCKKEHR-Befehl ausgibt oder bis das Einschreibprogramm 19 einen SCHLIESS-Befehl ausgibt.
  • Wenn das Leseprogramm 22 initialisiert wird, wird ein Anfangsprozeß in Einklang mit einer Sequenz ausgeführt, die an früherer Stelle durch den Anwender programmiert wurde und es wird dann eine ÖFFNEN-Instruktion ausgegeben. Wenn die Öffnenprozeßeinheit 15 der Daten-Managementeinheit 8 des Betriebssystems den ÖFFNEN-Befehl empfängt, bestätigt sie, daß das Magnetplattengerät 11, in welchem die bezeichnete Datei zu speichern ist, für die Verwendung zur Verfügung steht und daß der Dateisteuerblock 21 mit dem speziellen Namen der Datei bereits in der Dateiname-Speichereinheit 14 existiert und daß die Datei 12 existiert. Dann speichert die Dateiname-Speichereinheit 14 in der Daten- Speichereinheit 10 die Adresse des Bereiches, in welchem die Datei in dem Magnetplattengerät 11 gespeichert ist und übergibt die Steuerung zu dem Leseprogramm 22 zurück. Das Leseprogramm 22 gibt einen LESE-Befehl aus mit der Anfrage, daß ein Punkt der Daten in die Daten-Speichereinheit 7 in der Anwender-Speichereinheit 4 eingegeben wird. Die Leseprozeßeinheit 17 nimmt Bezug auf den Speicheradressenbereich 20 in der Daten-Speichereinheit 10, um die Adresse der DATEN (1) in der Datei 12 zu bestimmen und liest dann die DATEN (1) in die Daten-Speichereinheit 7 ein. In ähnlicher Weise werden die DATEN (2) und DATEN (3) ausgelesen. Danach gibt das Leseprogramm 22 einen LESE-Befehl aus, um einen anderen Datenpunkt oder Bereich (es weiß nicht, wieviele Datenpunkte bzw. Bereiche sich in der Datei befinden) zu lesen. Dann, da keine weiteren Daten in der Datei 12 vorhanden sind, erscheint ein Datenende-Kode (EOF). Somit überträgt die Leseprozeßeinheit 17 nicht die Daten, sondern unterrichtet das Leseprogramm 22 über das "Datenende". Nach dem Empfang dieser Mitteilung gibt das Leseprogramm 22 einen SCHLIESS-Befehl aus. Die Schließprozeßeinheit 18 empfängt den SCHLIESS-Befehl und gibt die Steuerung unmittelbar an das Leseprogramm 22 zurück. Wenn danach das Leseprogramm 22 den Nachrückprozeß vervollständigt und die Vervollständigung deklariert durch Ausgabe eines RÜCKKEHR-Befehls, wird das Leseprogramm durch die Job/Task-Managementeinheit 9 weggelassen.
  • Wenn die Auftragsanweisung, die in der Auftragssteuersprache geschrieben ist, angibt, daß das Leseprogramm 22 initialisiert werden soll, und zwar unmittelbar nach dem Ende des Einschreibprogramms 19, wenn der Anwender das Einschreibprogramm 19 initialisiert hat, so initialisiert die Job/Task-Managementeinheit 9, die ein Programm des bezeichneten Namens aus einer Programmbibliothek ist, automatisch das Leseprogramm, unmittelbar nachdem das Einschreibprogramm 19 einen RÜCKKEHR-Befehl ausgegeben hat, und erklärt das Ende von dessen Programm. Jedoch im Falle eines anormalen Programmendes (wenn das Einschreibprogramm 19 nicht das Programmende in einer normalen Weise erreicht hat aufgrund eines Fehlers in den Daten, die durch das Programm gegeben sind oder weil eine Bedienungsperson angefragt hat, daß die Ausführung angehalten werden soll), sollte ein Leseprogramm 22, welches die gleiche Datei 12 wie das frühere Einschreibprogramm 19 benutzt, allgemein nicht initialisiert werden. In einem solchen Fall ist es, nachdem die Ursache einer anormalen Beendigung beseitigt worden ist, erforderlich, das Einschreibprogramm 19 erneut auszuführen und die Datei 12 erneut korrekt zu schreiben. Somit detektiert zu diese Zeitpunkt die Job/Task-Managementeinheit 9 den anormalen Zustand und initiiert nicht automatisch das Leseprogramm 22.
  • Die zuvor erläuterte automatische Initialisierung wird als eine Auftragsschrittsteuerung oder Auftragssteuerung bezeichnet. In herkömmlicher Weise wird dann, wenn zwei Programme mit einer Ausgabe-Eingabe-Beziehung, bei der Daten in einer vorbestimmten Datei durch ein Programm gespeichert werden (das Einschreib- oder Datei-Ausgabeprogramm) und durch das andere Programm wieder aufgesucht werden (das Lese- oder Datei-Eingabeprogramm) und diese Programme auszuführen sind unter Verwendung einer solchen Auftrags(schritt)steuerung, das Datei-Eingabeprogramm bis zum Ende des Datei-Ausgabeprogramms im Wartezustand gehalten. Es ist daher für einen Anwender üblich, eine Auftragsanweisung einzuschreiben (in der Auftragssteuersprache) unter Spezifizierung, daß diese Programme jeweils Aufträge oder Auftragsschritte sind, die sequentiell ausgeführt werden sollen. Daher ist lediglich dann, wenn das Einschreibprogramm 19 von Fig. 2 vervollständigt ist, das Leseprogramm 22 wirksam, um die Datei einzugeben, die durch die Job/Task- Managementeinheit 9 initialisiert wurde. Es besteht daher ein Problem dahingehend, daß der Anwender keine Ergebnisse der Ausführung der zwei Programme erhalten kann, wenn er nicht für eine vorbestimmte Zeitdauer wartet, die gleich ist der Summe der jeweiligen Ausführungszeiten der beiden Programme 19 und 22.
  • Fig. 4 zeigt ein Zeitsteuerdiagramm, welches die oben erläuterten Nachteile des Standes der Technik veranschaulicht. In Fig. 4 gibt ein zeitweilig hoher Abschnitt des Graphen an, daß der Prozeß ausgeführt wird. Eine kreisförmige Markierung und ein zugeordneter Pfeil zeigen an, daß ein Ereignis (ein Start oder ein Stopp einer Operation), der durch den Pfeilkopf angezeigt ist, durch ein anderes Ereignis (Start oder Stopp einer Operation) ausgelöst wird, welches durch die kreisförmige Markierung angezeigt ist. Es ist angenommen, daß die zwei Programme, das heißt ein Einschreibprogramm und ein Leseprogramm, gleichlaufend bei der ersten Stufe initiiert werden. Jedoch wird der offene Prozeß des Leseprogramms in einem Wartezustand gehalten (in Fig. 4 durch die Sternchenmarkierung angezeigt) bis alle Daten in der Datei geschrieben sind.
  • Fig. 5 erläutert ein "Rohr" ("pipe"), welches bei einem zweiten herkömmlichen Daten-Eingabe- und -Ausgabesteuerverf ahren verwendet wird. Eine Computer-Speichervorrichtung umfaßt ein Anwender-Speichergerät 31, ein Dienstprogramm-Speichergerät 32, ein Benutzeroberfläche-Speichergerät 33 und ein Kernroutinen-Speichergerät 34. Die Speichervorrichtung ist mit einem Tastenfeldgerzt 41 und einem Anzeigegerät 42 verbunden. Es sei angenommen, daß der Anwender 36 einen Befehl 35 eingibt (Computer-Befehl) in Form von "cat pr-λ22" unter Verwendung des Tastengerätes 41. In diesem Fall wird der Befehl von dem Anwender-Speichergerät 31 zu dem Benutzeroberfläche-Speichergerät 33 übertragen und wird als eine Benutzeroberfläche-Befehlsanalyse-Einheit 37 interpretiert. Die Funktion von "cat", welches den ersten Schritt in dem Befehl 35 darstellt, bedeutet "Lese eine Zeichenkette aus einer Standard-Eingangsdatei und gib diese an eine standard-Ausgangsdatei aus". "pr-λ22", welches den zweiten Schritt in dem Befehl darstellt, bedeutet "Lese eine Standard-Eingangsdatei und stelle diese in einer Standard-Ausgangsdatei dar, und zwar nach Ändern des Formats in das vorbestimmte Format von 22 Reihen pro Seite". Ein spezielles Symbol " ", der diese zwei Abschnitte verbindet, bedeutet "Veranlasse die Standard-Ausgangsdatei des Programms, welches durch den auf der linken Seite des Symbols geschriebenen Befehl ausgeführt wird, zur Standard- Eingangsdatei des Programms wird, welches durch den auf der rechten Seite des Symbols geschriebenen Befehl ausgeführt wird. Diese zwei Schritte können gleichzeitig ausgeführt werden, nämlich durch eine Parallelverarbeitung". Die Benutzeroberf läche-Befehlsanalyseeinheit 37 ist ein analytischer Prozeß. Sie erkennt die Parallelverarbeitungsbezeichnung. "cat"-Prozeß-Programme (nämlich ein Dienstprogramm) verwenden die Kernel-Funktion und das "pr"-Dienstprogramm wird in einer Betriebseinheit erzeugt, welches beispielsweise die Prozesse P1 und P2 besitzt und wird in dem Dienstprogramm-Speichergerät 32 angeordnet. Der Prozeß P1 ist so konfiguriert, daß er das Tastengerät 41 als seine Standard-Eingabedatei besitzt. Die Standard-Ausgangsgröße 38 von dem Prozeß P1 wird in eine Pipe eingegeben, nämlich einen Kommunikationspfad zwischen den Prozessen, der neuerlich in dem Kernel-Speichergerät 34 eingerichtet wird. Andererseits wird die Standard-Eingangsgröße 39 des Prozesses P2 so ausgeführt, daß sie der Ausgangsgröße aus der Pipe 40 entspricht. Diese Betriebsweise ermöglicht es der Pipe, zwei Prozesse zu verbinden. Ferner wird die Anzeige 42 der Standard-Ausgangsgröße des Prozesses P2 zugeordnet. Wenn die Pipe Eingangsdaten empfängt, gibt sie diese Daten aus, und zwar ohne einen Wartevorgang. Wenn daher in dieser Situation der Anwender 36 eine Vielzahl von Zeichen unter Verwendung des Tastenfeldgerätes 41 eingibt, werden die Daten, die in den Prozeß P1 durch EINSCHREIBEN eingeschrieben werden, durch eine LESE-Instruktion des Prozesses P2 schnell verarbeitet, und zwar unabhängig davon, wie weit der Prozeß P1 vorangeschritten ist. Daher werden die Prozesse P1 und P2 parallel verarbeitet.
  • Die in Fig. 5 gezeigte "Pipe" bildet eine gut bekannte Technologie und ist beispielsweise in "The Design of the Unix Operating System", Maurice J. Bach, Prentice Hall International Inc., Englewood Cliffs, New Jersey, USA, 1986, Seiten 112-117, beschrieben. Sie ist jedoch mit dem Fehler behaftet, daß lediglich Programme, die den Eingabebefehl LESEN enthalten, um aus einer Standard-Eingangsdatei zu lesen, und die den Ausgabebefehl EINSCHREIBEN zum Einschreiben in eine Standard-Ausgangsdatei enthalten, verwendet werden können.
  • Die LESE- und EINSCHREIB-Befehle vom Stapeltyp bei dem oben beschriebenen ersten herkömmlichen Verfahren sind hinsichtlich der Funktion von dem LESE-Befehl und dem EINSCHREIB-Befehl in dem oben zitierten Pipe verschieden, obwohl sie in der gleichen Weise buchstabiert werden. Das Betriebssystem, welches eine "Pipe"-Funktion besitzt, welches bei dem zweiten herkömmlichen Verfahren erwähnt wurde, besitzt keine Auftragssteuerfunktion zur Durchführung einer Stapelverarbeitung und daher sind die Stapelfunktion und die Auftragssteuerfunktion voneinander verschieden. Die Bezeichnung "Stapel" kann in Relation zu einem Betriebssystem verwendet werden, welches eine Pipe-Funktion besitzt, dies bezeichnet jedoch eine Funktion, bei der, wenn Benutzeroberf lächen-Befehle früher gesammelt und registriert wurden, diese in einer Gruppe zusammengefaßt bezeichnet werden können. Jedoch kann dieser Typ eines Betriebssystems nicht die Eingabefunktion vom Stapeltyp realisieren, welche die Bezeichnung trägt "grundlegendes sequentielles Zugriffsverfahren (BSAM)", welches durch ein verschiedenes Betriebssystem beim Stand der Technik vorgesehen wird. Daher, obwohl sich die Bezeichnungen von "Stapel" überlappen, ist der Stapel, der bei dem Betriebssystem mit der Stapelfunktion verwendet wird, vollständig irrelevant hinsichtlich des Daten-Eingabe- und -Ausgabesteuerverfahrens nach der vorliegenden Erfindung.
  • Andere Stapeltyp-Eingabe-/Ausgabesteuerverfahren, zusätzlich zu dem oben zitierten grundlegenden sequentiellen Zugriffsverfahren, umfassen ein grundlegendes Partitionier- Zugriffsverfahren (BPAM) für die Durchführung eines sequentiellen Zugriffes, nachdem die Partitionierungszahl gefunden wurde, umfaßt ein grundlegendes Direktzugriffsverfahren (BDAM) zur Durchführung einer Wiederauff indung durch Bezeichnen einer Adresse oder eines Schlüssels, und ein Warteschlangen-Sequenz-Zugriffsverfahren (QSAM) zur Durchführung eines Zugriffs in Einheiten der Aufzeichnungen. Diese Verfahren sind insofern ähnlich, als sie einen offenen Prozeß eines Leseprogramms im Wartezustand halten, bis alle Daten einer Datei geschrieben sind, wie an früherer Stelle unter Hinweis auf Fig. 4 beschrieben wurde.
  • Ein drittes herkömmliches Daten-Eingabe- und -Ausgabesteuerverfahren, welches als ein Online-Verfahren bezeichnet wird, soll unter Hinweis auf Fig. 6 erläutert werden. Eine Vielzahl von Prozessen P1, P2, P3 und P4 (43 bis 46) bilden ein System, tauschen Nachrichten untereinander aus, indem diese über Puffer 47 oder Dateien geleitet werden. Gemäß diesem Verfahren ist es für andere Prozesse möglich, beispielsweise die Prozesse P2 44, eine Nachricht (durch einen LESE-Befehl) zu lesen, die an den Puffer 47 durch die Prozesse P1 43 ausgegeben wurde, das heißt es ist eine Parallelverarbeitung der Schreibprogramme und Leseprogramme möglich.
  • Um jedoch bei dem Online-Verfahren eine Nachricht zwi schen einer Vielzahl von Prozessen zu übertragen und zu empfangen, ist es über diesen Typ von Nachricht erforderlich und auch für die Identifizierung der Bestimmung bzw. des Bestimmungsortes der Nachricht erforderlich, innerhalb der Eingabe- und Ausgabedaten spezifiziert zu werden oder in einer Umgebungsdatei entsprechend einem Programm. Die Entsprechung (Beziehung) zwischen den Ausgangs- und Eingangsprogrammen ist nicht speziell gut definiert. Wenn beispielsweise die Nachrichtenübertragung von dem Prozeß P1 43 zu dem Prozeß P3 45 vervollständigt ist, besteht die Möglichkeit, daß eine andere Nachricht übertragen werden muß, beispielsweise von dem Prozeß P4 46 zu dem Prozeß P3 45, wodurch es schwierig wird, das Eingangsprogramm des Prozesses P3 45 zu vervollständigen. Aufgrund dieser Unterschiede ist es unmöglich, das Online-Verfahren der Eingabe- und Ausgabe-Parallelprozesse erfolgreich anzuwenden, wenn ein Eingabe- und Ausgabesteuerverfahren vom Stapeltyp verwendet wird, wie dies bei der vorliegenden Erfindung gewünscht wird.
  • Bei dem herkömmlichen Daten-Eingabe- und -Ausgabesteuerverfahren vom Stapeltyp ist es nämlich bei dem Verfahren, bei welchem ein Start der Ausführung eines Programms für die Eingabe der Daten einer Datei nur zugelassen wird, nachdem alle Daten, welche diese Datei bilden, die durch ein anderes Programm erstellt wurde, ausgegeben worden sind, unmöglich eine parallele Verarbeitung zwischen einem Datei-Ausgangsprogramm und einem Datei-Eingangsprogramm zur Verarbeitung der Dateidaten durchzuführen. Es existiert somit ein Problem, daß es länger dauert, den gesamten Prozeß auszuführen als für den Fall, bei dem eine parallele Verarbeitung möglich ist.
  • Gemäß der vorliegenden Erfindung, wie sie durch den Wortlaut des Anspruches 1 wiedergegeben ist, wird ein Computergerät mit einer Daten-Eingabe-/-Ausgabesteuereinrichtung vom Stapeltyp geschaffen, welche betrieben werden kann, um ein Datei-Ausgabeprogramm auszuführen, um Daten aus einer Hauptspeichereinheit des Gerätes zu einer externen Speichereinheit, die an das Gerät angeschlossen ist, auszugeben, wenn dieses in Benutzung ist, bei der das Datei-Ausgabeprogramm eine vorbestimmte Datei der externen Speichereinheit bezeichnet, und zwar für die Speicherung der Ausgabedaten, und welche auch so betreibbar ist, um ein Datei-Eingabeprogramm auszuführen, um Daten von einer vorbestimmten Datei der externen Speichereinheit in die Hauptspeichereinheit einzugeben, die durch das Datei-Eingabeprogramm bezeichnet ist, und um solche Eingabedaten zu verarbeiten; wobei die Daten-Eingabe-/-Ausgabesteuereinheit durch ein Betriebssystems des Gerätes steuerbar ist, welches aufweist: eine Daten-Managementeinheit zum Steuern einer solchen Ausgabe und Eingabe der Daten; eine Job/Task- Managementeinheit, die in Abhängigkeit von einer Auftragsanweisung betreibbar ist, um in einer Auftragssteuersprache Aufträge oder Auftragsschritte einzuschreiben und zu spezifizieren, die einer nach dem anderen durch das Betriebssystem auszuführen sind, um die Initialisierung, das Warten und das Beendigen der Programme zu steuern, die den spezifizierten Aufträgen oder Auftragsschritten zugeordnet sind; und eine Daten-Speichereinheit für die Verwendung durch das Betriebssystem, wenn die Job/Task-Managementeinheit und die Daten-Managementeinheit veranlassen, daß ein solche Datei- Ausgangsprogramm oder ein solches Datei-Eingangsprogramm ausgeführt wird, dadurch gekennzeichnet, daß das Betriebssystem ferner aufweist: eine Eingabe-/Ausgabe-Parallel- Managementeinheit mit einer Einrichtung zum Registrieren von wenigstens einem Programmpaar, welches Paar aus jeweiligen solchen Datei-Ausgabe- und Datei-Eingabeprogrammen besteht, welche die gleiche Datei bezeichnen und welche betreibbar ist, nachfolgend der Initialisierung beider Programme eines solchen registrierten Programmpaars durch die Job/Task-Managementeinheit in Einklang mit einer Auftragsanweisung, zu veranlassen, daß das Datei-Eingabeprogramm des Paares parallel mit dem Datei-Ausgabeprogramm des Paares ausgeführt wird, ohne einen Wartezustand einzuführen, bis die Ausführung des Datei-Ausgabeprogramms vervollständigt ist; und eine Eingabe-/Ausgabe-Parallel-Steuereinheit, die eine Datenübertragungseinheit enthält und unter der Steuerung der Eingabe-/Ausgabe-Parallel-Managementeinheit betreibbar ist, um die Hauptspeichereinheit dafür zu verwenden, um Daten zu übertragen, die durch das Datei-Ausgabeprogramm ausgegeben wurden, und zwar zu dem Datei-Eingabeprogramm eines solchen Programmpaares während der parallelen Ausführung der zwei Programme, ohne daß solche Daten durch eine solche externe Speichereinheit hindurchgeleitet werden.
  • Ein derartiges Computergerät kann sowohl das Datei- Ausgabeprogramm zur Ausgabe eines Daten-Ausgabebefehls als auch ein Datei-Eingabeprogramm zur Ausgabe eines Datei-Eingabebefehls, der die gleiche Datei betrifft, parallel ausführen, ohne daß dabei bis zu dem Zeitpunkt gewartet werden muß, bei dem die Ausführung des Datei-Ausgabeprogramms vervollständigt ist, und zwar in einem Daten-Eingabe- und -Ausgabesteuerverfahren vom Stapeltyp.
  • Es wird nun anhand eines Beispiels auf die beigefügten Zeichnungen Bezug genommen, in denen:
  • Fig. 1 ein Blockschaltbild eines ersten herkömmlichen Daten-Eingabe-/-Ausgabesteuersystems ist;
  • Fig. 2 ein Diagramm für die Verwendung bei der Erläuterung des Einschreibens von Daten bei dem System nach Fig. 1 ist;
  • Fig. 3 ein Diagramm für die Verwendung bei der Erläuterung des Lesevorgangs von Daten bei dem System von Fig. 1 ist;
  • Fig. 4 ein Zeitsteuerdiagramm ist, welches den Datenlesevorgang und Einschreibvorgang bei dem System von Fig. 1 betrifft;
  • Fig. 5 ein Blockschaltbild eines zweiten herkömmlichen Daten-Eingabe-/-Ausgabesteuersystems zeigt;
  • Fig. 6 eine Ansicht für die Verwendung bei der Erläuterung eines dritten herkömmlichen Daten-Eingabe-/-Ausgabesteuersystems zeigt;
  • Fig. 7A und 7B Blockdiagramme sind, welche die Prinzipien der Daten-Eingabe-/-Ausgabesteuersysteme veranschaulichen, welche die vorliegende Erfindung verwenden;
  • Fig. 8 ein Blockschaltbild ist, welches eine Ausführungsform eines Daten-Eingabe-/-Ausgabesteuersystems gemäß der vorliegenden Erfindung veranschaulicht;
  • Fig. 9 ein Beispiel einer Eingabe-/Ausgabe-Parallel- Managementtabelle zeigt, die bei dem System nach Fig. 8 verwendet wird;
  • Fig. 10 ein Zeitsteuerdiagramm ist, welches den Datenlesevorgang und Einschreibvorgang bei dem System von Fig. 8 betrifft;
  • Fig. 11a, 11b und 11c detaillierte Flußdiagramme eines Parallel-Bezeichnungs-Register-/Weglaß-Prozesses sind, der bei dem System nach Fig. 8 durchgeführt wird;
  • Fig. 12 ein Betriebs-Flußdiagramm einer Eingabe-/Ausgabe-Parallel-Managementeinheit bei dem System nach Fig. 8 zeigt;
  • Fig. 13A, 13B und 13C detaillierte Flußdiagramme eines offenen Prozesses bei dem System von Fig. 8 sind;
  • Fig. 14A, 14B und 14C detaillierte Flußdiagramme eines geschlossenen Prozesses bei dem System nach Fig. 8 zeigen;
  • Fig. 15A und 15B detaillierte Flußdiagramme eines Datenübertragungsprozesses bei dem System von Fig. 8 sind;
  • Fig. 16A eine Darstellung ist, die ein Beispiel veranschaulicht, bei dem ein Daten-Eingabe-/-Ausgabesteuersystem welches die vorliegende Erfindung verwendet, auf drei Programme angewendet ist;
  • Fig. 16B eine Darstellung zeigt, die ein Beispiel wiedergibt, bei dem ein Daten-Eingabe-/-Ausgabesteuersystem, welches die vorliegende Erfindung verwendet, zu vielen Programmen zugeführt wird; und
  • Fig. 17 ein Flußdiagramm ist, um zu erläutern, auf welche Weise eine bevorzugt Ausführungsform der vorliegenden Erfindung in einem Fall arbeitet, bei dem das Programm in einer anormalen Weise endet.
  • Fig. 7A zeigt das Prinzip des Daten-Eingabe-/-Ausgabe steuersystems, welches einen ersten Aspekt der vorliegenden Erfindung verkörpert, und Fig. 7B zeigt die Prinzipien solcher Steuersysteme, die einen zweiten und einen dritten Aspekt der Erfindung verkörpern. Wie in den Fig. 7A und 7B gezeigt ist, umfaßt das Rechengerät eine zentrale Prozessoreinheit 51, eine Hauptspeichereinheit 52 und eine Speichersteuereinheit 55. Eine Anwender-Speichereinheit 53 und eine Betriebssystem-Speichereinheit 54 sind in der Hauptspeichereinheit 52 gelegen. Wie allgemein in den Fig. 7A und 7B gezeigt ist, sind die Datenmanagementeinheit 56 zum Steuern des Dateneinschreibvorganges und des Datenlesevorganges, die Job/Task-Managementeinheit 57 zum Managen der Initialisierung, der Warteoperation und eines Endes eines Programms, und die Daten-Speichereinheit 58, die verwendet wird, wenn die Daten-Managementeinheit 56 und die Job/Task- Managementeinheit 57 ein Datei-Ausgabeprogramm und ein Datei-Eingabeprogramm ausführen, in der Betriebssystem-speichereinheit 54 vorgesehen.
  • In den Fig. 7A und 7B tauscht die Eingabe-/Ausgabe- Parallel-Managementeinheit 50 die Steuerung mit der Daten- Managementeinheit 56 aus und managt, ob ein Parallelprozeß eines Ausgabeprogramms und eines Eingabeprogramms für eine Gegenstandsdatei ausgeführt wird, ob beispielsweise die Ausgabe- und Eingabeprogramme von der Daten-Managementein heit 56 aus in Einklang mit einem Dateiöffnungsbefehl übertragen werden.
  • Die Datenübertragungseinheit 60 tauscht Daten mit der Daten-Managementeinheit 56 aus, und zwar unter der Steuerung der Eingabe-/Ausgabe-Parallel-Managementeinheit 59 und überträgt Daten von einem Bereich der Hauptspeichereinheit 52, in die diese durch ein Einschreibprogramm (Dateiausgabeprogramm) eingeschrieben worden waren, zu einem Lesebereich der Hauptsteuereinheit 52, der dem Leseprogramm (Dateieingabeprogramm) zugeordnet ist, ohne daß dabei die Daten durch die externe Speichereinheit laufen.
  • Bei dem System nach Fig. 7A, bei dem erste Aspekt der vorliegenden Erfindung verkörpert ist, ist eine Eingabe/Ausgabe-Parallel-Managementtabelle 62 in der Daten-Speichereinheit 58 vorgesehen und eine den Parallelbetrieb bezeichnende Aufzeichnungs-/Weglaß-Prozeßeinheit 53 ist in der Job/Task-Managementeinheit 57 zusätzlich zu den oben aufgeführten Strukturen vorgesehen.
  • Die Eingabe- und Ausgabe-Parallel-Managementtabelle 62 speichert in Form eines Paares die jeweiligen Namen eines Dateiausgabeprogramms und eines Dateieingabeprogramms (Programmpaar), welche die gleiche Datei benutzen. Solche Paare werden für jeweilige Dateien gespeichert.
  • Die den Parallelbetrieb bezeichnende Aufzeichnungs- /Weglaß-Prozeßeinheit 63 ist so betreibbar, um Änderungen in bezug auf den Inhalt der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 vorzunehmen, das heißt die Aufzeichnung oder das Weglassen von Namen von Ausgabe- und Eingabepro grammen, die ein Paar ausmachen, in Einklang mit einem Programm, anders als das Dateiausgabeprogramm und das Dateieingabeprogramm oder in Einklang mit einem Befehl von einem Anwender.
  • Bei dem System nach Fig. 7A informiert die Daten-Mana gementeinheit 56 die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 über den Namen einer Datei, die in Einklang mit einem Dateiöffnungsbefehl von einem Dateiausgabeprogramm geöffnet werden soll, beispielsweise dem Einschreibprogramm. Wenn dann die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 beurteilt, daß die in Betracht stehende Datei für die Verwendung in einem Eingabe- und Ausgabe-Parallel- Prozeß registriert ist, wird der Datentransfer durch einen Datei-Öffnungsbefehl von dem Dateieingabeprogramm, beispielsweise dem Leseprogramm, fertiggestellt. Die früher durch das Einschreibprogramm gespeicherten Daten (ausgelesen) werden dann zu dem Datenbereich des Leseprogramms in der Hauptspeichereinheit 52 durch die Datenübertragungseinheit 60 über die Daten-Managementeinheit 56 übertragen, und zwar ohne einen Wartevorgang hinsichtlich einer Vervoll ständigung des Einschreibprogramms. Die Steuerung, wie beispielsweise die Initialisierung oder Plazierung der Lese- /Einschreibprogramme in einem Wartezustand zum Auslesen eines Programms und zum Lesen eines Programms als Task nach einem Betrieb der Paralleleingabe und -ausgabe wird durch die Job/Task-Managementeinheit 57 durchgeführt. Daher ersetzt die oben zitierte Operation die herkömmliche Operation, bei der die Daten in eine Datei in einer tatsächlichen äußeren Speichereinheit eingeschrieben werden, wie beispielsweise einer Magnetplatte oder einem Ma gnetband, und, nachdem die Dateiherstellung vervollständigt ist, wird eine Operation eines Auslesens der Daten aus der Dabei eingeleitet. Die Daten werden direkt zu einem Leseprogramm in den Einheiten übertragen, in welchen die Daten ausgelesen sind, beispielsweise können die Einheiten ein Zeichen oder eine Aufzeichnung einer vorbestimmten oder variablen Länge sein. Somit werden die Daten von einem Abschnitt des Hauptspeichers zu dem anderen Abschnitt des Hauptspeichers übertragen, ohne daß sie durch ein externes Speichergerät laufen. Daher kann der Hauptspeicher auf den virtuellen Speicher erweitert werden oder es kann die Einschreib- und Lesegeschwindigkeit gesteuert werden unter Verwendung von mehr als einem Puffer oder es können das Lesen und das Einschreiben in einem Stapel oder in einer geteilten Weise durchgeführt werden.
  • Wie in Fig. 7A gezeigt ist (erster Aspekt der Erfindung), ist es möglich, den Inhalt der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 unter Verwendung der Parallelbezeichnungs-Aufzeichnung (Register)/Weglaß-Prozeßeinheit 63 in Einklang mit einem Befehl von einem Anwender oder einem unterschiedlichen Programm geändert werden, woraufhin das Dateiausgabeprogramm und das Dateieingabeprogramm, die durch den Anwender bezeichnet sind, oder ein verschiedenes Programm, mit dem in Betracht stehenden Befehl, in paralle 1er Weise verarbeitet werden kann.
  • Bei dem System von Fig. 7B (zweiter Aspekt der Erfindung), sind die Eingabe-/Ausgabe-Parallel-Managementtabelle 62 und die Parallelbezeichnungs-Aufzeichnung(Register)/Weglaß-Prozeßeinheit 63 nicht vorgesehen. Es wird eine Paral lelverarbeitung der Dateiausgabeprogramme und der Datejeingabeprogramme, die an früherer Stelle als Paare in der Eingabe-/Ausgabe-Parallel-Managementeinheit 59 registriert worden sind, ausgeführt.
  • Das Daten-Eingabe-/-Ausgabesteuersystem, welches einen dritten Aspekt der vorliegenden Erfindung verkörpert, welches ebenfalls unter Hinweis auf Fig. 7B beschrieben wurde, arbeitet in der gleichen grundsätzlichen Weise wie das zuvor beschriebene System, welches den zweiten Aspekt der Erfindung verkörpert, jedoch dient in diesem Fall die Job/Task-Managementeinheit 57 dazu, und zwar nach einer anormalen vervollständigung von einem Dateiausgabeprogramm oder Dateieingabeprogramm, zu veranlassen, daß das andere der Dateiausgabeprogramme und Dateiemgabeprogramme in Form eines anormalen Anhaltens endet. Wenn der Anwender das folgende Programm unter Verwendung der Auftragssteuersprache beispielsweise bezeichnet und beide Datei-Eingabe- und Datei-Ausgabeprogramme in einer anormalen Weise enden, wird das folgende Programm automatisch initialisiert.
  • Wie oben dargelegt wurde, ist es bei einer Ausfüh rungsform der vorliegenden Erfindung möglich, ein Datei- Ausgabeprogramm und ein Datei-Eingabeprogramm zu betreiben, die die gleiche Datei verarbeiten, und zwar in paralleler Form ohne das herkömmliche Dateieingabeprogramm und Dateiausgabeprogramm von Stapeltyp zu ändern.
  • Fig. 8 zeigt ein Blockschaltbild einer Ausführungsform eines Daten-Eingabe-/-Ausgabesteuersystems nach der vorliegenden Erfindung. Die Hauptstruktur dieser Ausführungsform ist ähnlich derjenigen, die in dem Blockschaltbild von Fig. 7A gezeigt ist; das Einschreibprogramm 64 und das Leseprogramm 65 sind in der Anwender-Speichereinheit 53 des Hauptspeichergerätes 52 ausgebildet.
  • Die Daten-Managementeinheit 56, die Teil eines Betriebssystems ist, welches in einer Speichereinheit 54 gespeichert ist, umfaßt eine Öffnungsprozeßeinheit 66, Schreibprozeßeinheit 67, Leseprozeßeinheit 68 und Schließprozeßeinheit 69 in ähnlicher Weise wie der in Fig. 1 gezeigte Stand der Technik. Eine Auftrag-Wartezustand-/Freigabe-Prozeßeinheit 70 zur Steuerung des Auftrag-Wartezustandes und dessen Aufhebung ist in der Job/Task-Manage menteinheit 57 zusätzlich zu der früher erwähnten Parallel- Bezeichnungs-Aufzeichnungs-/Weglaß-Prozeßeinheit 63 vorgesehen.
  • Es soll nun der Betrieb dieser Ausführungsform des Daten-Eingabe-/-Ausgabesteuersystems unter Hinweis auf Fig. 8 erläutert werden.
  • Die numerierten Passagen sprechen im folgenden jeweils den mit Kreisen umgebenen Zahlen (1) bis (19), die selbst in Fig. 8 gezeigt sind.
  • (1) Um die Möglichkeit zu haben, in paralleler Form ein Dateiausgabeprogramm für die Ausgabe eines Datenausgabebefehis, der eine Datei betrifft, und ein Dateiemgabeprogramm für die Ausgabe eines Dateieingabebefehis, der die gleiche Datei betrifft, auszuführen, wird der Name der in Betracht stehenden Datei (das heißt die Datei, die einer solchen Paralleloperation zu unterziehen ist) zuerst registriert Wenn somit ein Anwender beispielsweise den Namen einer solchen Datei, die einem Parallelbetrieb zu unterwerfen ist, eingibt oder eine Identifizierung oder einen Identifizierer zum Identifizieren des Namens der Datei eingibt, und zwar von einem Tastenfeld aus (in Fig. 8 nicht gezeigt), registriert oder ändert die Parallel-Bezeichnungs- Aufzeichnungs-/Weglaß-Prozeßeinheit 63 in der Job/Task-Managementeinheit 57 den Namen der Datei oder den oder die Namen des Dateiemgabe- und/oder Dateiausgabeprogramms in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 in dem Datenspeicher 58.
  • (2) Das in der Anwender-Speichereinheit 53 durch die Job/Task-Managementeinheit 57 eines Betriebssystems in Einklang mit einer Initialisierungsanfrage eines Anwenders erzeugte Einschreibprogramm 64 führt einen Initialisierungsprozeß aus (das heißt eine früher durch den Anwender programmierte Sequenz) und gibt dann einen ÖFFNEN-Befehl aus.
  • Das Anwenderprogramm kann die gleichen Befehle ÖFFNEN, LESEN, EINSCHREIBEN oder SCHLIESSEN enthalten, die in dem Beispiel beschrieben sind, welches in den Fig. 2 und 3 gezeigt ist, die den Stand der Technik betreffen, und das Programm braucht nicht geändert zu werden, um bei der vorliegenden Erfindung zu arbeiten.
  • (3) Eine Öffnenprozeßeinheit 66 der Daten-Managementeinheit 56 des Betriebssystems empfängt einen ÖFFNEN-Befehl, der durch das Einschreibprogramm ausgegeben wurde, und überträgt dann den Namen der Datei, die durch den Befehl bezeichnet wurde, zu der Eingabe-/Ausgabe-Parallel-Managementeinheit 59.
  • (4) Die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 nimmt Bezug auf die Eingabe-/Ausgabe-Parallel-Managementtabelle 62 und prüft, ob die bezeichnete Datei im voraus registriert wurde, um Gegenstand einer Paralleloperation zu sein.
  • Ein Beispiel einer Eingabe-/Ausgabe-Parallel-Managementtabelle 62 ist in Fig. 9 gezeigt. Wie in Fig. 9 gezeigt ist, registriert die Tabelle 62 für jede eine von n "Parallelbetrieb"-Dateien, die nun in einem System arbeiten, den Namen und den Zustand des Einschreibprogramms und des Leseprogramms, welche die in Betracht stehende Datei verwenden, als auch die Adresse und die Länge (in der Hauptspeichereinheit) der Daten, die den in Betracht stehenden Programmen zugeordnet sind. Die verschiedenen Programmzustände sollen im Detail später erläutert werden unter Hinweis auf ein Betriebs-Flußdiagramm der jeweiligen Abschnitte.
  • Die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 prüft die Eingabe-/Ausgabe-Parallel-Managementtabelle 62 und, wenn sie als ein Ergebnis den Namen der Datei herausfindet, setzt sie den Zustand des Einschreibprogramms und die Adresse und die Länge der Einschreibdaten in den Hauptspeicher und gibt die Steuerung an die Öffnenprozeßeinheit 66 zurück. Wenn jedoch der Name der Datei nicht in der Eingabe-/Ausgabe-Parallel -Managementtabelle 62 registriert ist, unterrichtet die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 die Öffnungsprozeßeinheit 66, daß die Datei nicht existiert und die Öffnungsprozeßeinheit 66 führt den gleichen "Öffnungsprozeß", wie beim Stand der Technik, aus durch Verwenden des aktuellen Eingabe- und Ausgabegerätes. Die Einzelheiten dieses herkömmlichen "Öffnungsprozesses" sind unter Hinweis auf Fig. 2 erläutert.
  • Wenn der Name der Datei in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 registriert ist, gibt die Öffnungsprozeßeinheit 66 noch nicht die Steuerung zu dem Einschreibprogramm 64 zurück. Wenn jedoch der Puffer verwendet wird, besteht die Möglichkeit, die Steuerung zu dem Einschreibprogramm 64 zurückzuübergeben, um das Einschreiben und Speichern der Einschreibdaten in den Puffer zu starten.
  • (5) Das Leseprogramm 65 wird in einer Weise ähnlich wie bei (2) erzeugt. Es wird nicht immer gleichzeitig mit dem Einschreibprogramm erzeugt, kann jedoch zu einem Zeitpunkt erzeugt werden, wenn das Einschreibprogramm erzeugt wird. Das Leseprogramm 65 führt einen Initialisierungsprozeß aus und gibt dann einen ÖFFNEN-Befehl aus.
  • (6) Wenn die Öffnenprozeßeinheit 66 den ÖFFNEN-Befehl von dem Leseprogramm empfängt, überträgt sie den Dateinamen, der in dem Befehl bezeichnet ist, zu der Eingabe-/Ausgabe-Parallel-Managementeinheit 59.
  • (7) Die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 prüft die Eingabe-/Ausgabe-Parallel-Managementtabelle 62, um zu bestätigen, daß der Dateiname existiert und sie setzt dann den Zustand des Leseprogramms und der Adresse der Lesedaten in der Hauptspeichereinheit in die Eingabe/Ausgabe-Parallel-Managementtabelle 62 und informiert die Öffenprozeßeinheit 66, daß die Entsprechung zwischen dem Schreibvorgang und dem Lesevorgang vervollständigt ist, woraufhin die Steuerung an die Öffnenprozeßeinheit 66 zurückübergeben wird. Zu diesem Zeitpunkt gibt die Öffnenprozeßeinheit 66 die Steuerung sowohl an die Einschreib- als auch Leseprogramme 64 und 65 zurück.
  • Daher kann entweder die Operation (2) oder die Operation (5) früher als die andere ausgeführt werden.
  • (8) Das Einschreibprogramm 64 bereitet seine Daten vor und gibt einen EINSCHREIB-Befehl aus.
  • (9) Die Einschreibprozeßeinheit 67 unterrichtet die Datenübertragungseinheit 60 darüber, daß sie die Einschreibdaten empfangen hat, jedoch noch nicht die Steuerung an das Einschreibprogramm 64 zurück übergeben hat.
  • (10) Das Leseprogramm 65 gibt einen LESE-Befehl aus gemäß einer Anfrage nach einem Lesen von Daten.
  • (11) Die Leseprozeßeinheit 68, die den LESE-Befehl empfangen hat, fragt bei der Datenübertragungseinheit 60 nach der Übertragung der Daten an.
  • (12) Die Datenübertragungseinheit 60 überträgt die in dem Hauptspeicher gespeicherten Einschreibdaten durch das Einschreibprogramm 64 in den Lesedatenbereich des Hauptspeichers für das Leseprogramm 65. Danach unterrichtet die Datenübertragungseinheit 60 sowohl die Einschreibprozeßeinheit 67 als auch die Leseprozeßeinheit 68 über die Vervollständigung der Übertragung.
  • (13) Die Steuerung wird an das Leseprogramm 65 und das Einschreibprogramm 64 zurück übergeben, um mit dem nächsten Prozeß fortzufahren. Wenn eine Vielzahl von Daten vorhanden ist, werden die oben aufgeführten Schritte (8) bis (13) wiederholt.
  • (14) Wenn das Einschreibprogramm 64 all die zuschreibenden Daten eingeschrieben hat, gibt es einen SCHLIESS-Befehl aus.
  • (15) Die Schließprozeßeinheit 69 empfängt diesen Befehl und informiert die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 über diesen Befehl. Die Eingabe-/Ausgabe- Parallel-Managementeinheit 59 bringt den Einschreibprogrammzustand in der Eingabe-/Ausgabe-Parallel-Managementtabeile 62 auf den neuesten Stand. Danach übergibt die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 die Steuerung über die Schließprozeßeinheit 69 an das Einschreibprogramm 64 zurück.
  • (16) Nachdem das Einschreibprogramm 64 den SCHLIESS- Bef ehl ausgegeben hat, wird der nächste LESE-Befehl durch das Leseprogramm 65 ausgegeben und das Datenende (EOF) wird erkannt. Wenn das Leseprogramm eine solche Datenende-Mitteilung empfängt oder das Lesen von all den Daten, die zu lesen sind, vervollständigt hat, gibt es einen SCHLIESS-Befehl aus.
  • (17) Die Schließprozeßeinheit 69 empfängt diesen Befehl und unterrichtet die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 über den Empfang des SCHLIESS-Befehis von dem Leseprogramm. Die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 bringt den Leseprogrammzustand in der Eingabe/Ausgabe-Parallel-Managementtabelle 62 auf den neuesten Stand oder läßt Informationen, wie beispielsweise den Programmnamen, weg. Die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 gibt die Steuerung an das Leseprogramm 65 über die Schließprozeßeinheit 69 zurück.
  • (18) Während die Eingabe-/Ausgabe-Parallel-Managementeinheit 59 den oben erläuterten Prozeß durchführt, bestimmt die Task-Warte/Freigabe-Prozeßeinheit 70, basierend auf dem Zustand der Eingabe-/Ausgabe-Parallel-Managementtabelle 62, ob die Steuerung an das Einschreibprogramm 64 und das Leseprogramm 67 zurückgegeben werden soll, welche die Tasks bilden. Als Ergebnis führt die Eingabe-/Ausgabe-Parallel- Managementeinheit 59 einen Prozeß aus gemäß einem Task-Wartezustand oder gemäß einem Freigeben des Wartezustandes des Tasks.
  • (19) Wie oben erwähnt wurde, läßt dann, wenn einmal die Ausführung des Einschreibprogramms und des Leseprogramms 65 vervollständigt ist, die Parallelbezeichnungs- Aufzeichnungs/Weglaß-Prozeßeinheit 63 den Dateinamen usw. von der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 weg, und zwar in Einklang mit dem Inhalt, der durch den Anwender über das Tastenfeld eingegeben wurde, wie in (1) gezeigt ist.
  • Wenn der Anwender befiehlt, und zwar unter Verwendung der Auftragssteuersprache, daß das folgende Programm automatisch initialisiert werden soll, initialisiert die Job/Task-Managementeinheit 57 automatisch das bezeichnete folgende Programm, wenn die Einschreib- und Leseprogramme 64 und 65 vervollständigt sind, und zwar nach der Ausgabe eines RÜCKKEHR-Befehls. Wenn jedoch das Einschreibprogramm 64 das Ende in einer normalen Weise nicht erreicht, und zwar aufgrund eines Fehlers in dem Programm oder aufgrund der gegebenen Daten oder aufgrund eines "Ausführungsstopp"- Befehis, der durch eine Bedienungsperson gegeben wurde, das heißt, wenn der Prozeß in einer anormalen Weise endet, wird das Leseprogramm 65 gleichlaufend zum Ende gebracht, und zwar in einer anormalen Weise. Umgekehrt wird auch dort, wo das Leseprogramm 65 in einer anormalen Weise endet, das Einschreibprogramm 64 in einer anormalen Weise zu einem Ende gebracht. Es werden zwei Programme, die in einer Eingabe- und Ausgabebeziehung hinsichtlich der gleichen Datei stehen, gleichlaufend ausgeführt, und zwar als ein Ergebnis der Parallelsteuerung gemäß der vorliegenden Erfindung, und es wird in vielen Fällen erwartet, daß die zwei Programme nahezu gleichzeitig enden.
  • Fig. 10 zeigt ein Zeitsteuerdiagramm der Betriebsweise des Systems nach Fig. 8 für einen Vergleich mit einem herkömmlichen Zeitsteuerdiagramm, welches in Fig. 4 gezeigt ist. Aus Fig. 10 wird die aktuelle Zeitsteuerung des parallelen Prozesses und die Abnahme in der Zeitdauer, die für eine Ausführung erforderlich ist, klar.
  • Die Fig. 11A bis 11c zeigen detaillierte Flußdiagramme des Parallelbezeichnungs-Aufzeichnungs/Weglaß-Prozesses. Der Prozeß entspricht (1) und (19) in Fig. 8. Wenn der Prozeß startet, wird bei dem Schritt S70 beurteilt, ob eine Parallelbezeichnungs-Registrierung angefragt wurde oder nicht. Im Falle einer solchen Registrierungsanfrage wird bei dem Schritt S71 der Dateiname, der zu registrieren ist, aus einem Anfrageparameter gewonnen, nämlich der übertragenen Information, wenn das Anwenderprogramm einen Makrobe fehl ausgibt. Dann wird bestätigt, daß derselbe oder ein komzidenter Name in der "Dateiname"-Spalte der Eingabe/Ausgabe-Parallel-Managementtabelle 62 noch nicht bereits existiert und, wenn dies so ist, wird ein unbenutztes Element der Tabelle dem Dateinamen zugeordnet.
  • Als nächstes wird bei S72 der Dateiname aus dem Anfrageparameter extrahiert und wird in die Dateiname-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 gesetzt. Bei S73 werden sowohl der Einschreibprogrammname als auch der Leseprogrammname extrahiert und werden in jeweilige Programmname-Spalten der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 gesetzt. Danach werden sowohl die Spalte für den Einschreibprogrammzustand als auch die Spalte für den Leseprogrammzustand auf "0" gesetzt, nämlich auf "Vor-Öffnen", und der Prozeß endet.
  • Wenn bei dem Schritt S70 beurteilt wird, daß der Prozeß keine Registrierungsanfrage ist, wird bei S75 beurteilt, ob eine Parallelbezeichnungsweglassung angefragt wurde oder nicht. Wenn dies der Fall ist, wird der Dateiname, der wegzulassen ist, aus dem Anfrageparameter bei dem Schritt S76 gewonnen. Der komzidente Dateiname wird aus der Spalte des Dateinamens in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 wieder aufgesucht. Als nächstes wird bei S77 alle Information, welche die Datei in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 betrifft, weggelassen. Es wird nämlich bei dem Schritt 577 die Spalte für den Dateinamen leergemacht und das Tabellenelement wird in einen Nichtverwendungszustand gebracht, woraufhin der Prozeß endet.
  • Wenn bei dem Schritt S70 bestimmt wird, daß eine Registrierung nicht angefragt wurde und bei dem Schritt S75 bestimmt wird, daß eine Weglassung nicht angefragt wurde, so wird die Anfrage als Anfrage nach einer Parallelbezeichnungsänderung interpretiert. Bei dem Schritt S78 wird der Name der Datei, der Gegenstand der Änderung ist, aus dem Anfrageparameter gewonnen und der komzidente Dateiname wird aus der Dateiname-Spalte in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 wiedergewonnen. Als nächstes wird bei dem Schritt S79 der Typ des Punktes, der geändert werden soll, aus dem Anfrageparameter extrahiert und bei dem Schritt S80 wird der neue Inhalt des Punktes aus dem Anfrageparameter extrahiert. Dann wird die entsprechende Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 (Dateiname-Spalte oder Schreibprogrammname-Spalte oder Leseprogrammname-Spalte) in Einklang mit dem Typ des Punktes wieder geschrieben, der in der Anfrage spezifiziert ist, und der Prozeß endet dann.
  • Fig. 12 zeigt ein Betriebs-Flußdiagramm der Eingabe/Ausgabe-Parallel-Managementeinheit 59. Wenn der Prozeß startet, wird bei dem Schritt S81 beurteilt, ob ein Öffnungsprozeß zu initialisieren ist oder nicht. Im Falle einer Öffnungsprozeß-Initialisierung entsprechen die Ausführungen (3) und (6) in Fig. 8 und bei dem Schritt S82 wird der Öffnungsprozeß aufgerufen und endet dann. Dort, wo ein Öffnungsprozeß nicht involviert ist, wird eine Initialisierung eines Schließungsprozesses ausgeführt. Somit wird in diesem Fall die Ausführung entsprechend (15) und (17) in Fig. 8 durchgeführt und bei dem Schritt S83 wird nach einem Schließungsprozeß gerufen und es folgt dann das Ende.
  • Das detaillierte Flußdiagramm dieses Öffnungsprozesses ist in den Fig. 13A bis 13C gezeigt. Wenn der Prozeß in Fig. 13A startet, wird bei S84 bestimmt, ob der Prozeß eine Dateiöffnungsanfrage betrifft, und zwar von dem Einschreibprogramm 64 und, im Falle einer solchen Anfrage von dem Einschreibprogramm 64 (das heißt dort, wo die Ausführung (3) in Fig. 8 entspricht) wird der in Rede stehende Dateiname aus dem Anfrageparameter geholt, und zwar bei S85 und es wird ein Koinzidenz-Dateiname unter den gespeicherten Dateinamen in der relevanten Spalte in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 gefunden.
  • Als nächstes wird bei S86 beurteilt, ob das Leseprogramm, welches als wiedergewonnener Dateiname registriert ist, sich in dem Zustand "1" befindet, was bedeutet, daß das Programm sich in einem Wartezustand für die Einschreiboperation befindet. Dieser "Einschreib-Öffnungs-Warte"-Zustand gibt an, daß die Datei durch das Leseprogramm bereits geöffnet worden ist. Wenn der "Einschreib-Öffnungs-Warte"- Zustand detektiert wird, bei S87 die Einschreibprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementta beile 62 auf "2" gesetzt, wodurch der "Vor-Einschreib"-Zustand gemeldet wird und es wird die Leseprogrammzustand- Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "2" gesetzt, wodurch der "Einschreibwarte"-Zustand signalisiert wird, wodurch die Vorbereitung für den Datentransfer vervollständigt wird. Dann bei dem Schritt S88 wird die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, den Wartezustand des Leseprogramms freizugeben, das heißt den Zustand, in welchem das Programm durch die CPU nicht erhalten werden kann und nicht ausgeführt wird, und es wird das Leseprogramm in den Ausführungszustand geändert, das heißt der Zustand, in welchem das Programm von der CPU erhalten werden kann, ausgeführt wird. Der Öffnungsprozeß endet dann.
  • Wenn der Leseprogrammzustand nicht "Warten auf das Einschreiböffnen" bei dem Schritt S86 ist, das heißt die Datei noch nicht geöffnet worden ist, schreitet der Prozeß zu dem Schritt S89 voran, in welchem der Wert der Einschreibprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "1" gesetzt wird, wodurch der "Lese-Öffen-Warte"-Zustand signalisiert wird und es wird die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, den Ausführungszustand des Einschreibprogramms 64 in den Wartezustand desselben zu ändern, und zwar bei dem Schritt S90, wodurch dann der Öffnungsprozeß endet.
  • Dort, wo die Anfrage nicht als Anfrage von dem Einschreibprogramm 64 bei dem Schritt S84 festgestellt wird, entspricht die Ausführung der Anfrage von dem Leseprogramm 65, nämlich (6) in Fig. 8, und bei dem Schritt S91 wird der zur Rede stehende Dateiname aus der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 in einer ähnlichen Weise wie beim Schritt S85 wieder aufgesucht. Als nächstes wird bei dem Schritt 92 beurteilt, ob das Einschreibprogramm sich in dem Zustand "1" befindet, nämlich dem "Lese-Öffnen-Warte"-Zustand, und, wenn es sich in dem "Lese-Öffnen-Warte"-Zustand befindet, werden die Schritte S87 und S88 ausgeführt, und zwar als Vorbereitung für den Datentransfer, wodurch dann der Prozeß endet.
  • Dort, wo der Zustand des Einschreibprogramms sich nicht in dem "Lesen-Öffnen-Warte-"Zustand befindet, und zwar bei dem Schritt S92, wird die Datei noch nicht durch das Einschreibprogramm geöffnet. Somit wird bei dem Schritt S93 der Wert der Leseprogrammzustand-Spalte zu "1" gemacht, nämlich den "Einschreib-Öffnen-Warte"-Zustand in einer ähnlichen Weise wie beim Schritt S89 und S90. Bei dem Schritt S94 wird die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, den Ausführungszustand des Leseprogramms in den Wartezustand zu ändern, und zwar beim Schritt S94, wodurch dann der Prozeß endet.
  • Die Fig. 14A bis 14C zeigen detaillierte Flußdiagramme des Schließprozesses. Das Flußdiagramm ist ähnlich dem Öffnungsprozeß, der in den Fig. 13A bis 13C gezeigt ist. Wenn der Prozeß startet, wird zuerst bei dem Schritt S95 beurteilt, von welchem Programm die Anfrage ausgegeben wurde, in ähnlicher Weise wie beim Schritt 584 in Fig. 13A. Wenn die Anfrage von dem Einschreibprogramm 64 stammt, entspricht die Ausführung (15) in Fig. 8 und es wird in der Dateiname-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 gesucht, um den zur Rede stehenden Dateinamen bei dem Schritt S96 zu finden, in einer Weise ähnlich dem Schritt S85.
  • Als nächstes wird bei dem Schritt S97 bestimmt, ob sich der Leseprogrammzustand auf "9" befindet oder nicht, wodurch signalisiert wird, daß das Programm sich in einem Wartezustand befindet, und zwar für eine Einschreib Schließoperation. Wenn es auf eine Einschreib-Schließ-Operation wartet, wurde ein Datei-Schließen von Seiten des Leseprogramms 65 bereits vervollständigt. Bei dem Schritt S98 werden sowohl die Einschreibprogrammzustand-Spalte als auch die Leseprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "0" gesetzt, das heißt den "Vor-Öffnungs"-Zustand. Bei dem Schritt S99 wird das Leseprogramm 65, welches sich in dem Wartezustand befindet, angefragt, um es in den Ausführungszustand zu ändern, und zwar durch die Task-Warte/Freigabe-Prozeßeinheit 70, wodurch dann der Schließprozeß beendet wird.
  • Wenn bei dem Schritt S97 das Leseprogramm sich nicht in dem "Warten auf ein Einschreib-Schließen"-Zustand befindet, so wurde der Schließvorgang der Datei noch nicht auf der Seite des Leseprogramms durchgeführt und es wird dann beim Schritt S100 der Wert der Einschreibprogrammzustand- Spalte in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "9" gesetzt, das heißt den "Lese-Schließ-Warte"-Zustand. Bei dem Schritt S101 wird die Task-Warte/Freigabe- Prozeßeinheit 70 angefragt, den Ausführungszustand des Einschreibprogramms 64 in den Wartezustand desselben zu ändem, wodurch der Leseprozeß beendet wird.
  • Wenn bei dem Schritt 595 die Schließanfrage von dem Leseprogramm 65 stammt, entspricht die Ausführung (17) in Fig. 8, und es wird bei dem Schritt S102 die Dateiname- Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 aufgesucht bzw. durchsucht in einer Weise ähnlich dem Schritt S96, und bei dem Schritt S103 wird beurteilt, ob der Einschreibprogrammzustand gleich "9" ist oder nicht, das heißt der "Warten auf ein Lesen"-Schließ-Zustand ist. Dieser ¹¹lesen-Schließ-Warten-Zustand" bedeutet, daß die Datenübertragung vervollständigt wurde und der Schließprozeß endet nach der Ausführung der Schritt S98 und S99. Wenn bei dem Schritt S103 das Einschreibprogramm sich nicht in dem "Lesen-Schließ-Warte"-Zustand befindet, bedeutet dies, daß das Schließen der Datei noch nicht auf Seiten des Einschreibprogrammes durchgeführt worden ist und es wird bei dem Schritt S104 der Wert der Leseprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "9" gesetzt, wodurch ein "Einschreib-Schließ-Warte"-Zustand signalisiert wird. Bei dem Schritt S105 wird die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, um den Ausführungszustand des Leseprogramms 65 in den Wartezustand desselben zu ändern, wodurch dann der Schließprozeß beendet wird.
  • Die Fig. 15A und 15B zeigen detaillierte Flußdiagramme des Datenübertragungsprozesses, wenn der Datenübertragungsprozeß, der (12) von Fig. 8 entspricht, startet. Bei dem Schritt 5106 wird beurteilt, ob der Prozeß eine Übertragungsanfrage von der Einschreibprozeßeinheit 67 ist oder nicht. Wenn er es ist, wenn er nämlich den Operationen (9) und (12) in Fig. 8 entspricht, wird bei dem Schritt S107 der Wert der Leseprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 bestimmt. Wenn der Wert der Leseprogrammzustand-Spalte gleich "2" ist, das heißt das Leseprogramm sich in dem "Warten auf das Schreiben"-Zustand befindet, bedeutet dies, daß die Leseprogrammseite bereit ist, die Daten zu empfangen. Um bei dem Schritt S108 die Adresse des Datenbereiches und die Länge derselben zu erhalten, wird auf die Eingabe-/Ausgabe-Parallel-Managementtabelle 62 Bezug genommen und es werden die Einschreibdaten in den Lesedatenbereich übertragen. Als nächstes wird bei dem Schritt S109 die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, das Leseprogramm aus dem Wartezustand in den Ausführungszustand zu ändern. Bei dem Schritt 5110 wird die Einschreibprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 auf "2" gesetzt, das heißt den "Vor-Schreiben"-Zustand, und es wird die Leseprogrammzustand-Spalte auf "3" gesetzt, das heißt den "Vor-Lese"-Zustand, wodurch dann der Datenübertragungsprozeß vervollständigt wird.
  • Wenn bei dem Schritt S107 herausgefunden wird, daß der Wert der Leseprogrammzustand-Spalte "3" ist, das heißt das Leseprogramm befindet sich in dem "Vor-Lese"-Zustand, ist das Leseprogramm für den Empfang der Übertragungsdaten nicht bereit, somit wird bei dem Schritt Sill die Schreibprogrammzustand-Spalte auf "3" gesetzt, das heißt auf den "Warten auf das Lesen"-Zustand. Dann wird bei dem Schritt S112 die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, das Einschreibprogramm 64 aus dem Ausführungszustand in einen Wartezustand zu ändern, wodurch dann der Datenübertragungsprozeß vervollständigt ist.
  • Wenn bei dem Schritt S107 die Leseprogrammzustand- Spalte auf "9" eingestellt gefunden wird, das heißt in einem "Warten auf das Einschreiben-Schließen"-Zustand, so signalisiert dies, daß die Leseprogrammseite das Lesen aller zu lesenden Daten vervollständigt hat, die Datei geschlossen hat, und darauf wartet, daß die Datei durch die Einschreibprogrammseite geschlossen wird. Daher wird die Datenübertragungsanfrage von der Einschreibprozeßeinheit 67 ignoriert und es wird nichts ausgeführt, wodurch dann der Prozeß endet.
  • Wenn bei dem Schritt S106 beurteilt wird, daß die Datenübertragungsanfrage von der Leseprozeßeinheit 68 gekommen ist, das heißt die Ausführung entspricht (11) in Fig. 8, so wird bei dem Schritt S113 der Wert der Einschreibprogrammzustand-Spalte in der Eingabe-/Ausgabe-Parallel-Managementtabelle 62 bestimmt. Wenn der Wert gleich ist "2", was den "Vor-Einschreib"-Zustand signalisiert, bedeutet dies, daß das Einschreibprogramm noch nicht Daten in die Datei eingeschrieben hat und es wird somit die Lesepro grammzustand-Spalte auf "2" eingestellt, das heißt den "Vor-Einschreib"-Zustand bei dem Schritt S114, und es wird die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, das Leseprogramm 65 aus dem Ausführungszustand in den Wartezustand zu ändern, wodurch der Prozeß vervollständigt wird. Wenn bei dem Schritt S113 beurteilt wird, daß die Einschreibprogrammzustand-Spalte den Wert "3" hat, das heißt das Einschreibprogramm befindet sich in dem "Warten auf Lesen"-Zustand, so signalisiert dies, daß die Vervollständigung der Datenübertragungsoperation erreicht ist, und bei dem Schritt S116 wird auf die Bereichsadresse Bezug genommen und auf die Länge der Daten der Eingabe-/Ausgabe-Parallel-Managementtabeile 62 und es werden die Einschreibdaten zu dem Lesebereich übertragen. Danach wird bei dem Schritt S117 die Task-Warte/Freigabe-Prozeßeinheit 70 angefragt, das wartende Einschreibprogramm von seinem Zustand in den Ausführungszustand zu ändern, und bei dem Schritt S118 wird die Einschreibprogrammzustand-Spaite der Eingabe-/Ausgabe- Paraliel-Managementtabelle 62 auf "2" gesetzt, das heißt den "Vor-Einschreib"-Zustand, wodurch der Prozeß beendet wird.
  • Wenn die Einschreibprogrammzustand-Spalte den Wert "9" hat, das heißt das Einschreibprogramm sich in dem "Warten auf ein Lesen-Schließen"-Zustand bei dem Schritt S113 befindet, bedeutet dies, daß alle Daten, die einzuschreiben sind, durch die Einschreibprogrammseite eingeschrieben worden sind und es wird bei dem Schritt S119 die Leseprogrammzustand-Spalte der Eingabe-/Ausgabe-Parallel-Managementtabeile 62 auf "3" eingestellt, das heißt den "Vor-Lese"-Zustand, und bei dem Schritt S120 wird die Leseprozeßeinheit 68 über das Datenende benachrichtigt, die die Quelle der Datenübertragungsanfrage ist, wodurch der Prozeß beendet wird.
  • Das oben beschriebene Steuerverfahren wird dazu verwendet, um eine parallele Daten-Eingabe und -Ausgabe zwischen zwei Programmen zu ermöglichen, die ein Einschreibprogramm und ein Leseprogramm umfassen, es kann jedoch ein Steuerprogramm, welches die vorliegende Erfindung verkörpert, ebenso unter drei oder mehr Programmen angewandt werden. Fig. 16a zeigt ein Beispiel, bei dem das vorliegende Steuerverfahren bei drei Programmen angewendet ist, und Fig. 16b zeigt ein Beispiel, bei dem das vorliegende Steuerverfahren bei vielen Programmen angewendet ist. Wie in Fig. 16A gezeigt ist, gibt dann, während das Programm P2 die Daten von der Datei F2 empfängt, die aus dem Programm P1 ausgegeben wurde, das Programm P2 gleichzeitig die Daten an die Datei F3 aus&sub1; in die das Programm P3 eingegeben wurde. Es wird nämlich eine Parallelverarbeitung durchgeführt. Fig. 16B zeigt eine Parallelverarbeitung der Dateneingabe und Datenausgabe, die unter vielen Programmen durchgeführt wird.
  • Allgemein gesagt, wird eine Sequenzbeziehung des Stapelprogramms für zwei Programme basierend auf der Datenausgabe (Dateiformation) zu der Datei, die zu verwenden ist, und der Dateneingabe (Dateiverwendung) von der Datei bestimmt. Allgemein gesagt, braucht die Eingabeseite nicht all die Daten in der Datei zu lesen und kann vollständige Eingabe-Aufzeichnungen oder Zeichen derselben eines nach dem anderen in einer aufgeteilten Weise lesen und die Ausgabeseite kann eine Ausgabe-Aufzeichnung oder Zeichen ausgeben. Lediglich eine kleinere Zahl von Programmen, wie beispielsweise Sortierprogramme, haben gegenläufige Eigenschaften. Daher kann ein Daten-Eingabe-/-Ausgabesteuersystem, welches die vorliegende Erfindung verwendet, weitläufig bei herkömmlichen Stapeltypprogrammen angewandt werden.
  • Fig. 17 zeigt ein Flußdiagramm eines Beispiels, bei dem das Einschreibprogramm oder das Leseprogramm ein anormales Ende ausführen. Durch Ausführen einer Parallelverarbeitung des Einschreibprogramms und des Leseprogramms wird bei dem Schritt S121 beurteilt, ob das Einschreibprogramm anormal endet, und zwar aufgrund eines Fehlers in dem Programm oder den Daten oder aufgrund einer Ausführungsstopp- Bestimmung durch eine Bedienungsperson, und, wenn ein derartiges anormales Ende auftritt, wird das Leseprogramm, welches einer Parallelverarbeitung unterworfen ist, bei dem Schritt S122 zwangsläufig beendet, wodurch dann der Prozeß beendet wird.
  • Wenn bei dem Schritt S121 beurteilt wird, daß ein anormales Ende des Einschreibprogramms nicht aufgetreten ist, wird bei dem Schritt S123 beurteilt, ob das Leseprogramm ein anormales Ende ausführt oder nicht und dort, wo ein anormales Ende stattfindet, wird das Einschreibprogramm, welches einer Parallelverarbeitung unterworfen ist, zwangsweise bei dem Schritt S124 beendet, wodurch der Prozeß beendet wird. Wenn ein anormales Ende bei dem Schritt S123 nicht auftritt, wird bei dem Schritt S125 beurteilt, ob sowohl das Einschreibprogramm als auch das Leseprogramm eine normale Beendigung durchführen, und diese werden bis zum letzten Punkt ausgeführt und, solange der Prozeß noch nicht beendet ist, werden die Schritte, beginnend mit dem Schritt S121, wiederholt.
  • Dort, wo bei dem Schritt S125 beurteilt wird, daß beide Programme, die einer Parallelverarbeitung unterworfen sind, in einer anormalen Weise enden, wird bei dem Schritt S126 beurteilt, ob ein nachfolgendes Programm durch den Anwender unter Verwendung der Auftragssteuersprache bezeichnet worden ist. Dort, wo keine solche Bezeichnung gemacht worden ist, endet der Prozeß auf natürliche Weise, und dort, wo eine solche Bezeichnung gemacht worden ist, wird das nachfolgende Programm bei dem Schritt S126 initialisiert und danach endet der Prozeß.
  • Wie oben beschrieben wurde, können ein Datei-Ausgabeprogramm und ein Datei-Eingabeprogramm gemäß der vorliegenden Erfindung selbst dann, wenn sie für die Verwendung in einem herkömmlichen Daten-Eingabe-/-Ausgabesteuersystem vom Stapeityp geschrieben sind, einer Parallelverarbeitung unterworfen werden ohne Änderung oder Konvertierung der Programme, wodurch drastisch die Betriebszeit vermindert wird. Die Eingabe und die Ausgabe können durch Übertragen von einer Hauptspeichereinheit oder unter Verwendung von Puffern anstelle der Verwendung einer Eingabe- und Ausgabevorrichtung, wie beispielsweise dem aktuellen magnetischen Plattengerät und dem magnetischen Bandgerät, ausgeführt werden, wodurch die Ausführungszeit weiter vermindert wird und die Belastung der zentralen Prozessoreinheit während der Eingabe- und Ausgabeoperationen vermindert wird. Daher kann die Computer-Betriebszeit und die Arbeit der Bedienungsperson bei einem Betrieb unter Verwendung von Computern reduziert werden, wodurch eine hohe Kosteneinsparung erreicht wird.
  • Ferner kann des Programm so aufgeteilt werden, daß eine Funktion in eine Vielzahl von Prozessen aufgeteilt wird und das Programm kann weiterhin mit einer hohen Qualität ausgeführt werden. Daher kann die Funktion in positiver Weise in kleine Abschnitte nach der Entwicklung des Programms aufgeteilt werden, wodurch eine höherer Flexibilität und Freiheitsgrad bei der Entwicklung des Programms erzielt wird. Daher kann die Entwicklung der Software in eine Vielzahl von Aufgaben aufgeteilt werden und die Software kann umfangreicher als Teile verwendet werden, wodurch eine Erhöhung in der Software-Produktivität erzielt wird.

Claims (15)

1. Computergerät mit einer Daten-Eingabe-/-Ausgabesteuer einrichtung vom Stapeltyp, die betreibbar ist, um ein Dateiausgabeprogramm (64) für die Ausgabe von Daten aus einer Hauptspeichereinheit (52) des Gerätes zu einer externen Speichereinheit (11), die an das Gerät angeschlossen ist, auszuführen, wenn es in Verwendung ist, wobei das Dateiaus gabeprogramm (64) eine vorbestimmte Datei der externen Speichereinheit für die Speicherung der Ausgabedaten bezeichnet, und welches auch so betreibbar ist, um ein Datei- Eingabeprogramm (65) für die Eingabe von Daten in die Hauptspeichereinheit (52) von einer vorbestimmten Datei (12) der externen Speichereinheit aus vorzunehmen, die durch das Dateieingabeprogramm bezeichnet ist, und um solche Eingabedaten zu verarbeiten;
wobei die Daten-Eingabe-/-Ausgabesteuereinrichtung durch ein Betriebssystem des Gerätes steuerbar ist, welches aufweist:
eine Daten-Managementeinheit (56) zum Steuern einer solchen Ausgabe und Eingabe von Daten;
eine Job/Task-Managementeinheit (57), die in Abhängigkeit von einer Auftragsanweisung, die in einer Auftrags steuersprache geschrieben ist, betreibbar ist und die Aufträge oder Auftragsschritte, welche einer nach dem anderen durch das Betriebssystem auszuführen sind, spezifiziert, um die Initialisierung, das Warten und die Beendigung der Programme, die den spezifischen Aufträgen oder Auftragsschrit ten zugeordnet sind, zu steuern; und
eine Datenspeichereinheit (10) für die Verwendung durch das Betriebssystem, wenn die Job/Task-Managementeinheit (57) und die Daten-Managementeinheit (56) veranlassen, daß ein solches Dateiausgabeprogramm oder ein solches Dateieingabeprogramm ausgeführt wird;
dadurch gekennzeichnet, daß das Betriebssystem ferner aufweist:
eine Eingabe-/Ausgabe-Parallel-Managementeinheit (59) mit einer Einrichtung zum Registrieren von wenigstens einem Programmpaar, welches Paar aus jeweiligen solchen Dateiausgabe- und Dateiemgabeprogrammen (64, 65) zusammengesetzt ist, weiche die gleiche Datei bezeichnen, und welche betreibbar ist, um nachfolgend auf die Initialisierung beider Programme eines solchen registrierten Programmpaares durch die Job/Task-Managementeinheit (57) in Einklang mit einer solchen Auftragsanweisung, das Dateieingabeprogramm (65) des Paares parallel mit dem Dateiausgabeprogramm (64) des Paares ausführen zu lassen, ohne einen Wartezustand der Programme herbeizuführen, bis die Ausführung des Dateiaus gabeprogramms (64) vervollständigt ist; und
eine Eingabe-/Ausgabe-Parallel-Steuereinheit (61), die eine Datenübertragungseinheit (60) enthält, und unter der Steuerung der Eingabe-/Ausgabe-Parallel-Managementeinheit (59) betreibbar ist, um die Hauptspeichereinheit (52) zu verwenden, um Daten, die von dem Dateiausgabeprogramm (64) ausgegeben wurden, zu dem Dateieingabeprogramm (65) eines solchen Programmpaares während der parallelen Ausführung der zwei Programme zu übertragen, ohne daß dabei die Daten durch solch eine externe Speichereinheit (ii) hindurchge leitet werden.
2. Computergerät nach Anspruch 1, bei dem die Dateiausgabe- und Dateiemgabeprogramme (64, 65), die das oder jedes solches Programmpaar ausmachen, durch ein weiteres Programm bezeichnet sind, welches von den Dateiausgabe- und Dateieingabeprogrammen (64, 65) verschieden ist, oder durch einen Anwender des Gerätes bezeichnet werden und wobei das Betriebssystem ferner eine Eingabe-/Ausgabe-Parallel-Managementtabelle (62) für die Registrierung der jeweiligen Namen des Dateiausgabeprogramms (64) und des Dateieingabeprogramms (65) des oder jedes solchen Programmpaares umfaßt;
die Job/Task-Managementeinheit (57) eine Parallelbezeichnungs-Register/Weglassungs-Verarbeitungseinheit (63) enthält, welche in Einklang mit einer Anfrage, die durch solch ein weiteres Programm oder durch solch einen Anwender geliefert wird, betreibbar ist, um die Inhalte der Eingabe/Ausgabe-Parallel-Managementtabelle (62) zu ändern.
3. Computergerät nach Anspruch 2, bei dem die Eingabe/Ausgabe-Parallel-Managementtabelle (62) in der Daten-Speichereinheit (10) abgespeichert ist und ferner für die oder für jedes solches Programmpaar die folgenden Parameter registriert:
die Speicheradresse und die Länge der Daten in der Hauptspeichereinheit (52), die durch das Dateiausgabeprogramm (64) ausgegeben wurden;
die Speicheradresse und die Länge der Daten in der Hauptspeichereinheit (52), die durch das Dateieingabeprogramm (65) einzugeben sind;
einen Betriebszustand des Dateiausgabeprogramms, welches von einem zuvor geöffneten Zustand ausgewählt wird, einem Zustand des Wartens auf ein Lesen-Öffnen, einem Vor- Einschreibzustand, einem Zustand gemäß einem Warten auf Lesen und einem Zustand gemäß einem Warten auf ein Lesen/- Schließen; und
einen Betriebszustand des Dateieingabeprogramms (65), ausgewählt aus einem Vor-Öffnungs-Zustand, einem Zustand gemäß einem Warten auf ein Einschreiben-Öffnen, einem Zustand gemäß einem Warten auf Einschreiben, einem Vor-Lesen- Zustand und einem Zustand gemäß einem Warten auf Einschreiben-Schließen.
4. Computergerät nach Anspruch 3, bei dem die Daten-Managementeinheit (56) eine Offenprozeßeinheit (66) umfaßt, die dann, wenn ein Dateiausgabeprogramm (64) oder ein Dateiemgabeprogramm (65) in einen Anwender-Speicherabschnitt (53) der Hauptspeichereinheit (52) durch die Job/Task-Manage menteinheit (57) in Einklang mit einer solchen Auftragsanweisung geladen wird, betreibbar ist, um von dem in Betracht stehenden Programm einen Öffnungsbefehi zu empfangen und um den Namen der Datei, die durch den empfangenen Öffnungsbefehl bezeichnet ist, zu der Eingabe-/Ausgabe-Parallel-Managementeinheit (59) zu senden.
5. Computergerät nach Anspruch 4, bei dem die Eingabe/Ausgabe-Parallel-Managementeinheit (59) betreibbar ist, um zu bestimmen, ob der zu dieser durch die Offenprozeßeinheit (66) gesendete Dateiname ein solcher ist, der in der Eingabe-/Ausgabe-Parallel-Managementtabelie (62) registriert wurde, und, wenn dies der Fall ist, in die Eingabe-/Ausgabe-Parallei-Managementtabeile den Betriebszustand des Programms, weiches den Öffnungsbefehl ausgegeben hat, zu setzen und um die Speicheradresse und die Länge der Daten für dieses Programm in der Hauptspeichereinheit zu setzen, woraufhin die Steuerung zu der Öffnungsprozeßeinheit (66) zurück übergeben wird, jedoch dann, wenn der Dateiname kein solcher ist, der in der Eingabe-/Ausgabe-Parallel-Managementtabeile (62) registriert wurde, die Eingabe-/Ausgabe-Parallel-Managementeinheit (59) betreibbar ist, um die Öffnungsprozeßeinheit (66) über diese Tatsache zu unterrichten, so daß dann, wenn eine nicht registrierte Datei durch das Programm in einem solchen Öffnungsbefehl bezeichnet wird, das Dateieingabeprogramm (65), welches diese Datei bezeichnet, nur nach der Vervollständigung des Dateiausgabeprogramms (64), welches diese Datei bezeichnet, ausgeführt wird und nicht parallel mit diesem ausgeführt wird.
6. Computergerät nach Anspruch 5, bei dem dann, wenn beide Programme solch eines registrierten Programmpaares einen solchen Öffnungsbefehl ausgegeben haben und die Eingabe- /Ausgabe-Parallel-Managementeinheit (59) in Einklang mit den jeweiligen Öffnungsbefehlen den Betriebszustand in die Eingabe-/Ausgabe-Parallel-Managementtabelle (62) gesetzt hat, und die Datenspeicheradresse und die Datenlänge in der Hauptspeichereinheit von beiden Programmen des Programmpaares gesetzt wurden, die Eingabe-/Ausgabe-Parallel-Managementeinheit die Steuerung zu der Öffnenprozeßeinheit (66) zusammen mit einer Mitteilung zurück übergibt, daß die Entsprechungsanordnungen für die zwei Programme des Paares vervollständigt sind und bei dem die Öffnenprozeßeinheit (66) die Steuerung an das Dateiausgabeprogramm (64) und das Dateieingabeprogramm (65) des Paares zurück übergibt.
7. computergerät nach Anspruch 5 oder 6, bei dem die Daten-Managementeinheit (56) eine Einschreibprozeßeinheit (67) umfaßt, die betreibbar ist, um einen EINSCHREIB-Befehl zu empfangen, der durch das Dateiausgabeprogramm (64) ausgegeben wurde, nachdem die Steuerung an dieses durch die Öffnenprozeßeinheit (66) zurück übergeben wurde, und um die Datenübertragungseinheit (60) in der Eingabe-/Ausgabe-Parallel-Managementeinheit (61) über den Empfang eines solchen EINSCHREIB-Befehls zu unterrichten.
8. Computergerät nach Anspruch 5, 6 oder 7, bei dem die Daten-Managementeinheit (56) eine Leseprozeßeinheit (68) umfaßt, die betreibbar ist, um einen LESE-Befehl zu empfangen, die das Lesen von Daten anfragt, die durch das Dateieingabeprogramm (65) ausgegeben wurden, nachdem die Steuerung an diese durch die Öffnenprozeßeinheit (66) zurückgegeben wurde, und um die Datenübertragungseinheit (60) in der Eingabe-/Ausgabe-Parallel-Managementeinheit (61) über den Empfang eines solchen LESE-Befehls zu unterrichten.
9. Computergerät nach Anspruch 7, bei dem dann, wenn die Datenübertragungseinheit (60) durch die Einschreibprozeßeinheit (67) über den Empfang eines solchen EINSCHREIB-Befehls von dem Dateiausgabeprogramm eines solchen registrierten Programmpaares unterrichtet wird, die Eingabe/Ausgabe-Parallel-Managementeinheit (59) die Eingabe-/Ausgabe-Parallel-Managementtabelle (59) überprüft, um zu bestimmen, ob das Dateieingabeprogramm (65) des Paares sich in dem Wartezustand hinsichtlich eines Einschreibens befindet und, wenn dies der Fall ist, die Datenübertragungseinheit (60) veranlaßt, die durch das Dateiausgabeprogramm (64) in der Hauptspeichereinheit (52) gespeicherten Ausgabedaten zu einem Lesebereich der Hauptspeichereinheit (52) zu übertragen, der diesem Dateieingabeprogramm (65) Zugeordnet ist.
10. Computergerät nach Anspruch 8, bei dem dann, wenn die Datenübertragungseinheit (60) durch die Leseprozeßeinheit (68) über den Empfang eines solchen LESE-Befehls von dem Dateieingabeprogramm eines solchen registrierten Programmpaares unterrichtet wurde, die Eingabe-/Ausgabe-Parallel- Managementeinheit (59) die Eingabe-/Ausgabe-Parallel-Managementtabelle (62) überprüft, um zu bestimmen, ob das Dateiausgabeprogramm (64) des Paares sich in dem Wartezustand hinsichtlich eines Lesens befindet, und, wenn dies der Fall ist, die Dateiübertragungseinheit (60) veranlaßt, die durch das Dateiausgabeprogramm (65) in der Hauptspeichereinheit (52) gespeicherten Ausgabedaten zu einem Lesebereich der Hauptspeichereinheit (52) zu übertragen, der dem Dateiemgabeprogramm (65) zugeordnet ist.
11. Computergerät nach irgendeinem der Ansprüche 4 bis 10, bei dem die Daten-Managementeinheit (56) eine Schließprozeßeinheit (69) umfaßt, die betreibbar ist, um einen Schließbefehl zu empfangen, der durch das Dateiausgabeprogramm ausgegeben wird, wenn all die Daten, die durch dieses auszugeben sind, ausgegeben worden sind, oder einen Schließbefehl zu empfangen, der durch das Dateieingabeprogramm (65) ausgegeben wird, wenn die Dateneingabe dadurch vervollständigt wurde oder wenn eine Daten-Ende-Nachricht (EOF) nachfolgend auf die Ausgabe eines Schließbefehls durch das Dateiausgabeprogramm (64) des Programmpaares erzeugt wurde, und die betreibbar ist, um die Eingabe-/Ausgabe-Parallel-Managementeinheit (59) über den Empfang eines solchen Schließbefehles zu unterrichten.
12. Computergerät nach Anspruch 11, bei dem dann, wenn die Eingabe-/Ausgabe-Parallel-Managementeinheit (59) über den Empfang des Schließbefehls unterrichtet wurde, diese betreibbar ist, um den Betriebszustand des Programms, der in der Einqabe-/Ausgabe-Parallel-Managementtabelle (62) festgehalten ist, auf den neuesten Stand zu bringen, welches Programm den Befehl ausgegeben hat und um die Steuerung über die Schließprozeßeinheit (69) an dieses Programm zurückzuübergeben
13. Computergerät nach irgendeinem der Ansprüche 3 bis 12, bei dem
die Eingabe-/Ausgabe-Parallel-Managementeinheit (59) während einer solchen parallelen Ausführung von zwei Programmen eines registrierten Programmpaares betreibbar ist, um zu bestimmen, basierend auf den jeweiligen Betriebszuständen der zwei Programme, wie sie in der Eingabe-/Ausgabe-Parallel-Managementtabelle (62) aufgezeichnet sind, ob die Steuerung an jedes Programm des Paares als Task zurückzugeben ist; und
die Job/Task-Managementeinheit (57) eine Task-Warte/Freigabe-Prozeßeinheit (70) umfaßt, die betreibbar ist, um Warte- und Warte-Freigabe-operationen in bezug auf die in Betracht stehenden Tasks auszuführen.
14. Computergerät nach irgendeinem der vorhergehenden Ansprüche, bei dem die Job/Task-Managementeinheit (57) so betreibbar ist, wenn ein Programm eines solchen registrierten Programmpaares während einer solchen parallelen Ausführung der zwei Programme in anormaler Weise endet, das andere Programm des Paares zu veranlassen, gleichzeitig in einem anormalen Zustand zu enden, während dann, wenn beide Programme des Paares in einer normalen Weise enden und ein nachfolgendes Programm für eine Ausführung durch einen Anwender bezeichnet wurde unter Verwendung einer solchen Auftraganweisung, die Job/Task-Managementeinheit (57) betreibbar ist, um das bezeichnete nachfolgende Programm automatisch zu initialisieren.
15. Computergerät nach irgendeinem der vorhergehenden Ansprüche, welches eine Vielzahl solcher Betriebssysteme aufweist.
DE68927753T 1988-10-31 1989-10-31 Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem Expired - Fee Related DE68927753T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63273342A JPH0833799B2 (ja) 1988-10-31 1988-10-31 データ入出力制御方式

Publications (2)

Publication Number Publication Date
DE68927753D1 DE68927753D1 (de) 1997-03-20
DE68927753T2 true DE68927753T2 (de) 1997-06-05

Family

ID=17526558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68927753T Expired - Fee Related DE68927753T2 (de) 1988-10-31 1989-10-31 Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem

Country Status (7)

Country Link
US (1) US5404520A (de)
EP (1) EP0371619B1 (de)
JP (1) JPH0833799B2 (de)
KR (1) KR920005606B1 (de)
AU (1) AU602825B2 (de)
CA (1) CA2001865C (de)
DE (1) DE68927753T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2551312B2 (ja) * 1992-12-28 1996-11-06 日本電気株式会社 ジョブステップ並列実行方式
US5801690A (en) * 1995-03-24 1998-09-01 Motorola, Inc. Method for managing termination of a multi-processing software application
JP3755165B2 (ja) * 1995-06-22 2006-03-15 富士通株式会社 並列処理手続き選定装置及び方法
US6311184B1 (en) * 1995-10-06 2001-10-30 International Business Machines Corporation Sort and merge functions with input and output procedures
US5844795A (en) * 1995-11-01 1998-12-01 Allen Bradley Company, Llc Diagnostic aid for industrial controller using multi-tasking architecture
US5870756A (en) * 1996-04-26 1999-02-09 Fujitsu Limited Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system
US5970247A (en) * 1996-10-07 1999-10-19 Wolf; William M. Methods for encoding decoding and processing six character date designations for the year 2000 and beyond
JPH10124366A (ja) * 1996-10-18 1998-05-15 Nec Corp ファイルデータ格納機構の並列管理方式
US5965518A (en) * 1998-02-23 1999-10-12 Nakatsu; Tetsuo Fragrance compositions having antimicrobial activity
KR100331322B1 (ko) * 1998-06-22 2002-08-27 삼성전자 주식회사 제조업체간의 특수기능을 지원하기 위한 부가정보를 저장하는 기록매체 및 기록 및/또는 편집장치와 그방법
US6937815B1 (en) 1998-06-22 2005-08-30 Samsung Electronics Co., Ltd. Method and apparatus for recording manufacturer information and for determining whether the manufacturer information is effective
EP1320007A1 (de) * 2001-12-14 2003-06-18 Vordel Limited Verfahren und System zur simultanen Verarbeitung von Dokumentstrukturen und elektronischer Unterschrift für elektronische Dokumente
US20030191761A1 (en) * 2002-04-04 2003-10-09 International Business Machines Corporation Methods and apparatus for remote file access
US20040024598A1 (en) * 2002-07-03 2004-02-05 Amit Srivastava Thematic segmentation of speech
US20040265566A1 (en) * 2003-06-30 2004-12-30 Lear Corporation Interior trim system and method for making same
JP4526337B2 (ja) * 2004-09-15 2010-08-18 株式会社日立製作所 データ管理システム及び方法
US7376758B2 (en) * 2005-11-04 2008-05-20 Sun Microsystems, Inc. I/O dependency graphs
JP4640989B2 (ja) * 2006-01-12 2011-03-02 株式会社リコー 画像処理装置及び画像処理制御方法
US7736338B2 (en) * 2006-08-23 2010-06-15 Medtronic Minimed, Inc. Infusion medium delivery system, device and method with needle inserter and needle inserter device and method
JP4776571B2 (ja) * 2007-03-16 2011-09-21 富士通株式会社 実行制御プログラム,実行制御方法及び実行制御装置
JP2009037353A (ja) * 2007-07-31 2009-02-19 Ricoh Co Ltd 情報処理端末装置及びプログラム
CN102479094A (zh) * 2010-11-30 2012-05-30 英业达股份有限公司 可携式通讯装置运作方法
JP2015185027A (ja) * 2014-03-25 2015-10-22 富士通株式会社 ジョブ判別プログラム、装置、及び方法
JP6783812B2 (ja) * 2018-03-13 2020-11-11 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11048549B2 (en) * 2019-04-04 2021-06-29 Google Llc Transferral of process state and/or components in computing environments
JP7360905B2 (ja) * 2019-11-13 2023-10-13 株式会社日立製作所 情報処理システム、及び情報処理システムの制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US5089985A (en) * 1988-04-07 1992-02-18 International Business Machines Corporation System and method for performing a sort operation in a relational database manager to pass results directly to a user without writing to disk

Also Published As

Publication number Publication date
CA2001865C (en) 1994-09-20
JPH02120924A (ja) 1990-05-08
EP0371619A3 (de) 1992-09-23
CA2001865A1 (en) 1990-04-30
US5404520A (en) 1995-04-04
EP0371619A2 (de) 1990-06-06
KR920005606B1 (ko) 1992-07-09
KR900006845A (ko) 1990-05-09
DE68927753D1 (de) 1997-03-20
JPH0833799B2 (ja) 1996-03-29
AU602825B2 (en) 1990-10-25
AU4394889A (en) 1990-07-19
EP0371619B1 (de) 1997-02-05

Similar Documents

Publication Publication Date Title
DE68927753T2 (de) Daten-Eingangs/-Ausgangssteuerungssystem in einem Betriebssystem
DE3689990T2 (de) Flexible Datenübertragung für nachrichtenorientierte Protokolle.
DE68925474T2 (de) Verriegelungsrechnersysteme
DE3908459C2 (de) Netzwerkserver
DE1499182C3 (de) Datenspeichersystem
DE68928113T2 (de) Reihenfolgesteuersystem zur Behandlung von Befehlen
DE3439302C2 (de)
DE2449547A1 (de) Computer- und datenverarbeitungsanlage
DE3725343A1 (de) Vielzweck-kanalsteuersystem
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE10048072A1 (de) Linklisten-DMA-Descriptor-Architektur
DE2054068A1 (de) Mit Programmverschachtelung arbei tendes Datenverarbeitungssystem zur gleichzeitigen Verarbeitung mehrerer Programme
DE68928759T2 (de) Rechner mit intelligentem Speichersystem und zugehöriges Verfahren
DE4216871A1 (de) Ausfuehrungsordnen zum sicherstellen der serienherstellbarkeit verteilter transaktionen
DE4437272C2 (de) Automatisch betriebene Datenverarbeitungsanlage
DE4313190B4 (de) Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE3689991T2 (de) Verteilter Datenverwaltungsmechanismus.
DE3650305T2 (de) Anordnung zur Steuerung eines Rechnersystems durch ein anderes Rechnersystem.
DE3854641T2 (de) Arbeitstellen-Steuergerät zum Schreiben auf einem vollen Bildschirm und zum teilweise Schreiben auf einem Bildschirm.
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE10218816A1 (de) Programmierbares Steuerungssystem
DE2359037C2 (de) Rechenanlage
EP0525214B1 (de) Verfahren zum Betreiben eines Automatisierungsgeräts
DE3852694T2 (de) Datenverarbeitungsvorrichtung.

Legal Events

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