DE4435751B4 - Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem - Google Patents

Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem Download PDF

Info

Publication number
DE4435751B4
DE4435751B4 DE4435751A DE4435751A DE4435751B4 DE 4435751 B4 DE4435751 B4 DE 4435751B4 DE 4435751 A DE4435751 A DE 4435751A DE 4435751 A DE4435751 A DE 4435751A DE 4435751 B4 DE4435751 B4 DE 4435751B4
Authority
DE
Germany
Prior art keywords
file
call
directory
name
handling
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
DE4435751A
Other languages
English (en)
Other versions
DE4435751A1 (de
Inventor
Tsuyoshi Kawasaki Hashimoto
Takeshi Kawasaki Suzuki
David Kawasaki Campell
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
Publication of DE4435751A1 publication Critical patent/DE4435751A1/de
Application granted granted Critical
Publication of DE4435751B4 publication Critical patent/DE4435751B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

Dateiname- und Verzeichnis-Erfassungsverfahren für den Gebrauch in einem Betriebssystem eines Computersystems zum Handhaben eines Dateisystems, das eine hierarchische Struktur, wobei in jedem Verzeichnis eine i-Knotennummer nur maximal einmal vorhanden ist, aufweist, die von einem Basisknoten über Zwischenknoten zu jeder der Dateien führt, die als Endknoten dienen, mit folgenden Schritten:
– Durchsuchen des Dateisystems nach einer Datei mit dem angegebenen Namen und nach einem Verzeichnis, das direkt auf diese Datei zeigt,
– Erhalten einer Vorrichtungsnummer und einer i-Knotennummer dieser Datei,
– Bilden einer Dateihandhabungstabelle (4) und einer verzeichnisorientierten Handhabungstabelle (28) entsprechend für die Datei und das Verzeichnis, danach Speichern der entsprechenden Vorrichtungs- und i-Knotennummern in jeder dieser Tabellen,
– Bilden einer Dateiaufruf-Handhabungs-Korrespondenztabelle (5), Speichern der Zeiger auf die Datei-Handhabungstabelle (4) und die verzeichnisorientierte Handhabungstabelle (28)
– Hinzufügen eines Zugangs zu einer Dateibezeichnungs-Handhabungstabelle (7) in einer Aufruf-Handhabungstabelle (6),
– Speichern eines Zeigers auf die Dateiaufruf-Handhabungs-Korrespondenztabelle...

Description

  • Die Erfindung bezieht sich auf ein Dateiname-Erfassungsverfahren für die Verwendung eines hierarchisch strukturiertem Dateisystems. Das Überprüfungspunkt- und Neustartverfahren, das das Datei-Erfassungsverfahren verwendet, ist nicht Gegenstand der in dieser Anmeldung beanspruchten Erfindung.
  • 1 zeigt ein Beispiel eines hierarchisch strukturierten Dateisystems, auf das sich die Erfindung bezieht. In dieser Darstellung bezeichnen Quadrate Dateien und Kreise, als zu den Dateien führenden Zwischenknoten, Verzeichnisse. Jede Datei und jedes Verzeichnis wird mit seinen Vorrichtungs- und i-Kontennummern bezeichnet und gehandhabt. Gemäß 1 bezieht sich die Vorrichtungsnummer 1 oder 2 auf eine Vorrichtung (Platte) und die i-Kontennummer ist eine Ziffer, die einem Verzeichnis oder einer Datei in jeder Vorrichtung zugeordnet ist.
  • Gemäß 1 sind die Dateinamen in Verzeichnissen gespeichert. Beispielsweise ist der Name einer Datei x in dem Verzeichnis e und der Name einer Datei v ist in den beiden Verzeichnissen c und g abgespeichert. Der Name jedes Verzeichnisses ist nicht darin, aber in einem direkt vorhergehenden gespeichert. Der Dateiname e ist beispielsweise in dem Verzeichnis d abgespeichert.
  • Zwischen Verzeichnissen sind bidirektionale Zeiger vorgesehen. Für Dateien sind jedoch Zeiger nur von der Seite des direkt vorhergehenden Verzeichnisses vorgesehen. D. h. es gibt keine zurückweisenden Zeiger. Somit zeigt beispielsweise das Verzeichnis e auf die Datei x aber die Umkehrung ist unmöglich.
  • Ein Knotenbereich vom Ursprungsknoten ./. bis zu jeder Datei ist als vollständiger Pfadname angegeben. Beispielsweise wird der vollständige Pfadname der Datei x durch /a/b/d/e/x widergegeben. Die Datei v weist zwei vollständige Pfadnamen nämlich: 30 /a/b/g/v und /a/c/v auf.
  • Der tatsächliche Aufbau des Dateisystems wird nachfolgend beschrieben. Wie zuvor beschrieben, werden beide, die Dateien und die Verzeichnisse, mit den Vorrichtungsnummern und den i-Knotennummern gehandhabt. Jede Platte wird durch ihre eigene Vorrichtungsnummer bezeichnet und ein tatsächlicher Ort bzw. örtlicher Speicherplatz auf jeder Platte ist mittels einer i-Knotennummer angegeben.
  • Die gesamte Platte ist in mehrere Blöcke mit fester Blockgröße aufgeteilt. Im allgemeinen ist der erste Block ein Ersatzblock und der zweite Block ein übergeordneter Block. Der übergeordnete Block speichert Handhabungsdaten für das gesamte Dateisystem einschließlich beispielsweise der Blockgröße, d. h. der Anzahl der Bytes und die Nummer der i-Knotenblöcke ab.
  • Die anderen Blöcke speichern i-Knotenblöcke und Datenblöcke ab. Üblicherweise werden die ersten n Blöcke als i-Knotenblöcke verwendet und die verbleibenden Blöcke werden als Datenblöcke verwendet. Ein i-Knotenblock speichert mehrere i-Knoten. Aus der i-Knotennummer wird der örtliche Speicherplatz des entsprechenden i-Knotens, d. h. die Lage des entsprechenden Blockes und die relative Position des Knotens innerhalb des Blockes erhalten.
  • In Wirklichkeit umfaßt jede der Dateien und Verzeichnisse einen i-Knoten und einen oder mehrere Datenblöcke. In beiden, den Dateien und Verzeichnissen, speichert jeder i-Knoten den Besitzernamen, Zugriffszulassungsbedingungen, das Aktualisierungsdatum, den Knotenumfang (die Anzahl der Bytes) und anderes, das als Handhabungsinformation dient, und eine oder mehrere Blocknummern der Datenblöcke, in denen Daten für den i-Knoten gespeichert sind. Die Blockdatennummer bestimmt die tatsächliche Lage des entsprechenden Blockes. Die Blockdatennummer und die i-Knotennummer sind voneinander unabhängig.
  • In den Datenblöcken einer jeden Datei ist der Inhalt der Datei selbst abgespeichert. Demgegenüber speichert jedes Verzeichnis in seinen Datenblöcken, seine i-Knotennummer, die i-Knotennummer seines Abstammungsverzeichnisses, d. h. das übergeordnete Verzeichnis gemäß 1, und die Namen und die Nummern der i-Knoten seiner Tochter- oder Unterverzeichnisse.
  • Zum Bearbeiten eines derart hierarchisch strukturierten Dateisystems (beispielsweise UNIX) gibt, in einem Betriebssystem, ein Anwendungsprogramm (Aufruf) vor dem Bearbeiten einer Datei den Namen einer Datei an, um das Betriebssystem aufzufordern, diese Datei zu öffnen. Das Anwendungsprogramm bestimmt beispielsweise den vollständigen Pfadnamen /a/b/d/e/x, um das Betriebssystem aufzufordern, die Datei x zu öffnen.
  • 2 zeigt ein Flußdiagramm für den Dateiöffnungsvorgang durch das Betriebssystem.
  • 3 zeigt Handhabungstabellen, die gebildet wurden, wenn das Verfahren ausgeführt wurde.
  • Wenn durch das Anwendungsprogramm 8 das Öffnen einer Datei angefordert wurde, durchsucht das Betriebssystem das Dateisystem 3 nach der durch das Programm bestimmten Datei, bereitet dann den Zugriff auf diese Datei vor und gibt eine Dateibezeichnung für die angegebene Datei an das Anwendungsprogramm 8 zurück.
  • Der Vorgang wird unter Bezugnahme auf das Flußdiagramm gemäß 2 beschrieben. Im Schritt S10 erfolgt ein Durchsuchen des Dateisystems nach einer Datei mit dem angegebenen Namen. In Wirklichkeit wird die Vorrichtungsnummer und die i-Knotennummer der Datei erhalten. Im nachfolgenden Schritt S11 wird eine Datei-Handhabungstabelle 4 (s. 3) für diese somit erhaltene Datei gebildet, um die Vorrichtungsnummer und die i-Knotennummer der angegebenen Datei zu speichern.
  • Im Betriebssystem wird ein Zeiger auf die Datei-Handhabungstabelle 4, die im Schritt S11 gebildet wurde, in einer Dateiaufruf-Handhabungskorrespondenztabelle 5 gemäß 3 abgespeichert. Diese Tabelle speichert ebenfalls Daten darüber ab, in welchem Umfang die Datei gelesen oder beschrieben wurde. Im nachfolgenden Schritt S13 wird ein Zugang zu einer Dateibezeichnung-Handhabungstabelle 7 in einer Aufruf-Handhabungstabelle 6 gemäß 3 hinzugefügt und ein Zeiger auf die Dateiaufruf-Handhabungskorrespondenztabelle 5 ist im Schritt S12 in der Tabelle 7 gespeichert. Im Schritt S14 wird der hinzugefügte Zugang, d. h. eine Zugangsnummer, dem Anwendungsprogramm 8 (Aufruf A) mit dem offenen Aufruf als Dateibezeichnung angegeben, wodurch der Dateiöffnungsvorgang beendet ist.
  • Das Anwendungsprogramm 8 bestimmt nachfolgend die Dateibezeichnung für die mittels des Öffnungsvorgangs gemäß 2 geöffneten Datei und fordert das Betriebssystem auf, die Datei zu bearbeiten. D. h. wenn die Datei geöffnet ist, wird beim Zugriff auf diese Datei der Dateiname nicht länger verwendet. Anstatt den Steuertabellen gemäß der bestimmten Dateibezeichnung zu folgen, greift das Betriebssystem über die Datei-Handhabungstabelle 4 zu und führt das bezeichnete Vorgehen für die Datei aus. Zu diesem Zeitpunkt führt das Betriebssystem das Verfahren aus ohne den Dateinamen in seinem Hauptspeicher abzuspeichern. Mit anderen Worten, das Betriebssystem hat keine Mittel, um den entsprechenden Dateinamen irgend einer Dateibezeichnung zu kennen.
  • Nachfolgend wird der Programm-Unterbrechungspunkt- und Neustartverfahren, das nicht Gegenstand der Erfindung ist, beschrieben. Der Unterbrechungspunkt- und Neustartverfahren ist ein Verfahren, zum Sichern des Zwischenstatus mitten im Ausführen eines Programmes zum Schutz gegen das Auftreten von Unregelmäßigkeiten, wodurch es dem Programm möglich ist, von dem Punkt an, an dem der Unterbrechungspunkt gewählt ist, für den Fall der Unregelmäßigkeit, neu zu starten, wodurch die Neuausführung, des gesamten Programmes von Anfang an, verhindert ist.
  • Der Unterbrechungspunkt und das Neustartverfahren wird nicht nur zum Schutz gegen Unregelmäßigkeiten, sondern ebenfalls beispielsweise für Programme mit langem Zeitablauf verwendet. Das bedeutet, die Unterbrechungspunkt- und Neustart-Hilfsfunktion ebenfalls dann verwendet wird, wenn die Programmausführung nicht innerhalb eines Tages endet, die Programmausführung am Ende des Tages beendet wurde und der Neustart am nächsten Tag von dem Punkt an neu gestartet wird an dem der Unterbrechungspunkt am vorhergehenden Tag gewählt wurde.
  • Der Unterbrechungspunkt- und Neustartverfahren umfaßt einen Vorgang, der einen Unterbrechungspunkt auswählt und einen Neustartvorgang. Das Verfahren zum Auswählen des Unterbrechungspunktes ist ein Vorgang zur Statussicherung an einem Punkt, an dem das Programm ausgeführt wurde. Zu sichernde Daten einschließlich des Inhalts des Programmes und seiner Handhabungsinformationen (beispielsweise die Lage des Unterbrechungspunktes) und der Inhalt einer Datei und seiner Handhabungsinformation (beispielsweise der Zugriffspunkt und der Zugriffszustand der Datei).
  • Das Neustartverfahren ist ein Vorgang, bei dem für den Fall von Unregelmäßigkeiten das Programm und die Umgebung, in der es ausgeführt wurde, auf der Basis der Informationen, die an einem Punkt gesichert wurden, an dem ein Unterbrechungspunkt gewählt wurde wiedergewonnen wird und der das Verfahren in dem Status an dem Punkt, bei dem der Unterbrechungspunkt gewählt wurde, startet.
  • Im Stand der Technik hängt es einheitlich vom Attribut der Datei ab, wie ein Programm eine Datei behandelt, die an einem Punkt geöffnet wurde, der als Unterbrechungspunkt gewählt wurde. Das bedeutet, eine der nachfolgenden drei Datei-Behandlungen wird einheitlich ausgeführt:
    • (1) Das Schreiben einer Datei beginnt bei Neustart von der Lage zu dem Zeitpunkt, bei dem ein Unterbrechungspunkt gewählt wurde;
    • (2) der gesamte Dateiinhalt ist zum Zeitpunkt des Unterbrechungspunktes gesichert und wird beim Neustart wiedergewonnen;
    • (3) das System gewinnt keine Datei zurück.
  • Aus diesem Grund kann während des Programmlaufs, ohne Rücksicht auf das Datenattribut nicht geändert werden, wie mit jeder Datei am Unterbrechungspunkt umzugehen ist. Insbesondere wenn ein längerer Programmlauf ausgeführt wird, können während der Programmlaufausführung einzelne Dateien nicht getrennt behandelt werden, da die Systemumgebung sich zwischen dem Zeitpunkt, an dem der Programmlauf gestartet wurde und dem Zeitpunkt, zu dem ein Unterbrechungspunkt gewählt wurde, weitgehend ändern kann. Auch Dateien mit denselben Attributen können nicht unterschiedlich behandelt werden, auch wenn gewünscht ist, daß sie mittels eines Unterbrechungspunktnahme-Programmes unterschiedlich behandelt werden.
  • Im Unterbrechungpunktnahme-Vorgang des Betriebssystems, das ein solches hierarchisch angeordnetes Dateisystem, wie bezugnehmend auf 1 beschrieben wurde, verwendet, wird ein Verfahren verwendet, das die Vorrichtungs- und die i-Knotennummern der verarbeiteten Dateien und andere Handhabungsinformationen, die für die Dateiwiedergewinnung benötigt werden, sichert und daß die Datei beim Neustart wiedergewinnt, da das am Unterbrechungspunkt orientierte Aufnahme-Programm, mit dem die Unterbrechungspunkte genommen werden, nicht den Namen einer Datei, die zu verarbeiten ist, wissen kann.
  • Wenn in dem unter Bezugnahme auf 1 beschriebenen hierarchisch angeordneten Dateisystem eine Datei einmal geöffnet wurde, wird ein Zugriff auf die Datei durch eine Dateibezeichnung erhalten und der Name dieser Datei kann nicht weiter verwendet werden.
  • Nachdem eine Datei geöffnet wurde, wird der Zugriff auf diese Datei (zum Zwecke des Lesens oder Schreibens) einfach durch Bestimmen einer Dateibezeichnung untersagt. In einigen Fällen jedoch wird dennoch der Dateiname benötigt. Wenn beispielsweise ein Fehler auftritt, während eine vorgegebene Datei bearbeitet wird, ist es in einigen Fällen gewünscht, eine Mitteilung auszugeben, die den Namen dieser Datei in einer solchen Form enthält, daß ein Fehler aufgetreten ist, während diese oder jene Datei bearbeitet wurde.
  • Bei hierarchischen Dateisystemen ist es unmöglich, zu einem Verzeichnis zurückzugelangen, das direkt auf diese Datei zeigt. Das Betriebssystem weist ebenfalls keinen Speicher für den Namen der offenen Datei auf. Wenn daher der Dateiname benötigt wird, nachdem sie geöffnet wurde, verwenden übliche Programme eines der nachfolgenden Verfahren.
    • (1) Beim Öffnen einer Datei speichert eine Programmausführung innerhalb eines Aufrufes eine Korrespondenz zwischen einem Dateinamen (beispielsweise ein vollständiger Pfadname) und einer Dateibezeichnung in Form einer Tabelle und wenn der Dateiname benötigt wird, sieht es, gemäß der Dateibezeichnung als Schlüssel, in der Tabelle nach dem Dateinamen.
    • (2) Für den Fall eines bestehenden Programmes, das nicht, wie zuvor beschrieben, eine solche Korrespondenztabelle erzeugt gewinnt dieses eine Datei wieder, so daß ein Aufruf mittels einer Dateibezeichnung als Schlüssel, zum Erhalten deren Namen, öffnen kann.
  • Beide der zuvor beschriebenen Verfahren weisen Probleme auf. Mit dem Verfahren (1) muß ein Programm innerhalb eines Aufrufs eine Korrespondenz zwischen den Dateibezeichnungen und den Dateinamen handhaben, was den Vorgang aufwendig gestaltet. Falls ein Programm zum Öffnen einer Datei und ein Programm zum Bearbeiten einer offenen Datei sich unterscheiden, werden sie benötigt, um einen Übergang zu bestimmen, wie eine Korrespondenz zwischen den Dateibezeichnungen und den Dateinamen zu handhaben sind. Insbesondere dann, wenn ein bestehendes Programm, das so gestaltet ist, daß es allein Dateibezeichnungen zur Bearbeitung akzeptiert, später Dateinamen benötigt (dies erfolgt beispielsweise beim Hinzufügen einer Hilfsfunktion), wird es notwendig, nicht nur dieses sondern auch ein anderes Programm (ein Dateiöffnungsprogramm) zu ändern, um somit die Dateiname-Dateibezeichnung-Korrespondenz zu handhaben. Wenn in dem anderen Programm Änderungen nicht ausgeführt werden können (beispielsweise wenn es ein Programm eines Dritten und dessen Quellprogramm nicht verfügbar ist), kann das Verfahren nicht ausgeführt werden.
  • Mit dem Verfahren (2) ist es notwendig, alle Dateien wiederzugewinnen, so daß ein Aufruf ausführbar ist (einschließlich der durch den Aufruf geöffneten Dateien und die von einem Stammaufruf geöffneten Dateien). Obwohl Aufruf-Aktivierungsbedingungen bekannt sind, muß das gesamte Dateisystem abgesucht werden, was die Wiedergewinnungszeit erhöht.
  • Falls eine Tabelle, aus der eine Korrespondenz zwischen Schlüsselbezeichnungen, die aus Dateibezeichnungen und Dateinamen, die für alle Dateien aufgezeichnet wurden, zuvor aufgestellt wurde, ist eine Schnellwiedergewinnung ermöglicht. Es ist grundsätzlich jedoch für ein Programm unmöglich, innerhalb eines Aufrufs die Tabelle zu handhaben, so daß sie zu jedem Zeitpunkt zutreffend ist. Das bedeutet, daß ein Programm innerhalb eines Aufrufs nicht den Namen einer Datei wissen kann, die von einem anderen Aufruf geöffnet wurde. Mit einem Betriebssystem würde es möglich sein, solch eine Handhabung zu bestimmen. Dies würde jedoch einen Zeitaufwand zum Aufzeichnen längerer Namen beinhalten, die mittels eines hierarchischen Dateisystems und Diskettenspeicherbereiche für solche Namen eingerichtet sind.
  • Falls grundsätzlich eine schnelle Hilfsfunktion vorgesehen wäre, um einen Dateinamen aus einer Dateibezeichnung zu erhalten, könnte diese leicht auf einen Vorgang zum Anzeigen des Zustandes eines Betriebsaufrufs oder eines Vorgangs zum Kennen des Namens einer geöffneten Datei in einem Unterbrechungspunkt- und Neustartverfahren anzuwenden.
  • Die Schwierigkeiten mit dem Unterbrechungspunkt- und Neustartverfahren werden nachfolgend beschrieben.
  • Wie zuvor beschrieben ist die Behandlung einer Datei zum Zeitpunkt des Unterbrechungspunktes einheitlich durch das Datenattribut der Datei bestimmt und kann nicht während der Programmlaufausführung geändert werden.
  • Insbesondere wenn ein Programmlauf über einen längeren Zeitraum ausgeführt wird und die zum Startzeitpunkt der Programmlaufausführung benötigte Dateikapazität nicht vorbekannt ist, ist es möglich, daß die Dateikapazität die verfügbare Speicherkapazität überschreitet. Es wurde ein Hilfsmittel gewünscht, das es erlaubt, einzelne Dateien während der Durchführung eines Programmlaufes unterschiedlich zu behandeln. Abhängig von dem Ausführen eines Unterbrechungspunktprogrammes, kann es auch notwendig sein, Dateien mit denselben Attributen unterschiedlich zu behandeln. Auch in einem solchen Fall würden sie identisch behandelt.
  • Gleichzeitig mit der Entwicklung von Großcomputern, werden Langzeitprogrammläufe (d. h. mehrere Tage) häufig ausgeführt. In diesem Bereich, kann die Dateikapazität einer Unterbrechungspunktnahme-Datei im Gegensatz zur Vorwegnahme der früheren Programmlaufausführung anwachsen. In einem solchen Fall müssen bekannte Verfahren allein die Speicherkapazität in entsprechendem Umfang erhöhen, da die Dateibehandlung in dem Unterbrechungspunkt- und Neustartverfahren vorgegeben ist. Wenn keine Zunahme erzielbar ist, würde dies aufgrund des Kapazitätsmangels zum Zeitpunkt der Unterbrechungspunktnahme in einem Verfahrensfehler enden.
  • In der Mitte der Programmlaufausführung wird die Kapazität der entsprechenden Datei überprüft. Auch wenn die Datei dazu bestimmt ist, daß sie zuerst gesichert wird, wird diese Bestimmung gelöscht, wenn die Möglichkeit erscheint, daß die Dateikapazität die verdichtete Speicherkapazität überschreiten kann. Falls in diesem Fall die Datei auf einem Magnetband mittels anderer Vorrichtungen gesichert werden kann, weist das Unterbrechungspunkt- und Neustartverfahren einen weiten Anwendungsbereich auf.
  • Bezüglich bekannter Überprüfungspunkt-/Neustarttechniken werden weiterhin die drei folgenden Nachteile beschrieben. Der erste Nachteil ist, daß es schwierig ist, das Unterbrechungspunktsystem und das Neustartsystem zu ändern. In der Anwendung ist es meist unmöglich.
  • Wenn bestimmt ist, daß ein Programm auf einem System zur Unterbrechungspunktnahme läuft und mit einem anderen System neu zu starten ist, würden die i-Knotennummern allgemein zwischen dem Unterbrechungspunktnahme-System und dem Neustart-System variieren. Zusätzlich können die Vorrichtungsnummern ebenfalls variieren.
  • Somit kann das bekannte Verfahren, das die Vorrichtungsnummern, i-Knotennummern und anderes als Datei-Handhabungsinformation speichert, nicht das Unterbrechungspunktnahme-System und Neustartsystem ändern. Zum Systemwechsel sind einige andere Verfahren zum Ändern der i-Knotennummern (und die Vorrichtungsnummern) für die Anpassung an die geänderten Systeme notwendig.
  • Es ist beispielsweise zu sehen, daß Unterbrechungspunkte mit einem System genommen werden und daß ein Neustart mit einem Unterbrechungspunkt von einem anderen Hochleistungssystem begonnen wird, da mehr Zeit als vorgesehen benötigt wird. So etwas kann nicht leicht durchgeführt werden.
  • Der zweite Nachteil liegt darin, daß abhängig von der Zeitgebung der Unterbrechungspunkte eine temporäre Datei, d. h. eine namenlose temporäre Datei, nicht gut gesichert und wiedergewonnen werden kann. Das bedeutet, daß ein Verfahren, daß einfach Befehle von außerhalb eines Programmes eingibt, das sorgfältige Durchführen des Unterbrechungspunktnahme-Verfahrens verfehlt.
  • Die temporäre Datei bezieht sich auf eine Datei, die zeitweilig zum Zeitpunkt der Programmausführung verwendet wird und nach der Programmausführung von einem Dateisystem gelöscht wird. Wenn eine nicht mehr benötigte Datei nicht rechtzeitig entfernt wird, verbleibt sie als Überbleibsel im Dateisystem, wodurch der verfügbare Plattenplatz reduziert ist.
  • Die namenlose temporäre Datei weist eine sog. "UNLINK"-Funktion bzw. Abtrenn-Funktion auf, nachdem sie geöffnet wurde und zeigt sich dem Betriebssystem als eine temporäre Datei. Auf eine abgetrennte Datei kann nicht mittels eines Dateinamens danach zugegriffen werden (Zugriff mittels einer Dateibezeichnung ist zugelassen) und wird automatisch vom Dateisystem mit dem Schließen der Datei entfernt.
  • Das bekannte Verfahren überprüft, ob eine Datei abgetrennt ist oder nicht, zu dem Zeitpunkt, zu dem ein Unterbrechungspunkt genommen wird, und sie abgetrennt ist, sichert sie ihren Inhalt zusammen mit den Datei-Handhabungsinformationen. Beim Neustart wird die Datei durch Verwendung eines geeigneten Namen geöffnet (da sie abgetrennt ist, ist jeder Name zugelassen). Die Datei wird unter Verwendung der abgespeicherten Informationen (der Inhalt der Datei und der Handhabungsinformation) wiedergewonnen und ist zum gleichen Zeitpunkt abgetrennt. Somit kann eine temporäre Datei (namenlose temporäre Datei) wiedergewonnen werden. Es ist zu beachten, daß im Stand der Technik der Inhalt einer solchen temporären Datei dadurch wiedergewonnen wird, daß ein provisorischer Name (Vorrichtungsnummer und i-Knotennummer werden nicht verwendet) bestimmt wird.
  • In Abhängigkeit von der Zeitgebung der Unterbrechungspunkte kann der Neustart jedoch nicht gut wiedererfolgen. 4 zeigt beispielsweise den Fall, in dem ein Unterbrechungspunkt am Punkt (2) des Vorgangs 1 zwischen (1) die Datei öffnen und (3) dem Abtrennverfahren genommen wurde, und ein Neustart am Punkt (5) des Vorgangs 3 erfolgt, nachdem die Dateibearbeitung endet und die Datei am Punkt (4) entfernt wird. In diesem Fall kann jedoch ein Neustart nicht gut durchgeführt werden.
  • Das bedeutet, da die Datei beim Nehmen des Unterbrechungspunktes nicht abgetrennt ist, kann das Unterbrechungspunktnahme-Programm es nicht als temporäre Datei erkennen und bearbeitet es somit als eine übliche Datei (bekannte Verfahren sichern Informationen einschließlich der Dateizugriffsposition). Die Datei wird zu einem späteren Zeitpunkt abgetrennt (als temporäre Datei erklärt), dann aus dem Dateisystem während des Dateischließvorganges entfernt. Nachfolgend wird der Neustartvorgang ausgeführt. Auch wenn ein Versuch erfolgt, unter Verwendung verschiedener Arten von Handhabungsinformationen den Dateizugriffszustand so wieder zu gewinnen, wie er am Zeitpunkt war, an dem der Unterbrechungspunkt gewählt wurde, kann die Datei nicht genau wiedergewonnen werden, da die Datei selber nicht länger vorhanden ist.
  • Obwohl die Originaldatei (temporäre zu verarbeitende Datei) nicht vorhanden ist, kann ihre Vorrichtungsnummer und i-Knotennummer einer anderen Datei genannt sein. Falls ein vollständig abgetrenntes Programm vor einem Neustart zum Bilden einer Datei in dem Dateisystem läuft, wird dieser Datei eine i-Knotennummer benannt. Es besteht die Möglichkeit, daß diese i-Knotennummer mit der i-Knotennummer der Datei, die zuvor entfernt wurde, übereinstimmt.
  • Das bedeutet, daß obwohl die Originaldatei (Datei, die mit dem (1) Öffnungsvorgang bezeichnet ist) nicht länger vorhanden ist, kann eine davon getrennte Datei vorhanden sein, die mit dieser Datei bezüglich der i-Knotennummer und Vorrichtungsnummer übereinstimmt.
  • Solange, wie das Neustartprogramm eine Datei basierend auf der Vorrichtungsnummer und einer i-Knotennummer wiedergewinnt, kann die i-Knotennummer überprüft werden, um zu entscheiden, ob die Datei entfernt wurde oder nicht. Einige Vorgänge können diesbezüglich unternommen werden. Wenn die Vorrichtungsnummer und die i-Knotennummer jedoch einer anderen Datei benannt wurde, besitzt das Neustartprogramm keinen Schlüssel zur Kenntnis dieser Tatsache und kann somit nicht bei der Annahme helfen, ob die Verarbeitung einwandfrei ausgeführt wurde oder nicht. Dann nimmt das Neustartprogramm ein Programm, das zur Abarbeitung bestimmt ist, wieder auf. Somit wird eine vollständig unterschiedliche Datei gelesen, wobei das Wiedergewinnen einer Datei, die für die Wiedergewinnung bestimmt war, verfehlt wird.
  • Der Unterbrechungspunkt und der Neustart mit solcher Zeitgebung führt zu weiteren Nachteilen, daß auch eine namenlose Datei nicht vollständig verarbeitet werden kann, obwohl sie unter demselben Namen wiedergewonnen wurde.
  • Das bedeutet, daß wenn ein Dateiname (Pfadname) in dem Abtrennvorgang nach dem Öffnungsvorgang benannt ist, wird das Abtrennen zum Zeitpunkt der Wiederausführung verfehlt, obwohl derselbe Name zum Zeitpunkt des Öffnen bestimmt ist.
  • Es ist zu beachten, daß ein Verfahren, mit dem ein Unterbrechungspunkt bei jedem beliebigen Punkt genommen wird, und ein Vorgang an diesem Punkt unterbrochen wird, und später (am nächsten Tag) ein Neustart an dem Unterbrechungspunkt ausgeführt wird, derartige Nachteile umgehen kann, aber für unnormale Situationen nicht angebracht ist.
  • Mit dem bekannten Verfahren kann die Verwendung einer temporären Datei mit einem Namen die zuvor beschriebenen Nachteile zeitweilig umgehen, dies würde jedoch zu neuen Nachteilen führen. Alle innerhalb einer Datei auf der Basis von System-Betriebsumwandlungen erzeugten temporären Dateien sind als temporäre Dateien mit Namen anzusehen. Das bedeutet, daß eine Bedienperson eines Systems alle temporären Dateien mit Namen zum Zeitpunkt des Systemstarts oder zu einem geeigneten Zeitpunkt entfernt, so daß unnötige Dateien nicht auf der Diskette verbleiben.
  • Somit können alle oben beschriebenen Nachteile durch Entfernen von temporären Dateien mit Namen bei vollständiger Ausführung am Unterbrechungspunkt und Neustart des Verarbeitungsprogramms ohne deren Entfernung während der Ausführung dieses Programmes umgangen werden. Andere temporäre Dateien mit Namen, die andere Benutzer verwenden, genauso wie temporäre Dateien mit Namen, die das Unterbrechungspunktprogramm verwenden, verbleiben in dem Dateisystem für diese Zeit, was zu einem Zusammendrücken der Diskettenkapazität führt. Beim Auftreten einer solchen Situation ist es notwendig, daß andere Benutzer ihre temporären Dateien mit Namen entfernen.
  • Der dritte Nachteil ist der, daß die Unterbrechungspunkt- und Neustartverarbeitungsprogramme, insbesondere das Neustartverarbeitungsprogramm in den Kernroutinen des Betriebssystems eingefügt sein müssen und wobei das Vergrößern des Umfangs des Betriebssystems eine Zunahme des benötigten Speicherplatzes und eine Verminderung der Zuverlässigkeit verursacht.
  • Bei einem bekannten Neustartdurchführungsprogramm, das auf den absoluten Handhabungsinformationen für die Dateien basiert, ist es notwendig, verschiedene Steuertabellen innerhalb des Betriebssystems wiederzugewinnen, die mit Dateien verbunden sind, die das Betriebssystem handhabt. Die Steuertabellen, die das Betriebssystem handhaben, müssen durch das Kernprogramm des Betriebssystems wiedergewonnen werden. Somit führt der Lauf des Neustartdurchführungsprogrammes zu zusätzlichen Hilfsfunktion für das Kernprogramm des Betriebssystems oder zur Veränderung des Kernprogrammes, was zu einer Zunahme des Umfangs des Kernprogrammes des Betriebssystems führt.
  • Fehler im Kernprogramm des Betriebssystems führen möglicherweise zum Systemzusammenbruch. Somit führt eine Zunahme des Umfangs des Betriebssystems zu einer Verminderung der Systemzuverlässigkeit. Zusätzlich ist es erforderlich, daß das Kernprogramm des Betriebssystems ständig im Speicher bleibt, was den Umfang des benötigten Speichers unerwünscht erhöht.
  • Aus der Publikation „A Fast File System for UNIX" von Marshall K. Mckusick, William N. Joy, Samuel J. Leffler, und Robert S. Fabry, 1984, ist eine Betriebssystem-Erweiterung zum damaligen 512-byte UNIX Dateisystem bekannt, die vor der Veröffentlichung der neuen Version 4.2 der Berkeley Software Distribution notwendig wurden. Die Erweiterung des Betriebssystems erleichtert den Zugriff auf Dateien bzw. deren Namen indem zum Zeitpunkt der Dateiöffnung zusätzlich zur Speicherung und Erfassung der Dateibezeichnung der i-node des darüber liegenden Verzeichnisses gespeichert wird, um auf den Dateinamen der Datei nach Öffnen der Datei auffinden zu können.
  • Die Veröffentlichung "The Design and Implementation of a Log Structured File System" von Mendel Rosenblum und John K. Ousterhout, University of California, offenbart ein alternatives Dateisystem zu dem bekannten Unix FFS (Fast File System). Die Organisation der Datenablage wird im Prinzip im Speicher erledigt. Die entstehenden großen Datenblöcke können in langen Zeitabschnitten auf die Festplatte geschrieben werden. Damit kann die volle Bandbreite für einen Festplattenzugriff verwendet werden, da kurze und häufige Suchanfragen und Zugriffe auf Metadaten an die Festplatte entfallen bzw. in den schnellen Speicher verlegt werden.
  • Aus der Literatur ist eine wissenschaftliche Abhandlung-"Operating System Design – The XINU Approach" von Douglas Corner aus den Bell Laboratories, erschienen bei PRENTICE-HALL, Inc. Engewood Cliffs, New Jersey 07632, 1984 – bekannt. Darin wird in der der Programmiersprache C eine deklarierte Struktur eines Datei-„Anordnungs"-Kontroll-Blocks beschrieben. Diese Struktur enthält einen Zeiger *fl_dent, der auf den Datei-Eintrag im Verzeichnis der Datei zeigt. Dies ist die einzige Verbindung zwischen dem Kontrollblock und dem Dateinamen. Über einen File-Deskriptor fdes kann man direkt auf den im Dateinamen fdname gespeicherten Dateinamen zugreifen.
  • Das Standartwerk „Programmieren in C" von Brian W. Kernighan und Dennis M. Ritchie beschreibt, wie man eine Datei unter UNIX öffnet.
  • Aus der Publikation „Directory Reference Patterns in Hierachical File Systems von Richard A. Floyd und Carla Schlatter Ellis geht hervor, wie man ein UNIX System modifiziert, um High Level Systemaufrufe loggen zu können. Die File id wird dabei durch (device/indode) gebildet.
  • Daher ist es Aufgabe der Erfindung, nicht benötigte temporäre Dateien nach einem Programmabbrucheffizient zu ermitteln und zu löschen.
  • In einem bevorzugten Ausführungsbeispiel der Erfindung bezüglich eines Dateibestimmungsverfahrens zur Verwendung in einem Betriebssystem zum Handhaben eines Dateisystems, das eine hierarchische Struktur aufweist, die von einem Basisknoten über Zwischenknoten zu Dateien führen, die als Endknoten dienen, wird ein direkt vor einer Datei stehender Zwischenknoten zum Zeitpunkt des Öffnen der Datei gespeichert, wobei der Zwischenknoten der der geöffneten Datei entspricht, basierend auf den gespeicherten Informationen, wie vom Aufruf angefordert, erfaßt wird, und wobei der erfaßte Zwischenknoten dem Aufruf angegeben wird.
  • Mit diesem Dateinamenerfassungsverfahren werden Informationen, die ein Verzeichnis (Zwischenknoten) direkt vor einer Datei bestimmen, innerhalb des Betriebssystems gespeichert, um mit einer Dateibezeichnung die an der Datei angeordnet ist, übereinzustimmen. Auf diese Weise bestimmt der Aufruf einfach die Dateibezeichnung, um das Verzeichnis direkt vor der Datei zu identifizieren und erhält den Dateinamen von der gespeicherten Information in dem Verzeichnis.
  • In einem Beispiel für ein Unterbrechungspunkt- und Neustartverfahren für die Verwendung in einem Computersystem, das ein hierarchisch angeordnetes Dateisystem aufweist, muß das Betriebssystem den Namen einer Datei, die geöffnet ist, mittels eines Unterbrechungspunktnahme-Aufrufs bestimmen, wenn sie von einem Benutzer aufgefordert ist, einen Unterbrechungspunkt auszuwählen, wobei der Name der Datei die geöffnet ist, aus der gespeicherten Information in dem direkt vor der Datei stehenden Zwischenknoten gespeichert ist, die von dem Betriebssystem gegeben wird, und wobei ein Datei-"save"-Modus an dem Unterbrechungspunkt und ein Datei-"restore"-Modus zum Neustartzeitpunkt, basierend auf dem Dateinnamen, bestimmt sind.
  • Das Unterbrechungspunkt- und Neustartverfahren läßt es zu, den Namen einer geöffneten Datei am Unterbrechungspunkt zu erhalten, und Informationen über den vollständigen Pfadnamen und des Zugriffstatus der Datei die als Dateihandhabungsinformationen abzuspeichern sind, zu erhalten, wodurch zugelassen ist, die Datei unter Verwendung des Dateinamens wiederzugewinnen, ohne dabei die Dateivorrichtung und die i-Knotennummern zu verwenden. Aus diesem Grund kann das Neustartverfahren von unterschiedlichen Systemen von dem Unterbrechungspunktnahme-System verwendet werden.
  • Weiterhin kann das Unterbrechungspunkt- und Neustartverfahren bestimmen, ob der Inhalt einer Datei, die benutzt wird, an dem Unterbrechungspunkt zu sichern ist oder nicht, ob die Datei mit demselben Namen wiederzugewinnen ist oder nicht, usw. Auch in dem Fall, daß die Datei abgetrennt wurde nachdem der Unterbrechungspunkt gewählt wurde, kann die Datei somit mit demselben Namen wiedergewonnen werden.
  • Weiterhin vermeidet das Unterbrechungspunkt- und Neustartverfahren, daß Dateiwiedergewinnungs-Handhabungsinformationen benötigt werden, die von dem Betriebssystem beim Neustart gehandhabt werden, so daß es zulässig ist, ein Neustartprogramm bei einem Anwendungsprogramm außerhalb des Betriebssystems einzuführen. Somit kann der Umfang des Kernprogrammes des Betriebssystems vermindert werden und die Zuverlässigkeit des Betriebssystems kann erhöht werden.
  • Nachfolgend wird die Erfindung anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnungen erläutert.
  • Es zeigen:
  • 1 ein Beispiel eines hierarchisch angeordneten Dateisystems,
  • 2 ein Beispiel eines Dateiöffnungsvorganges,
  • 3 Handhabungstabellen, die gebildet ist, wenn eine Datei geöffnet ist,
  • 4 eine Darstellung zur Erläuterung der mit dem Unterbrechungspunkt- und Neustartvorgangs verbundenen Nachteile,
  • 5 eine Darstellung der erfindungsgemäßen Grundanordnimg,
  • 6 Handhabungstabellen, die gebildet sind, wenn eine Datei geöffnet ist,
  • 7 eine Darstellung eines Dateiöffnungs Vorganges gemäß eines erfindungsgemäßen Ausführungsbeispiels,
  • 8 Handhabungstabellen, die zum Zeitpunkt des Bestimmens des Dateinamens gebildet sind,
  • 9 ein Dateinamenbestimmungsvorgang,
  • 10 eine Darstellung, die Handhabungstabellen darstellt, die Verzeichniserfassungszeitpunkt gebildet sind,
  • 11 ein Verzeichniserfassungsvorgang
  • 12 ein Programm zum Erhalten des vollständigen Pfadnamens einer Datei
  • 13 eine Darstellung, die Handhabungstabellen darstellt, die gebildet sind, wenn die Dateibezeichnungsinformation kopiert ist,
  • 14 einen Dateibezeichnung-Information-Kopiervorgang,
  • 15 eine Darstellung zur Erläuterung der Betriebsumgebung eines Systems zum Durchführen des Unterbrechungspunkt- und Neustartvorganges,
  • 16 eine Darstellung zur Erläuterung von Dateihandlungs-Bestimmungsmoden,
  • 17 einen Unterbrechungspunkt-Auswählvorgang,
  • 18 eine Befehlsanalyse und CPR-Dateianalyse im Unterbrechungspunkt-Auswähl Vorgang,
  • 19 einen Dateizustand-GewinnungsVorgang,
  • 20, 21 und 22 Darstellungen zur Erläuterung eines Aufrufaktivierungsverfahrens in UNIX, und
  • 23 ein Neustartverfahren, wobei 15, 16, 17, 18, 19, 20, 21 und 22 nicht Gegenstand der Erfindung sind, sondern nur das technische Umfeld illustrieren.
  • 5 zeigt die grundliegende Anordnung der Erfindung. Die Darstellung zeigt Hauptkomponenten eines Betriebssystems, das ein Dateisystem aufweist, das eine hierarchische Anordnung aufweist, die von einem Basisknoten über Zwischenknoten, d. h. Verzeichnisse, zu Dateien führen, die als Endknoten dienen, und daß eine Anfrage zuläßt, d. h. ein Anwendungsprogramm um diese Datei durch Angabe einer Dateibezeichnung, die dieser Datei zum Zeitpunkt des Dateiöffnungsvorganges zugeordnet ist, der vor dem Gebrauch dieser Datei durchgeführt wurde, wobei das System auf der Grundlage eines Dateinameerfassungsverfahrens zum Erhalten des Namens einer geöffneten Datei arbeitet.
  • Gemäß 5 speichert ein Zwischenknoten-Speicherabschnitt 21 einen Zwischenknoten (Verzeichnis) vor einer Datei zum Zeitpunkt ihres Öffnen, und ein Zwischenknoten-Erfassungsabschnitt 22 erfaßt den Zwischenknoten entsprechend der Dateibezeichnung in dem Zwischenknoten-Speicherabschnitt 21, wenn eine Dateibezeichnung bestimmt ist, und informiert einen Aufruf über diesen Knoten. Der die Datei verwendente Aufruf kann somit aus dem Dateisystem den gespeicherten Inhalt des vor der Datei stehenden Zwischenknoten lesen um den Namen dieser Datei zu erhalten.
  • Wie in Verbindung mit 2 beschrieben, wird in dem bekannten Dateiöffnungsvorgang eine Dateibezeichnung einem Anwendungsprogramm angegeben und danach wird ein Zugriff zugelassen, um die Datei durch Gebrauch der Dateibezeichnung zu öffnen. Im Gegensatz dazu ist erfindungsgemäß eine Datei-Handhabungstabelle für eine Datei (nachfolgend als verzeichnisorientierte Datei-Handhabungstabelle bezeichnet) gebildet, die eine Vorrichtung und i-Knotennummern des Zwischenknotens (beispielsweise Verzeichnis) speichert, bevor eine Datei in dem Dateiöffnungsvorgang geöffnet ist.
  • Wenn der Name einer Datei, nachdem sie geöffnet wurde, benötigt wird, erfaßt der Zwischenknoten-Erfassungsabschnivt 22 in dem Betriebssystem eine verzeichnisorientierte Datei-Handhabungstabelle, die einer angegebenen Dateibezeichnung entspricht und bildet eine Handhabungstabelle (beispielsweise eine Dateiaufruf-Handhabungskorrespondenztabelle), die einen Zeiger auf die verzeichnisorientierte Datei-Handhabungstabelle speichert. Weiterhin ist ein neuer Zugang des Zeigers auf die Dateiaufruf-Handhabungskorrespondenztabelle in einer Dateibezeichnung-Handhabungstabelle erfolgt, und seine Zugangsnummer ist dem Aufruf als Dateibezeichnung für das Verzeichnis angegeben.
  • Der die Datei benutzende Aufruf kann im Ergebnis die Dateibezeichnung für das Verzeichnis verwenden, um den gespeicherten Inhalt des Verzeichnisses aus dem Dateisystem zu lesen und um den Namen der Datei unter dem Verzeichnis, d. h. die nun im Gebrauch befindliche Datei, zu erhalten.
  • D. h. die Erfindung ist darauf ausgelegt, eine Korrespondenz zwischen einer Dateibezeichnung und einer i-Knotennummer einzurichten, ein Verzeichnis zu ermitteln, zu der eine Datei gehört, und den Dateinamen in dem Verzeichnis wiederzugewinnen, das die i-Knotennummer gebraucht, wodurch der Dateiname erhalten wird.
  • Zusätzlich kann das Betriebssystem mit einem Dateibezeichnung-Informationskopierabschnitt versehen sein, der Informationen kopiert, die die Dateibezeichnung einer Datei enthält, die irgendein anderer Aufruf verwendet, wodurch das Erhalten des Namens der Datei, die durch den anderen Aufruf verwendet wird, zugelassen ist.
  • Weiterhin ist in dem Unterbrechungspunkt- und Neustartvorgang, ein Datei-"soving"-Modus zum Zeitpunkt des Unterbrechungspunktes und einer Dateiwiedergewinnung oder ein "re open"-Modus zum Neustartzeitpunkt im einzelnen für jede der Dateien bestimmbar, die durch ein Anwendungsprogramm auf der Grundlage ihrer Namen am Unterbrechungspunkt geöffnet sind. Hiermit wird es ermöglicht die Namen einer jeden geöffneten Datei von einem Anwendungsprogramm zu erfassen.
  • Wie zuvor beschrieben, sind die Dateinamen aus den Dateibezeichnungen erhältlich. Für den Fall eines Fehlers können daher die Dateinamen zu einem Zeitpunkt, an dem ein Unterbrechungspunkt genommen ist, sichtbar angezeigt werden.
  • Als nächstes stellen die 6 und 7 ein Ausführungsbeispiel eines Dateiöffnungsvorganges dar.
  • 6 zeigt Handhabungstabellen, die im Betriebssystem erzeugt wurden, wenn eine Datei geöffnet ist. Wie im vorliegenden Ausführungsbeispiel dargestellt, wird eine verzeichnisorientierte Datei-Handhabungstabelle 28 neu hinzugeführt, wenn eine Datei geöffnet ist. Zeiger auf die Datei-Handhabungstabelle 4 und die verzeichnisorientierte Datei-Handhabungstabelle 28 sind in der Dateiaufruf-Handhabungskorrespondenztabelle 5 abgespeichert. In der verzeichnisorientierten Datei-Handhabungstabelle 28 sind die Vorrichtungsnummer 2 und die i-Knotennummer 2 sind in dem der Datei x vorausgehenden Verzeichnis in dem Dateisystem gemäß 1, d. h. im Verzeichnis e abgespeichert.
  • In dem Dateiöffnungsvorgang wird eine Suche im Dateisystem 3 nach einer Datei mit einem bestimmten Namen und einem Verzeichnis, das direkt auf diese Datei zeigt im Schritt S30 gemäß 7 ausgeführt. Auf diese Weise wird ihre eigene Vorrichtungs- und i-Knotennummer erhalten. Im Schritt S31 werden die Datei-Handhabungstabelle 4 und die verzeichnisorientierte Datei-Handhabungstabelle 28 entsprechend für die Datei und das Verzeichnis gebildet, und die entsprechenden Vorrichtungs- und i-Knotennummern werden danach in jeder dieser Tabellen abgespeichert.
  • Im nachfolgenden Schritt S32 wird die Dateiaufruf-Handhabungskorrespondenztabelle 5 gebildet, um die Zeiger auf die Datei-Handhabungstabelle 4 und die verzeichnisorientierte Handhabungstabelle 28 zu speichern. Die Schritte 33 und 34 entsprechen jeweils den Schritten S13 und S14 gemäß 2. Im Schritt S34 wird die Zugangsnummer der Dateibezeichnung-Handhabungstabelle 7 dem Anwendungsprogramm (Aufruf A) 8 als eine Dateibezeichnung angegeben, womit der Dateiöffnungsvorgang beendet ist.
  • 7 zeigt ein Beispiel des Dateiöffnungsvorganges in einem Betriebssystem, bei dem die Hierarchie des Dateisystems durch einen vollständigen Pfadnamen in Form von Dateinamen wiedergegeben ist, wobei Verzeichnisse als eine Art Datei behandelt werden, wobei eine Dateibezeichnung für jeden Aufruf als eine Zugangsnummer der Dateibezeichnung-Handhabungstabelle 7 gegeben ist, und Vorrichtungs- und i-Knotennummern, die als Schlüssel für die Wiedergewinnung einer Datei innerhalb eines Verzeichnisses dienen, werden mittels einer Dateibezeichnung erhalten. Ein typisches Beispiel eines solchen Betriebssystems ist UNIX.
  • Der Vorgang zum Erhalten des Namens einer geöffneten Datei mittels eines Anwendungsprogrammes 8 wird nachfolgend unter Bezugnahme auf 8 und 9 beschrieben. 8 zeigt Handhabungstabellen, die im Betriebssystem zum Zeitpunkt des Erfassen von Dateinamen gebildet sind. 9 zeigt den Dateinamen-Erfassungsvorgang.
  • Auf den Empfang einer Anfrage zum Erfassen eines Verzeichnisses vom Anwendungsprogramm hin, bildet das Betriebssystem eine neue Dateianfrage-Handhabungskorrespondenztabelle 29 (s. 8), die direkt auf die verzeichnisorientierte Datei-Handhabungstabelle 28 zeigt, und fügt einen neuen Zugang hinzu, der einen Zeiger auf diese Tabelle 29 in der Dateibezeichnung-Handhabungstabelle 7 speichert.
  • Wenn das Anwendungsprogramm 8 den Namen einer offenen Datei, die nun bearbeitet wird, benötigt, kann der Name gemäß den Schritten S36 bis S39 gemäß 9 erhalten werden. Im Schritt S36 wird als erstes eine Dateibezeichnung bestimmt, um die i-Knotennummer der Datei zu erhalten, wobei i-Knotennummer-Erfassungsmittel verwendet werden, was einer bestehenden Technik entspricht. In UNIX beispielsweise erlaubt die Verwendung einer FSTAT-Funktion, die i-Knotennummer entsprechend einer bestimmten Dateibezeichnung zu erhalten.
  • Im nachfolgenden Schritt S37 wird eine Dateibezeichnung bestimmt, um eine Dateibezeichnung für das der Datei vorhergehende Verzeichnis zu erhalten, wobei ein Verzeichnis-Erfassungsvorgang verwendet wird. Der Verzeichnis-Erfassungsvorgang wird unter Bezugnahme auf 11 näher erläutert.
  • Nach dem Schritt S38 wird die somit erhaltene Dateibezeichnung für das Verzeichnis bestimmt, den Inhalt des Verzeichnisses zu lesen, wobei Verzeichnislesemittel verwendet werden. Diese Verzeichnislesemittel sind ebenfalls eine bestehende Technik. In UNIX, erlaubt die Verwendung einer READDIR-Funktion den Inhalt eines Verzeichnisses entsprechend einer bestimmten Dateibezeichnung in den Hauptspeicher zu lesen. Im Schritt S39 schließlich erfolgt eine Durchsuchung des Inhalts des Verzeichnisses, so daß der Name (dies ist ein Name im Bezug auf das direkt vorhergehende Verzeichnis, nicht ein vollständiger Pfadname) der Datei entsprechend der im Schritt S36 erhaltenen i-Knotennummer zu lesen, womit der Vorgang beendet ist.
  • Im Schritt S39 wird ein Dateiname im Bezug auf das direkt vorhergehende Verzeichnis auf der Grundlage einer i-Knotennummer, die eine eins-zu-eins-Korrespondenz zu einer entsprechenden Datei aufweist, erhalten. Auch für den Fall, daß eine andere Datei y in dem Verzeichnis e vor der Datei x, wie in 1 dargestellt, vorhanden ist, entspricht die i-Knotennummer, die im Schritt S36 erhalten ist, der Datei x, so daß der Erhalt des Dateinamens x ermöglicht ist. Im allgemeinen gibt es in einem Verzeichnis vor irgendeiner Datei mehrere Dateien, wie die Dateien x und y.
  • Nachfolgend wird der Verzeichnis-Erfassungsvorgang gemäß Schritt S37 in 9 im einzelnen unter Bezugnahme auf 10 und 11 beschrieben. 10 zeigt Handhabungstabellen, die im Betriebssystem gebildet sind, wenn eine Verzeichnis-Erfassungsaufforderung erfolgt ist. 11 stellt den Verzeichnis-Erfassungsvorgang dar.
  • Im Schritt S41 gemäß 11 werden ein Zugang zur Dateibezeichnung-Handhabungstabelle 7 für eine durch ein Anwendungsprogramm 8 bestimmte Dateibezeichnung und für eine Dateiaufruf-Handhabungskorrespondenztabelle 5 verfolgt, um die verzeichnisorientierte Datei-Handhabungstabelle 28, die im Schritt S31 des Dateiöffnungsvorganges gemäß 7 gebildet ist, zu erhalten. In 10 entspricht ein Pfeil, der eine Dateibezeichnung vom Anwendungsprogramm 8 dem Betriebssystem bestimmt ist, der Verzeichnis-Erfassungsanfrage.
  • Im Schritt S42 wird eine Dateianfrage-Handhabungstabelle 29 neu gebildet, so daß ein direkter Zugriff auf die verzeichnisorientierte Datei-Handhabungstabelle 28 erfolgen kann. Im Schritt S43 ist der Dateibezeichnung-Handhabungstabelle 7 in der Aufruf-Handhabungstabelle 6 ein Zugang hinzugefügt, so daß ein Zeiger auf die neu gebildete Dateianfrage-Korrespondenztabelle 29 in ihr gespeichert ist. Im Schritt S44 wird die der Dateibezeichnung-Handhabungstabelle 7 hinzugefügte Zugangsnummer als Dateibezeichnung für das Verzeichnis-Verzeichnis-Erfassungsanfrage-Anwendungsprogramm 8 angegeben, wodurch der Vorgang beendet ist.
  • Durch die Vorgänge, gemäß 9 und 11, ist das Verzeichnis, zu dem die Datei gehört, d. h. das Verzeichnis der in 11 dargestellten Datei, erhalten. Wenn der Dateiname bezüglich dieses Verzeichnisses, d. h. x als Name bezüglich dem Verzeichnis e erhalten ist, ist der vollständige Pfadname für x innerhalb des hierarchischen Dateisystems erhalten.
  • 12 zeigt ein Beispiel eines Programmes zum Erhalten dieses vollständigen Pfadnamens. Wenn eine Dateibezeichnung für ein Verzeichnis gegeben ist, kann eine Funktion zum Bewegen des aktuellen Verzeichnisses zu diesem Verzeichnis, d. h. die FCHDER-Funktion in UNIX und einer Funktion, d. h. die GETCWD-Funktion in UNIX zum Erhalten des Namens des aktuellen Verzeichnisses kombiniert werden, um den vollständigen Pfadnamen zu erhalten. Das bedeutet, das aktuelle Verzeichnis ist zeitweilig in ein Verzeichnis bewegt worden, zu dem eine Dateibezeichnung, die nun zu bearbeiten ist, gehört, und dann wird der Name des aktuellen Verzeichnisses mittels des aktuellen Verzeichnisname-Ermittlungsprogrammes erhalten. Die Kombination des Namens des Verzeichnisses, der so erhalten ist, und der Dateiname bezüglich des Verzeichnisses in einer Zeichenfolge, kann der vollständige Pfadname erhalten werden. Falls ein Verzeichnisname angegeben ist, ist üblicherweise ein Dateisystem ebenfalls bestimmt. Somit beseitigt die Erfindung die Notwendigkeit zum Suchen mehrerer Dateisysteme.
  • Das zuvor beschriebene Ausführungsbeispiel galt für den Fall, in dem irgendein Programm die Namen von durch das Programm geöffneten Dateien erhält. Erfindungsgemäß ist es jedoch ebenfalls möglich die Namen von Dateien zu erhalten, die von einem anderen Programm als von diesem Programm geöffnet sind.
  • 13 und 14 stellen einen Vorgang zum Erhalten der Namen von Dateien, die mittels eines anderen Aufrufs geöffnet wurden. 13 stellt Handhabungstabellen dar, die im Betriebssystem gebildet sind, wenn die Information über die Dateibezeichnung kopiert ist. 14 stellt den Dateibezeichnungs-Informationskopiervorgang dar.
  • Nachfolgend erfolgt die Beschreibung für den Fall, daß Aufruf B45 den Namen einer Dateil erhält, die durch den Aufruf A8, der vom Aufruf B45 verschieden ist, geöffnet ist.
  • Seitens des Aufrufs A8 wird der in Verbindung mit 7 beschriebene Öffnungsvorgang durchgeführt, so daß die Datei-Handhabungstabelle 4, die verzeichnisorientierte Datei-Handhabungstabelle 28, die Dateiaufruf-Handhabungskorrespondenztabelle 5, die Zeiger auf diese Tabellen 4 und 28 speichern, und die Datei-Zugang-Bezeichnung-Handhabungstabelle 7, die einen Zeiger auf Tabelle 5 speichert, gebildet wurden, und daß eine Dateibezeichnung als Zugangsnummer der Dateibezeichnung-Handhabungstabelle 7 an den Aufruf A zurückgegeben wurde.
  • Wenn in diesem Zustand der Aufruf B45 eine Anforderung verursacht, die Dateibezeichnunginformation vom Aufruf A8 zu kopieren, wird die Dateibezeichnung-Handhabungstabelle 7 des Aufrufs A im Schritt S50 gemäß 14 auf der Grundlage des Aufrufnamens, hierin Aufruf A, erhalten. Im Schritt S51 wird der Inhalt der somit erhaltenen Dateibezeichnung-Handhabungstabelle 7 in die Aufruf-Handhabungstabelle 46 seitens des nachfragenden Aufrufs B45 als Dateibezeichnung-Handhabungstabelle 47 (s. 13) kopiert. Im Schritt S52 ist seitens des Aufrufs B45 eine Dateiaufruf-Handhabungstabelle 48 als eine durch die kopierte Dateibezeichnung-Handhabungstabelle 47 darauf gerichtete Steuertabelle neu gebildet, und wobei Zeiger gesetzt sind, um den Zugriff durch die Tabelle 48 auf die Datei-Handhabungstabelle 4 und die verzeichnisorientierte Datei-Handhabungstabelle 48 zuzulassen. Im Schritt S53 wird dem anfragenden Aufruf eine Zugangsnummer der kopierten Datei-Handhabungstabelle 47 mitgeteilt, hier Aufruf B, als Dateibezeichnung. Hiermit wird dem Aufruf B45 nachfolgend der Zugriff auf einer durch den Aufruf A8 durch die Verwendung der Dateibezeichnung geöffnete Datei zugelassen.
  • Nachfolgend wird ein Beispiel eines Unterbrechungspunkt- und Neustartvorganges, der einen mit dem zuvor beschriebenen Dateinamen-Erfassungsverfahren bestimmten Dateinamen verwendet, beschrieben, wobei dieses Beispiel nicht zur Erfindung gehört.
  • Wie zuvor beschrieben ist der Unterbrechungspunkt- und Neustartvorgang ein Vorgang, der den Zwischenstatus mitten in der Programmauführung sichert, um gegen das 10 Auftreten von Annormalien und im Falle einer Annormalie, den Neustart des Programms von dem Punkt aus, an dem ein Unterbrechungspunkt gewählt wurde, zu ermöglichen. Es ist möglich, einen nach einem Unterbrechungspunkt fragenden Benutzer, einen Dateisicherungsmodus am Unterbrechungspunkt zu bestimmen und einen Datei-Wiedergewinmings- oder Neuöffnungsmodus zum Neustartzeitpunkt, basierend auf den Namen der einzelnen geöffneten Dateinamen, mittels eines Unterbrechungspunkt-Auswahlprogrammes, das viele zuvor in Bezug auf dem Stand der Technik beschriebenen Nachteile löst.
  • 15 zeigt eine Systemanordnung, die die Betriebsumgebung des Unterbrechungspunkt- und Neustartvorganges darstellt. Zur Anfrage eines Unterbrechungspunkt- und Neustartdienstes, gibt der Benutzer über ein Endgerät bzw. Terminal 55 einen Befehl in eine zentrale Recheneinheit bzw. CPU 56 ein. Durch diese Anfrage wird zunächst ein Unterbrechungspunktdienst-Programm 57 innerhalb der CPU 56 gestartet, das, wie angefordert, sich auf den Inhalt einer Datei (CPR-Datei) 58 bezieht, das Dateibehandlungen am Unterbrechungspunkt und zur Neustartzeit speichert. Ein Unterbrechungspunktnahme- und Neustartprogramm 59 wird geöffnet, um Daten in einer Dateigruppe 60 abzuspeichern, die augenblicklich in einem unterbrechungspunktdatensicheren Bereich 62 für den späteren Neustart gelesen bzw. geschrieben werden. Das Unterbrechungspunkt- und Neustartprogramm 59 selber ist ebenfalls im unterbrechungspunktdatensicheren Bereich 62 gesichert. Zum Neustart gewinnt ein Neustartdienst-Programm 63 Daten wieder, die im unterbrechungspunktdatensicheren Bereich 62 in der Dateigruppe 60 gesichert sind. An diesem Punkt ist das Unterbrechungspunkt- und Neustartprogramm 59 selber gespeichert, wodurch der Vorgang neu startet.
  • 16 gibt ein System wieder, das bestimmt, wie eine Datei im Unterbrechungspunkt- und Neustartvorgang zu behandeln ist. Wie bezugnehmend auf 15 beschrieben, startet ein den Unterbrechungspunkt- und Neustartdienst aufrufender Benutzer zuerst den Unterbrechungspunktvorgang durch Eingeben eines CPR-Befehls über das Terminal 55. In diesem Fall kann der Benutzer einen Befehlsparameter bestimmen, der angibt, wie eine offene Datei auf der Grundlage ihres Namens zu behandeln ist. Parameter können zuvor in einer CPR-Datei genannten Datei abgespeichert sein, um wie benötigt, die Notwendigkeit zu beseitigen, einen Parameter zu dem Zeitpunkt anzugeben, wenn ein Befehl eingegeben wird. Dem Benutzer ist es somit erlaubt, anzugeben, wie eine Datei in dem Unterbrechungspunkt- und Neustartvorgang für jede Datei zu behandeln ist. Dies kann jederzeit zwischen dem Beginn eines Programmlaufes und zum Zeitpunkt, an dem ein Unterbrechungspunkt gewählt ist, durchgeführt werden.
  • Wie in 16 dargestellt ist, weist das vorliegende Ausführungsbeispiel vier Modi auf, um anzugeben, wie eine Datei in dem Unterbrechungspunkt- und Neustartvorgang zu behandeln ist. Der erste Modus ist "save und restore" genannt, durch den der Inhalt einer Datei und der Zugriffsstatus zum Zeitpunkt, zu dem ein Unterbrechungspunkt gewählt ist, gesichert ist, und der beim Neustart die Datei auf der Grundlage ihres gespeicherten Inhalts und Zugriffsstatus wiedergewinnt. In diesem Fall wird der Ursprungsname wie er ist als Dateiname zum Wiedergewinnungszeitpunkt, verwendet.
  • Der zweite Modus ist "save and copy" genannt. Gemäß dieses Modus wird die wiedergewonnene Datei beim Neustart als temporäre Datei behandelt und ihr Name kann mit dem ursprünglichen Namen übereinstimmen oder nicht, obwohl der Inhalt einer Datei und der Zugriffsstatus am Unterbrechungspunkt gesichert ist und beim Neustart die Datei ihren Inhalt und ihren Zugriffsstatus verwendent wiedergewonnen ist.
  • Der dritte Modus ist "append" genannt. Gemäß dieses Modus wird der Inhalt einer Datei am Unterbrechungspunkt nicht gesichert und beim Neustart wird sie im "append"-Modus wiedergeöffnet. Dies bedeutet, daß der Inhalt einer Datei, wie er ist, zum Neustartzeitpunkt erhalten bleibt und daß der Zugriffsstatus wie er ist, der Datei ebenfalls bis zum Neustartzeitpunkt erhalten bleibt.
  • Der vierte Modus ist "ignore" genannt. Gemäß dieses Modus ist der Zugriffsstatus einer Datei (Zugriffsposition usw.) am Unterbrechungspunkt gesichert, ohne deren Inhalt zu sichern. Beim Neustart wird die Datei in dem am Unterbrechungspunkt gesicherten Zugriffsstatus neu geöffnet.
  • 17 stellt den Vorgang bei einem Unterbrechungspunktnahme-Aufruf dar. Der Aufruf ermittelt Unterbrechungspunktdaten aus einer Gruppe von Aufrufen, für die Unterbrechungspunkte zu nehmen sind, auf der Basis aus der Aufrufgruppe identifizierter Dateinamen und gesicherter Informationen und Dateiwiedergewinnungen. Die Anfragegruppe bezieht sich auf ein Programm, das für einen Unterbrechungspunkt- und Neustartvorgang vorgesehen ist. Im allgemeinen umfaßt solch ein Programm einen Stammaufruf und einen oder mehrere abstammende Aufrufe und von diesen wiederum abstammende Aufrufe. Die Beziehung zwischen Stamm und abstammenden Aufrufen und anderen wird nachfolgend unter Bezugnahme auf 20, 21 und 22 beschrieben.
  • Ein einen Unterbrechungspunkt-Dienst anfordernder Benutzer gibt einen Unterbrechungspunktnahme-Aufruf in das System über das Terminal 55 gemäß 15 ein, um den Unterbrechungspunktnahme-Aufruf zu aktivieren, der, wenn er aktiviert ist, die Ausführung gemäß nachfolgendem Vorgang ausführt.
  • Der Unterbrechungspunktnahme-Aufruf führt zunächst eine Befehlsanalyse (Parameteranalyse) und eine CPR-Dateianalyse im Schritt S65 gemäß 17 durch. Im Unterbrechungspunktnahme-Befehl sind angegebene Identifizierelemente des Unterbrechungspunktnahme-Befehls angegeben, für die Unterbrechungspunkte zu nehmen sind. In diesem Befehl kann angegeben sein, wie die durch die Unterbrechungspunktnahme-Aufrufe bearbeiteten Dateien zu sichern und wiederzugewinnen sind. Abhängigkeit von den Umständen, können Informationen wie jede Datei zu sichern und wiederzugewinnen ist, zuvor in einer CPR-Datei genannten Datei beschrieben sein, wobei in einem solchen Fall der Name durch den Befehl bestimmt sein kann. Auf jeden Fall sind Informationen, über die Namen von Dateien und wie sie zu sichern und wiederzugewinnen sind, aus der Unterbrechungspunktnahme-Aufrufgruppe identifizierte, erhalten.
  • 18 zeigt ein detailliertes Flußdiagramm für die Befehlsanalyse und die CPR-Dateianalyse. Im Schritt S70 erfolgt eine Entscheidung darüber, ob ein CPR-Befehl angibt, daß ein Parameter, der sich darauf bezieht, wie eine Datei zu behandeln ist, von der CPR-Datei aufgenommen wurde oder nicht. Falls dies bestimmt ist, ist der Parameter von der CPR-Datei im Schritt S71 erhalten, andernfalls wird dieser Parameter von dem CPR-Befehl im Schritt S72 erhalten.
  • Mit dem Beenden des Vorgangs gemäß 18 führt der Unterbrechungspunktnahme-Aufruf zunächst Schritt S66 gemäß 17 aus. In diesem Schritt wird die Unterbrechungspunkt-Auswählaufrufgruppe in den gestoppten Zustand gebracht. Das bedeutet, daß alle Aufrufe in dieser Gruppe in den unterbrochenen Zustand übergehen. Wenn die Gruppe aus einem Stammaufruf und einem abstammenden Aufruf besteht, werden die beiden Aufrufe in den unterbrochenen Zustand gebracht.
  • Nachfolgend führt der Unterbrechungspunktnahme-Aufruf Schritt S67 aus, durch den der Status der Unterbrechungspunktnahme-Aufrufgruppe erhalten ist. Das bedeutet, daß eine Aufrufliste in dieser Gruppe (eine Liste von Aufrufidentifizierelementen) erhalten ist, um den Status von jedem Aufruf zu erhalten. Der Status eines Aufrufes bezieht sich auf den Inhalt seines virtuellen Raumes (Inhalt eines Programmes und Daten) und Handhabungsinformationen des Betriebssystems (die Position von Fehlern, deren Ausführung außer Kraft gesetzt sind, der Inhalt von Registern und dergleichen). Die Informationen sind in einer Datei im unterbrechungspunktdatensicheren Bereich 62 gemäß 15 gesichert.
  • Im nachfolgenden Schritt S68 erhält der Unterbrechungspunktnahme-Aufruf den Zustand von Dateien, die durch die Unterbrechungspunktnahme-Aufrufgruppe geöffnet sind. Für diesen Vorgang findet das zuvor beschriebene Verfahren zum Bestimmen des Dateinamens aus einer Dateibezeichnung Anwendung.
  • 19 ist ein detailliertes Flußdiagramm des Vorgangs zum Erhalten des Dateistatus. Im Schritt S75 wird die Dateibezeichnung-Information auf der Grundlage des Namens eines Unterbrechungspunktnahme-Aufrufes kopiert. Das bedeutet, daß eine Dateibezeichnung-Handhabungstabelle seitens des Unterbrechungspunktnahme-Aufrufes auf die Unterbrechungspunktnahme-Aufrufseite kopiert ist, wodurch die Dateibezeichnungs-Information eines anderen Aufrufes, d. h. ein Unterbrechungspunktnahme-Aufruf, erhalten wird. Im nachfolgenden Schritt S76 ist, wie zuvor in Verbindung mit 8 bis 12 beschrieben, der Dateiname aus der Dateibezeichnung erhalten, wodurch der vollständige Pfadname einer Datei erhalten ist. Das bedeutet, daß der vollständige Pfadname als Dateiname, entsprechend einer Zugangsnummer der kopierten Dateibezeichnung-Handhabungstabelle und Daten, die eine Korrespondenz zwischen Dateibezeichnungen und Dateinamen anzeigen, erhalten sind. Im Schritt S77 werden Unterbrechungspunktdaten aus Dateien genommen. Wie zuvor beschrieben, lassen die Befehlsanalyse und die CPR-Dateianalyse Dateinamen zu und wie der Dateiinhalt gesichert und abgespeichert wird, d. h. einen Befehl, wie Unterbrechungspunktdaten gewonnen werden. Auf der Grundlage dieses Befehls wird das Verfahren zum Aufnehmen von Unterbrechungspunktdaten ausgeführt.
  • Mit dem Beenden des Dateistatus-Gewinnungsvorganges gemäß 19 führt der Unterbrechungspunktnahme-Aufruf Schritt S69 gemäß 17 aus, mit dem die Unterbrechungspunktnahme-Aufrufgruppe beendet oder wieder aufgenommen wird. Falls beispielsweise der Unterbrechungspunkt mit der Beendigung eines Arbeitstages aufgenommen wurde, wird die Ausführung an diesem Punkt beendet. Falls andererseits eine fortlaufende Ausführung benötigt ist, wird die Ausführung wieder aufgenommen.
  • Der Stamm- und Tochteraufruf wird im einzelnen beschrieben. Im allgemeinen werden sie für das gleichzeitige Bearbeiten von zwei oder mehr Verfahren verwendet. Wenn beispielsweise zwei Verfahren gleichzeitig ausgeführt werden, erzeugt der Stammaufruf einen Tochteraufruf, so daß einer der Vorgänge ausgeführt wird. Auf diese Weise kann ein Programm zum Ausführen eines Vorganges A und ein Programm zum Ausführen eines Vorganges B gleichzeitig als getrennte Aufrufe ausgeführt werden.
  • Zum gleichzeitigen Ausführen des Vorganges A und des Vorganges B erzeugt der Stammaufruf einen Tochteraufruf. Der Tochteraufruf führt den Vorgang A und der Stammaufruf führt den Vorgang B nach Erzeugung des Unteraufrufes aus. Somit können der Vorgang A und der Vorgang B gleichzeitig ausgeführt werden, wobei die Ausführungseffizienz erhöht ist.
  • UNIX ist um einiges umständlicher in der Art, einen Aufruf zu aktivieren. D. h. die Verfahrensaufnahme zur Aufrufaktivierung ist in UNIX in eine erste Funktion zum Erzeugen desselben Aufrufs (Tochteraufruf) als Stammaufruf und in eine zweite Funktion für den Tochteraufruf aufgeteilt, um diesen selbst durch ein Programm A als Eigenverfahren zu ersetzen. Das bedeutet, daß ein Programm zum Ausführen eines anderen Vorganges (A) nicht direkt als Tochteraufruf erzeugbar ist. Zum Erzeugen von Aufrufen kann nur das Verfahren zum Erzeugen desselben Aufrufes als Stammaufruf verwendet werden. Auf diese Weise ist es notwendig, zuerst denselben Tochteraufruf als Stammaufruf zu erzeugen und dann anzufordern, den erzeugten Aufruf selber mit dem Programm A für seine Ausführung zu ersetzen.
  • 20, 21 und 22 stellen das Aufrufaktivierungsverfahren gemäß UNIX dar. 20 zeigt zwei Programme, die zum Ausführen eines Verfahrens A mittels des Tochteraufrufs gebildet sind. Das bedeutet, daß zwei Programme 79 und 80 sind erzeugt. Im Programm 79 ist ein Tochteraufruf erzeugt und als eine Überprüfung des Erzeugungsergebnisses des Tochteraufrufes erfolgt eine Entscheidung, ob der erzeugte Aufruf der Stammaufruf oder der Tochteraurfuf ist. Wenn die Entscheidung auf den Tochteraufruf gefallen ist, wird er durch ein Programm zum Ausführen des Vorganges A ersetzt und das Programm wird dann ausgeführt. Falls die Entscheidung auf den Stammaufruf erfolgt, wird der Stammaufruf ausgeführt. Das Programm 80 führt den Vorgang A aus.
  • 21 zeigt eine Darstellung für die Verwendung zum Erläutern des Zustandes zum Ausführungszeitpunkt der Stamm- und Tochteraufrufe. Dasselbe Programm wie das Stammprogramm wird als Tochteraufruf 82 durch einen Systemaufruf "fork" vom Stammaufruf 81 erzeugt. Unmittelbar nach der Erzeugung des Tochteraufrufs bestehen innerhalb eines getrennten virtuellen Raumes zwei identische Programme.
  • Seitens der Stamm- und Tochteraufrufe sind die beiden Aufrufe am Punkt (1) einander exakt identisch. Beide Programme werden mittels des Befehls (2) zur Ausführung gebracht. Die Programme werden unabhängig voneinander gleichzeitig ausgeführt.
  • Seitens des Stammaufrufes wird bei (2) entschieden, daß der Aufruf der Stammaufruf ist. Somit wird der Vorgang (3) nicht ausgeführt und der Vorgang (4) wird stattdessen ausgeführt. Das bedeutet, daß der Vorgang als Stammaufruf ausgeführt wird. Seitens des Tochteraufrufes wird andererseits bei (2) entschieden, daß der Aufruf der Tochteraufruf ist. Als Ergebnis wird der Vorgang (3) ausgeführt. Das bedeutet, daß der Tochteraufruf sich selbst durch das Programm für den Vorgang A ersetzt wird und dann das Programm ausführt. Der Vorgang (4) wird nicht ausgeführt.
  • 22 zeigt den Zustand, an dem der Tochteraufruf 82 selbst durch das Programm des Vorganges A ersetzt und ausgeführt wird.
  • Das Neustartverfahren wird unter Bezugnahme auf 23 beschrieben. Im Schritt S85 wird das zum Neustarten aus der Aufrufgruppe identifizierte und die Handhabungsinformation an dem Punkt, an dem der Unterbrechungspunkt genommen wurde, erhalten, um die Bereitschaft für einen Neustart zu erhalten. Im Schritt S86 wird der Inhalt der mittels der Unterbrechungspunktnahme-Aufrufgruppe geöffneten Dateien wiedergewonnen. Der Zugriffsstatus der Dateien wird im Schritt S93, der später beschrieben wird, wiedergewonnen.
  • Im nachfolgenden Schritt S87 erfolgt der Gebrauch einer ID-bestimmten Aufruferzeugungshilfsfunktion "nidfork" (Systemaufruf) zum Erzeugen des Stammaufrufes für die Unterbrechungspunktnahme-Aufrufgruppe. Hierbei ist die ID-bestimmte Aufruferzeugungshilfsfunktions im Vergleich zur üblichen Aufruferzeugungshilfsmnktion (folk) erzeugt. Die "folk"-Funktion führt die Bestimmung neuer Aufrufbezeichnungen durch, während die "pidfolk"-Funktion Aufrufe gegebener Bezeichnungen erzeugt. Wenn die Aufrufe mit derselben Bezeichnung im Betrieb sind, wird ein Aufruf beim Beenden solcher Aufrufe erzeugt.
  • Der Grund, weshalb das vorliegende Ausführungsbeispiel mit dem ID-bestimmten Aufruferzeugungs-Systemaufruf "pidfolk" versehen ist, wird nachfolgend beschrieben. Der übliche Systemaufruf "folk" bestimmt automatisch einen Aufruf-ID bzw. Aufruf-Identität für einen Aufruf, wenn er durch das Betriebssystem erzeugt ist. Das kann dazu führen, daß die Aufruf-ID eines Unterbrechungspunktnahme- und Neustartaufrufes von dem eines Punktes abweicht, bei dem ein Unterbrechungspunkt genommen ist. Falls dann, wenn der Unterbrechungspunktnahme- und Neustartaufruf ein Verfahren durchführt, das sich auf seine eigene Aufruf-ID bezieht, verändert sich die Aufruf-ID nach dem Ausführen des Unterbrechungspunkt- und Neustartverfahrens, wodurch die Möglichkeit besteht, daß der Unterbrechungspunktnahme-Neustartaufruf unnormal arbeitet. Der Systemaufruf "pidfolk" umgeht diese Möglichkeit.
  • Im Schritt S88 erfolgt als nächstes eine Entscheidung darüber, ob der ausgeführte Aufruf der in dem Schritt S87 erzeugte Stammaufruf ist oder nicht. Falls es nicht der Stammaufruf ist, geht das Verfahren weiter zum Schritt S95. Falls er andererseits der Stammaufruf ist geht der Vorgang weiter zum Schritt S89.
  • Falls im Schritt S88 die Antwort "Ja" ist, erfolgt im Schritt S89 eine Entscheidung, ob der erzeugte Stammaufruf einen Tochteraufruf aufweist oder nicht. Falls er einen aufweist, wird dieser im Schritt S90 unter Verwendung der ID-bestimmten Aufruferzeugungshilfsfunktion (pidfolk) erzeugt. Im Schritt S91 erfolgt eine Entscheidung ob dieser Aufruf, d. h. der durchgeführte Aufruf, der im Schritt S90 erzeugte Aufruf ist oder nicht. Falls die Entscheidung "ja" ist, kehrt der Vorgang zum Schritt S89 zurück. In diesem Fall erfolgt eine Entscheidung im Schritt S89 darüber, ob der im Schritt S90 erzeugte Tochteraufruf einen Tochteraufruf aufweist oder nicht, das bedeutet, der im Schritt S87 erzeugte Stammaufruf hat einen von seinem Tochteraufruf abstammenden Aufruf.
  • Falls die im Schritt S91 erfolgte Entscheidung "Nein" ist, erfolgt im Schritt S92 eine Entscheidung, ob der Aufruf einen nicht erzeugten Tochteraufruf aufweist oder nicht. In der ersten Schleife erfolgt eine Entscheidung, ob der im Schritt S87 erzeugte Stammaufruf einen weiteren Tochteraufruf aufweist oder nicht. Falls die Entscheidung "Ja" ist, kehrt der Vorgang zum Schritt S90 zurück.
  • Falls andererseits im Schritt S92 ein nicht erzeugter Tochteraufruf vorhanden ist oder falls im Schritt S89 kein Tochteraufruf vorhanden ist, geht der Vorgang zu den Schritten S93 und S94 weiter. Im Schritt S93 werden der Zugriffsstatus einer durch den Aufruf geöffneten Datei, der Aufrufstatus (OS-Handhabungsinformation) und die Ausführungsberechtigung des Aufrufes wiedergewonnen. Im Schritt S94 ersetzt die Mitten-Ausführungswiedergewinnungshilfsfunktion ("restore"; Systemaufruf) des Benutzerraumprogrammes den virtuellen Raum des Aufrufs durch den Inhalt eines Aufrufs. Das ersetzte Programm wird in den angehaltenen Zustand versetzt und ein den angehaltenen Zustand anzeigendes Signal wird ausgesendet.
  • Hierbei ist das Benutzerraumprogramm Mitten-Ausführungswiedergewinnungshilfsfunktion" ("restore") ein Systemaufruf, der unter Bezugnahme auf die übliche Hilfsfunktion (exec) zum Laden eines Programmes in den virtuellen Raum erzeugt wird und dieses ausführt. Die Hilfsfunktion "exec" lädt Befehlsteile eines Programmes und Anfangsdaten in den virtuellen Raum und führt dann das Programm von Anfang an aus. In der Hilfsfunktion "restore" werden andererseits an einem Unterbrechungspunkt gesicherte Befehle und Daten in den virtuellen Raum gelesen, wobei ein Programm in den angehaltenen Zustand versetzt wird und dann wird ein Signal zum Anzeigen des angehaltenen Zustandes ausgesendet, wodurch die Ausführung beendet wird.
  • Die Schritte S93 und S94 werden für jeden der Stamm- und Tochteraufrufe erzeugt. Das bedeutet, sie werden mit der Anzahl gleich der neu zu startenden Aufrufe in der Aufrufgruppe ausgeführt.
  • Wenn die Entscheidung im Schritt S88 "Nein" ist, wird der Schritt S95 nach den zuvor beschriebenen Neustartaufrufen ausgeführt. Im Schritt S95 werden die Zustände der nicht wiedergewonnenen Aufrufe und Dateien wiedergewonnen, nachdem auf alle Aufrufe aus der Gruppe der neu zu startenden Aufrufe gewartet wurde, die in den angehaltenen Zustand versetzt sind, das bedeutet, daß Schritt S94 für alle Aufrufe ausgeführt wurde. Die Zustände der nicht wiedergewonnenen Aufrufe enthält beispielsweise den Inhalt von Vektorregistern und "close an exec"-Marken. Daß der Inhalt der Vektorregister nicht wiedergewonnen verbleibt, ist ein mit dem Verdichten verbundenes Problem und nicht ein grundsätzliches Problem. Die "close an exec"-Marke ist eine Marke die gesetzt ist, wenn eine Dateibezeichnung bestimmt ist, um das System aufzufordern, die entsprechende Datei am Ausführungszeitpunkt "exec"-Hilfsfunktion zu schließen. Der Grund weshalb diese Marke nicht wiedergewonnen verbleibt ist der, daß die Wiedergewinnungshilfsfunktion im Schritt S94 dazu bestimmt ist, so ähnlich wie möglich der bekannten "exec"-Hilfsfunktion sein. Ihre Beschreibung ist jedoch erhalten.
  • Im Schritt S95 ist die Ausführung der Gruppe der neu zu startenden Aufrufe im wesentlichen wieder aufgenommen. Mit dem Beenden der Ausführung des Stammaufrufes in der Gruppe der neu zu startenden Aufrufe gelangt die Ausführung zum Ende.
  • Zuvor ist ein Ausführungsbeispiel des Dateiname-Erfassungsverfahrens beschrieben, wie es dem Unterbrechungspunkt- und Neustartverfahren zugeführt wird. In einem UNIX-ähnlichen Betriebssystem weist jede Datei ein Attribut auf. Somit ist es notwendig anzugeben, wie jede Datei am Unterbrechungspunkt- und Neustartzeitpunkt gemäß eines individuellen Programmes zu behandeln ist. Die Dateibehandlung kann beim Start der Programmausführung oder am Unterbrechungspunkt bestimmt sein. Das einfachste Verfahren für den Benutzer ist jedoch, wenn der einen Unterbrechungspunkt anfordernde Benutzer eine Dateibehandlung für jeden Dateinamen bestimmt.
  • Zum Einführen dieses Verfahrens ist es notwendig, die Namen der einzelnen mittels eines auszuführenden Programmes geöffneten Dateien zu wissen. Das bekannte UNIX weist jedoch kein Verfahren zum Kennen von Dateinamen auf. Die Erfindung läßt die Erfassung von Dateinamen basierend auf Dateibezeichnungen zu. Somit kann der Name einer geöffneten Datei mittels der von einem Benutzer bestimmten Datei überprüft werden, die es dem Benutzer erlaubt, zu bestimmen, wie jede Datei am Unterbrechungspunkt- und Neustartzeitpunkt gesichert und wiederzugewinnen ist.
  • Das bedeutet, da es für den Benutzer zulässig ist zu bestimmen, wie eine einzelne Datei zu behandeln ist, wenn die Unterbrechungspunktnahme angefordert ist, kann der Benutzer bestimmen, wie jede Datei entsprechend der Systemumgebung am Punkt an dem der Unterbrechungspunkt genommen wurde, zu behandeln ist. Im Vergleich zum Bekannten, bei dem zu Beginn der Programmausführung bestimmt ist wie eine einzelne Datei am Unterbrechungspunkt zu behandeln ist, erzielt man aus diesem Grund eine flexiblere Systemeinführung und Effektivität, insbesondere beim Ausführen längerer Programmläufe.
  • Da auf der Basis ihrer jeweiligen Namen, unbeachtet ihrer Attribute, bestimmbar ist, wie einzelne geöffnete Dateien zu behandeln sind, ist zusätzlich eine Systemverwirklichung mit höherer Flexibilität gemäß der Programmlaufausfihrungsbedingungen erzielt. Bei bekannten Verfahren, bei denen Behandlungen einzelner Dateien einheitlich durch ihre jeweiligen Attribute bestimmt sind, können die Dateibehandlungen nicht an die jeweiligen Betriebsbedingungen eines Programmlaufes angepaßt werden.
  • Da es für den Benutzer weiterhin zulässig ist die Anforderung von Unterbrechungspunkten unter Verwendung von CPR-Dateien anzugeben, in denen zuvor Dateibehandlungen abgespeichert sind, kann die Anforderung des Unterbrechungspunktes mittels eines kurzen Befehles verwirklicht werden, ohne Berücksichtigung der Anzahl der zu bestimmenden Dateien.
  • In der Beschreibung bekannter Verfahren in dieser Anmeldung wurden die drei Probleme bezüglich des Unterbrechungspunkt- und Neustartverfahrens beschrieben. Die Erfindung löst dieses erste Problem. Das bedeutet, man kann auf einfache Weise das Unterbrechungspunktsystem und das Neustartsystem ändern. Insbesondere speichert die Erfindung an einem Unterbrechungspunkt den vollständigen Pfadnamen von Dateien als Dateihandhabungsinformation und die Zugriffsposition auf die Dateien als weitere Handhabungsinformation ab, öffnet dann zum Wiedergewinnungszeitpunkt die Dateien unter Verwendung ihres vollständigen Pfadnamens und winnt den Zugriffszustand auf die Dateien unter Verwendung der anderen Handhabungsinformationen wieder. Bei der Nachfrage zum Öffnen der Datein ohne die Verwendung von Dateivorrichtungen und i-Knotennummem, stellt das Betriebssystem die Vorrichtungs- und i-Knotennummern der Dateien in geeigneter Weise ein. Es ist daher einfach, das Unterbrechungspunktsystem und Neustartsystem getrennt einzuführen.
  • Das zweite Problem, daß temporäre Dateien manchmal nicht gesichert und gut wiedergewonnen werden können, ist gelöst, da es möglich ist, anzugeben, wie eine einzelne Datei gesichert und wiedergewonnen werden kann, einschließlich ob der Name jeder Datei wiederzugewinnen ist. Auch wenn temporäre Dateien einschließlich ihrer Namen zu sichern und wiederzugewinnen sind, wird das zweite Probleme durch den zuvor beschriebenen "save and restore"-Modus gelöst.
  • Bezüglich des dritten Problèmes, daß das Kernprogramm des Betriebssystem in seinem Umfang vergrößert werden muß, um ein Neustartprogramm einzuführen, führt man einfach fünf unabhängige Systemaufrufe als zusätzliche Hilfsfunktionen zum Kernprogramm ein und beseitigt die Notwendigkeit, das Neustartprogramm in dem Betriebssystem zu installieren. Aus diesem Grunde kann die Erhöhung des Umfangs des Betriebssystems minimiert werden.
  • Der erste Systemaufruf ist eine Erweiterung zum bestehenden Systemaufruf "open", die wie in Verbindung mit 7 beschrieben, durch hinzuführen der verzeichnisorientierten Datei-Handhabungstabelle 28 und Hinzufügen einer 5 Hilfsfunktion zum Speichern eines Zeigers auf die verzeichnisorientierte Datei-Handhabungstabelle 28 in der Dateiaufruf-Handhabungskorrespondenztabelle 5 zum üblichen "open"-Vorgang verwirklicht ist. Der zweite ist der Systemaufruf für das in Verbindung mit 11 beschriebene Verzeichnis-Gewinnungsverfahren. Der dritte Systemaufruf ist der in Verbindung mit 14 beschriebene, zum Kopieren des Inhalts einer Dateibezeichnung-Handhabungstabelle für einen anderen Aufruf. Der vierte Systemaufruf ist "pidfolk" genannt für die ID-bestimmte Aufruferzeugungs-Hilfsfunktion, die in Verbindung mit 23 beschrieben ist. Der fünfte Systemaufruf ist "restore" für die in Verbindung mit 23 beschriebene Mittenausführungs-Wiedergewinnungshilfsfunktion für das Benutzerraum-Hilfsprogramm.
  • Es ist möglich, Dateien einzeln, wie von dem Benutzer bestimmt, zu behandeln. Ergänzende Erläuterungen werden durchgeführt, falls dies notwendig ist. Für die zuvor beschriebenen vier Dateibehandlungs-Bestimmungs-Modi kann der "append"-Modus für eine Protokolldatei verwendet werden, daß ist eine Datei, um beispielsweise eine Programmlaufausführungs-Ablaufinformation aufzuweisen. Das "append" ist eine bereits in UNIX eingebaute Möglichkeit. In Abhängigkeit von der Verwendung üblicher "append"-Hilfsfunktionen, wird das Unterbrechungspunkt- und Neustartverfahren nicht immer gut ausgeführt. Somit ist der "append"-Modus als einer der Dateibehandlungs-Bestimmungsmodi verwendet. Der "save and restore"-Modi ist restore"-Modi ist beim Lösen des Problems wirksam, das mit temporären Dateien, wie zuvor beschrieben, verbunden ist. Der "save and copy"- und "ignore"-Modus sind übliche bestehende Modi.
  • Die Notwendigkeit zum Ändern der Dateibehandlung während der Programmlaufsausführung (vor dem Neustart) wird weiterhin beschrieben.
  • Im allgemeinen ist der "save and copy"- oder "save and restore"-Modus für Dateien bestimmt, die zurückbewegbar sind, d. h. temporäre Dateien. Derartige Dateien können zurückbewegt werden, wenn aus irgendeinem Grund der Vorgang abgebrochen ist. Somit ist es notwendig, einen Unterbrechungspunkt zu nehmen, um den Inhalt der Dateien zu sichern und diese bei einem Neustart zurückzugewinnen. Auch wenn die Möglichkeit besteht, daß Dateien wegbewegbar sind, können sie tatsächlich nicht wegbewegt werden. Dieses Beispiel wird später beschrieben. Wenn keine Dateien wegbewegt sind, besteht keine Notwendigkeit, den gespeicherten Inhalt für die Wiedergewinnung zu verwenden und es ist ausreichend, vorhandene Dateien in dem System zu verwenden, wie diese vorliegen. Das bedeutet, daß der Wechsel vom "save and restore"-Modus zum "ignore"-Modus es zuläßt, den Wiedergewinnungsvorgang auszulassen.
  • Dateien, die tatsächlich unbeachtet der Möglichkeit zum Wegbewegen nicht wegbewegbar sind, beinhalten zum Beispiel temporäre Dateien mit Namen. Es ist hier angenommen, daß das System so eingerichtet ist, daß eine Systembedienperson derartige temporäre Dateien mit Namen beim Systemstart an jedem Morgen wegbewegt. In diesem Fall benötigt ein Programm, das mehrere Tage zur Ausführung benötigt, daß Unterbrechungspunktdaten ermittelt werden, bevor das System an jedem Tag abends abgeschaltet wird, und um am nächsten Morgen einen Neustart durchzuführen. Wenn die Systembedienperson jedoch temporäre Dateien mit Namen nicht wegbewegt, wären sie am nächsten Tag verfügbar und wenn weiterhin sich herausstellt, daß als Ergebnis des Ermitteln von Unterbrechungspunktdaten die Menge der temporären Dateien groß war, kann eine Aufforderung an die Systembedienperson erfolgen, temporäre Dateien mit Namen an diesem Tag nicht weg zu bewegen, was verhindern würden, das "save and restore"-Verfahren unbenötigt durchzuführen.
  • In dem zuvor beschriebenen Ausführungsbeispiel werden die bestimmenden Dateibehandlungen zum Sichern und Neustarten zum Zeitpunkt des Unterbrechungspunktes genommen. Es ist ebenfalls möglich, zum Zeitpunkt des Neustartes weiterehin die Behandlung einer jeden Datei zu ändern, was zum Zeitpunkt, an dem der Unterbrechungspunkt genommen wurde, bestimmt ist. Diese Änderung kann mit einem bestehenden Befehl, d. h. einem Bearbeitungsbefehl, ausgeführt werden.
  • Im allgemeinen wird ein Teil der Information, die von einem Unterbrechungspunktname-Aufruf benötigt ist, in eine bestimmte Datei ausgegeben, die Strukturdatei genannt ist und die benutzerbezogene/änderbare Form (Textform) aufweist.
  • Das Ergebnis der Ausgabe sehend, kann der Benutzer die Dateibehandlungen durch die Verwendung des Bearbeitungsbefehls eigenverantwortlich ändern. An die Strukturdatei sind die Namen der geöffneten Dateien, Information über einen bestimmten Datei-"save and restore"-Modus, wie "append" oder "save and copy" Informationen über Zugriffszulassung, wie "read-only" oder "write-only", usw. ausgegeben.
  • Wie zuvor beschrieben läßt die Erfindung zu, daß Programme, innerhalb oder außerhalb eines Aufrufs, die Namen von Dateien, die Dateibezeichnungen entsprechen, zu erfassen. Als Ergebnis sind der Aufrufstatus-Anzeigevorgang und die Erfassung des Namens der geöffneten Dateien im Unterbrechungspunkt- und Neustartvorgang zugelassen, die weitgehend zu einer Verbesserung der Handhabbarkeit eines Betriebssystems führen, das ein hierarchisch aufgebautes Dateisystem aufweist.

Claims (3)

  1. Dateiname- und Verzeichnis-Erfassungsverfahren für den Gebrauch in einem Betriebssystem eines Computersystems zum Handhaben eines Dateisystems, das eine hierarchische Struktur, wobei in jedem Verzeichnis eine i-Knotennummer nur maximal einmal vorhanden ist, aufweist, die von einem Basisknoten über Zwischenknoten zu jeder der Dateien führt, die als Endknoten dienen, mit folgenden Schritten: – Durchsuchen des Dateisystems nach einer Datei mit dem angegebenen Namen und nach einem Verzeichnis, das direkt auf diese Datei zeigt, – Erhalten einer Vorrichtungsnummer und einer i-Knotennummer dieser Datei, – Bilden einer Dateihandhabungstabelle (4) und einer verzeichnisorientierten Handhabungstabelle (28) entsprechend für die Datei und das Verzeichnis, danach Speichern der entsprechenden Vorrichtungs- und i-Knotennummern in jeder dieser Tabellen, – Bilden einer Dateiaufruf-Handhabungs-Korrespondenztabelle (5), Speichern der Zeiger auf die Datei-Handhabungstabelle (4) und die verzeichnisorientierte Handhabungstabelle (28) – Hinzufügen eines Zugangs zu einer Dateibezeichnungs-Handhabungstabelle (7) in einer Aufruf-Handhabungstabelle (6), – Speichern eines Zeigers auf die Dateiaufruf-Handhabungs-Korrespondenztabelle (5) in der Dateibezeichnungs-Handhabungstabelle (7), – Informieren eines Anwendungsprogramms (8) über eine Zugangsnummer des hinzugefügten Zugangs zu der Dateibezeichnungs-Handhabungstabelle (7) als eine Dateibezeichnung, womit der Dateiöffnungsvorgang beendet ist und – Löschen nicht mehr benötigter temporärer Dateien nach der Programmausführung.
  2. Erfassungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeder der Zwischenknoten ein Verzeichnis aufweist, und die Verzeichnisse Zeiger aufweisen, die aufeinander zeigen und dass die Dateien, die als Endknoten dienen, Zeiger aufweisen, die allein von der Seite des direkt vorstehenden Verzeichnisses gesetzt sind.
  3. Erfassungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Dateibezeichnung für ein Verzeichnis als der der Datei vorstehende Zwischenknoten dem Aufruf überreicht wird.
DE4435751A 1993-10-08 1994-10-06 Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem Expired - Fee Related DE4435751B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP25349593A JP3270216B2 (ja) 1993-10-08 1993-10-08 ファイル名検出方式
JP05-253495 1993-10-08
DE4448038 1994-10-06

Publications (2)

Publication Number Publication Date
DE4435751A1 DE4435751A1 (de) 1995-05-04
DE4435751B4 true DE4435751B4 (de) 2009-05-07

Family

ID=17252176

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4435751A Expired - Fee Related DE4435751B4 (de) 1993-10-08 1994-10-06 Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem

Country Status (4)

Country Link
US (1) US5603020A (de)
JP (1) JP3270216B2 (de)
AU (1) AU685476B2 (de)
DE (1) DE4435751B4 (de)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2715486B1 (fr) * 1994-01-21 1996-03-29 Alain Nicolas Piaton Procédé de comparaison de fichiers informatiques.
DE19520030C1 (de) * 1995-05-31 1996-05-15 Siemens Ag Verfahren zur Aktualisierung der Programmstruktur einer modularen Kommunikationsanlage
JPH0934765A (ja) * 1995-07-20 1997-02-07 Fuji Xerox Co Ltd ファイル管理装置
US5870757A (en) * 1995-09-11 1999-02-09 Sun Microsystems, Inc. Single transaction technique for a journaling file system of a computer operating system
JP3120033B2 (ja) * 1996-03-19 2000-12-25 株式会社東芝 分散メモリ型マルチプロセッサシステム及び故障回復方法
US6173291B1 (en) 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
US7107591B1 (en) * 1998-11-05 2006-09-12 Hewlett-Packard Development Company, L.P. Task-specific flexible binding in a software system
US7296060B2 (en) * 1998-12-24 2007-11-13 Intel Corporation System and method for automatically identifying and attaching related documents
JP2000250667A (ja) * 1999-02-26 2000-09-14 Nec Corp システム処理機能を提供するサスペンド・レジューム方法
JP3440991B2 (ja) * 1999-03-05 2003-08-25 日本電気株式会社 ファイルリビジョン管理システム
US6374265B1 (en) * 1999-03-29 2002-04-16 Inventec Corp. Method for backup and recovery of the long filename in computer system
US6754680B1 (en) * 1999-05-20 2004-06-22 Matsushita Electric Industrial Co., Ltd. Data control equipment, method to control data and recording medium to record data control procedure
US6976258B1 (en) 1999-11-30 2005-12-13 Ensim Corporation Providing quality of service guarantees to virtual hosts
US6711607B1 (en) 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US6529985B1 (en) 2000-02-04 2003-03-04 Ensim Corporation Selective interception of system calls
US6560613B1 (en) * 2000-02-08 2003-05-06 Ensim Corporation Disambiguating file descriptors
US6754716B1 (en) 2000-02-11 2004-06-22 Ensim Corporation Restricting communication between network devices on a common network
US7343421B1 (en) * 2000-02-14 2008-03-11 Digital Asset Enterprises Llc Restricting communication of selected processes to a set of specific network addresses
US6948003B1 (en) 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6907421B1 (en) 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
JP2001331321A (ja) * 2000-05-22 2001-11-30 Canon Inc 情報処理装置、情報処理方法、情報処理システム、及び媒体
US7143024B1 (en) 2000-07-07 2006-11-28 Ensim Corporation Associating identifiers with virtual processes
US7117354B1 (en) * 2000-07-20 2006-10-03 International Business Machines Corporation Method and apparatus for allowing restarted programs to use old process identification
US6909691B1 (en) 2000-08-07 2005-06-21 Ensim Corporation Fairly partitioning resources while limiting the maximum fair share
US6732211B1 (en) 2000-09-18 2004-05-04 Ensim Corporation Intercepting I/O multiplexing operations involving cross-domain file descriptor sets
US7219354B1 (en) 2000-12-22 2007-05-15 Ensim Corporation Virtualizing super-user privileges for multiple virtual processes
US6618736B1 (en) 2001-03-09 2003-09-09 Ensim Corporation Template-based creation and archival of file systems
US7406432B1 (en) * 2001-06-13 2008-07-29 Ricoh Company, Ltd. Project management over a network with automated task schedule update
US7191141B2 (en) * 2001-06-13 2007-03-13 Ricoh Company, Ltd. Automated management of development project files over a network
EP1300757A1 (de) * 2001-10-02 2003-04-09 Sun Microsystems, Inc. Gemeinsam benutzbare Installationshierarchien
US7171652B2 (en) * 2002-12-06 2007-01-30 Ricoh Company, Ltd. Software development environment with design specification verification tool
US7512790B2 (en) * 2003-04-17 2009-03-31 International Business Machines Corporation Method, system and article of manufacture for management of co-requisite files in a data processing system using extended file attributes
US7308675B2 (en) * 2003-08-28 2007-12-11 Ricoh Company, Ltd. Data structure used for directory structure navigation in a skeleton code creation tool
US7237224B1 (en) * 2003-08-28 2007-06-26 Ricoh Company Ltd. Data structure used for skeleton function of a class in a skeleton code creation tool
US20050076005A1 (en) * 2003-09-15 2005-04-07 International Business Machines Corporation Method and apparatus to associate data files with tasks or events
GB0408868D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd Checking data integrity
US7213103B2 (en) * 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
JP4557650B2 (ja) * 2004-09-13 2010-10-06 キヤノン株式会社 通信システム並びに通信装置及びその制御方法
EP3217285B1 (de) * 2005-03-10 2021-04-28 Xilinx, Inc. Datenübertragung
GB0506403D0 (en) 2005-03-30 2005-05-04 Level 5 Networks Ltd Routing tables
GB0505300D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Transmitting data
US7523146B2 (en) * 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) * 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
GB0600417D0 (en) 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US7797670B2 (en) * 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US8050953B2 (en) * 2006-06-07 2011-11-01 Ricoh Company, Ltd. Use of a database in a network-based project schedule management system
US8799043B2 (en) * 2006-06-07 2014-08-05 Ricoh Company, Ltd. Consolidation of member schedules with a project schedule in a network-based management system
US20070288288A1 (en) * 2006-06-07 2007-12-13 Tetsuro Motoyama Use of schedule editors in a network-based project schedule management system
US20080016077A1 (en) * 2006-07-11 2008-01-17 International Business Machines Corporation A system for ensuring that only one computer application maintains edit or delete access to a file at all times
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US8131579B2 (en) * 2007-07-09 2012-03-06 Raytheon Company Web-based system and application for collaborative planning of a networked program schedule
US20090265780A1 (en) * 2008-04-21 2009-10-22 Varonis Systems Inc. Access event collection
US8473949B2 (en) 2010-07-08 2013-06-25 Microsoft Corporation Methods for supporting users with task continuity and completion across devices and time
US10116077B1 (en) * 2016-09-28 2018-10-30 Engineered Energy Products, LLC Kit having a tube surrounding an end portion of a tracer wire and a conductive end cap engaging the tube and the wire

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63100562A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd フアイルシステム管理方式
JPS6410353A (en) * 1987-07-03 1989-01-13 Hitachi Ltd Computer file system
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
JPH0385644A (ja) * 1989-08-30 1991-04-10 Nec Corp チェックポイント取得リスタート方式
US5367671A (en) * 1990-09-25 1994-11-22 International Business Machines Corp. System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
JPH04260945A (ja) * 1991-01-11 1992-09-16 Mitsubishi Electric Corp ファイル・アクセス装置及びファイル・アクセス方法
US5325526A (en) * 1992-05-12 1994-06-28 Intel Corporation Task scheduling in a multicomputer system
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure
CA2110243C (en) * 1992-12-31 1998-08-11 Philip Steven Winterbottom Apparatus and methods for making a portion of a first name space available as a portion of a second name space

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
COMER,Douglas: "Operating System Design: The XINU Approach", Prentice-Hall Software Series, ISBN: 0-13-637539-1, 1984 by Bell Telephone Laboratories, Inc., Beginn von Kapitel 18: "File Systems", S.305-321 *
FLOYD,R.A., ELLIS,C.S.: Directory Reference Patterns in Hierorchical File Systems. In: IEEE Knowledge and Data Engineering, Vol.1 (2), 1989, S.238-247 *
KERNIGHAN,B.W.: Programmieren in C; Hauser, 1983, ISBN 3-446- 13878-1, Kapitel 8, Seiten 173-187 *
MCKUSICK,Marshall K., JOY,William N., LEFFLER, Sam uel J.: A Fast File System for UNIX, ACM Transacti ons on Computer Systems, Vol.2 No.3, 1984, S.181-1 97; ROSENBLUM,Medel, OUSTERHOUT,John K.: The Desig n and Implementation of a Log-Structured File Syst ems (TOCS), Vol.10, Issue 1, S.26-52, ISSN: 0734-2 071; COMER,Douglas: "Operating System Design: The XINU Approach", Prentice-Hall Software Series, ISB N: 0-13-637539-1, 1984 by Bell Telephone Laborator ies, Inc., Beginn von Kapitel 18: "File Systems", S.305-321; KERNIGHAN,B.W.: Programmieren in C; Hau ser, 1983, ISBN 3-446-13878-1, Kapitel 8, Seiten 1 73-187; FLOYD,R.A., ELLIS,C.S.: Directory Referenc e Patterns in Hierorchical File Systems. In: IEEE Knowledge and Data Engineering, Vol.1 (2), 1989, S .238-247
MCKUSICK,Marshall K., JOY,William N., LEFFLER, Samuel J.: A Fast File System for UNIX, ACM Transactions on Computer Systems, Vol.2 No.3, 1984, S.181-197 *
ROSENBLUM,Medel, OUSTERHOUT,John K.: The Design and Implementation of a Log-Structured File Systems (TOCS), Vol.10, Issue 1, S.26-52, ISSN: 0734-2071 *

Also Published As

Publication number Publication date
JP3270216B2 (ja) 2002-04-02
AU7162294A (en) 1995-04-27
JPH07105064A (ja) 1995-04-21
US5603020A (en) 1997-02-11
DE4435751A1 (de) 1995-05-04
AU685476B2 (en) 1998-01-22

Similar Documents

Publication Publication Date Title
DE4435751B4 (de) Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem
DE102008015662B4 (de) Beseitigung von Daten
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE69838756T2 (de) Die verarbeitung von eingabe/ausgabeanforderungen von mehreren treibern ermöglichen dateisystem-primitivroutine in einem mehrschicht-treiber-e/a-system
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE60025488T2 (de) Vorrichtung und verfahren zur allgemeinen koordination und verwaltung von mehrfachen schnappschussanbietern
DE69731998T2 (de) Informationsverarbeitungsvorrichtung und Verfahren
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE69938547T2 (de) Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE60318477T2 (de) Vorrichtung zur dateiaktualisierung
DE69738101T2 (de) Verwaltung des Zugangs zu Objekten mit Hilfe von Referenzen mit drei Zuständen
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE10000124A1 (de) Verfahren zum Übertragen und Indexieren von Daten von alten Medien zu neuen Medien
DE10225664A1 (de) System und Verfahren zum Prüfen von Systemabrufereignissen mit Systemabrufumhüllungen
DE10112941A1 (de) System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien
DE69907709T2 (de) Prozessüberwachung in einem rechnersystem
DE10211606A1 (de) Datenverarbeitungseinrichtung
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE19926116A1 (de) Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE602005004872T2 (de) Verfahren und computerlesbarer Datenträger zum Überprüfen und Speichern eines elektronischen Dokuments

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8172 Supplementary division/partition in:

Ref document number: 4448038

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 4448038

Country of ref document: DE

Kind code of ref document: P

AH Division in

Ref document number: 4448038

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120501